FLOW ALGEBRA
User Experience Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/human-computer-interaction/user-experience-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "UserExperienceOntology" v4.0
# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := HumanComputerInteraction
ONTOLOGY := UserExperienceOntology
# ---------- PRIMARY ENTITY ----------
ENTITY UserExperience {
definition:
"The perceptions, responses, emotions, judgements and outcomes that
arise before, during and after a person's interaction with a product,
service, interface or computational system.";
objectives: [
Usefulness,
Usability,
Satisfaction,
Accessibility,
Trust,
Engagement,
Value
];
}
# ---------- CORE ENTITIES ----------
UXEntity := {
User,
Product,
Service,
Interface,
Interaction,
Task,
Context,
Touchpoint
};
UXProperty := {
Usefulness,
Usability,
Satisfaction,
Trust,
Engagement,
Learnability,
Accessibility,
PerceivedValue
};
UserResponse := {
Perception,
Emotion,
Attitude,
Behaviour,
Satisfaction,
Frustration,
Confidence
};
ExperienceStage := {
AnticipatedExperience,
InteractionExperience,
ReflectiveExperience
};
# ---------- FUNDAMENTAL RELATIONSHIPS ----------
User EXPERIENCES ProductOrService;
User INTERACTS_WITH Interface;
Interaction OCCURS_IN Context;
Touchpoint CONTRIBUTES_TO UserExperience;
UserExperience INFLUENCED_BY UXProperty;
UserResponse RESULTS_FROM InteractionAndExpectation;
TaskOutcome AFFECTS Satisfaction;
# ---------- EXPERIENCE FLOW ----------
UserNeed ->
FormExpectation
-> EncounterTouchpoint
-> Interact
-> PerceiveSystemResponse
-> EvaluateOutcome
-> FormEmotionalAndCognitiveResponse
-> UpdateOverallExperience;
# ---------- USER ----------
User :=
HumanParticipantWithNeedsGoalsAndExpectations;
User HAS {
Need,
Goal,
Ability,
Experience,
Preference,
Expectation
};
DifferentUsers MAY_HAVE DifferentExperienceOfSameSystem;
# ---------- USER NEED ----------
UserNeed :=
RequirementOrDesiredBenefitFromProductOrService;
UserNeed MAY_BE {
Functional,
Informational,
Emotional,
AccessibilityRelated
};
ProductValue SHOULD_RELATE_TO UserNeed;
# ---------- EXPECTATION ----------
Expectation :=
UserBeliefAboutFutureExperienceOrOutcome;
Expectation MAY_BE_FORMED_BY {
PriorExperience,
Communication,
Brand,
InterfaceCues,
SocialInformation
};
ExperienceEvaluation MAY_COMPARE Outcome WITH Expectation;
# ---------- TOUCHPOINT ----------
Touchpoint :=
PointOfInteractionBetweenUserAndProductOrService;
Touchpoint MAY_INCLUDE {
Website,
Application,
Email,
SupportInteraction,
Notification,
PhysicalDevice
};
Journey CONSISTS_OF Touchpoints;
# ---------- USER JOURNEY ----------
UserJourney :=
ordered_set(
Stage,
Touchpoint,
UserAction,
UserResponse
);
JourneyStage MAY_BE {
Discover,
Evaluate,
Begin,
Use,
Complete,
Return
};
# ---------- TASK EXPERIENCE ----------
Task :=
ActivityPerformedToAchieveGoal;
TaskExperience :=
f(
TaskSuccess,
Effort,
Time,
Errors,
Confidence,
Satisfaction
);
IF TaskFails
THEN ExperienceQuality MAY_DECREASE;
# ---------- USEFULNESS ----------
Usefulness :=
DegreeToWhichSystemHelpsUserAchieveRelevantGoal;
IF SystemEasyToUse
AND DoesNotMeetUserNeed
THEN UsabilityMayBeHigh BUT UsefulnessLow;
# ---------- USABILITY ----------
Usability :=
f(
Effectiveness,
Efficiency,
Satisfaction,
Learnability,
ErrorRate
);
Usability CONTRIBUTES_TO UserExperience;
UserExperience != Usability;
# ---------- SATISFACTION ----------
Satisfaction :=
UserEvaluationOfExperienceRelativeToNeedsAndExpectations;
Satisfaction MAY_BE_INFLUENCED_BY {
Outcome,
Effort,
Reliability,
Aesthetics,
Trust,
Support
};
# ---------- TRUST ----------
Trust :=
UserConfidenceThatSystemWillBehaveReliablyAndAppropriately;
Trust MAY_DEPEND_ON {
Reliability,
Transparency,
Security,
Predictability,
PriorExperience
};
UnexpectedOrMisleadingBehaviour MAY_REDUCE Trust;
# ---------- ENGAGEMENT ----------
Engagement :=
DegreeOfAttentionParticipationOrContinuedInteraction;
Engagement DOES_NOT_ALWAYS_IMPLY PositiveExperience;
Engagement SHOULD_BE_INTERPRETED_WITH UserGoalAndContext;
# ---------- EMOTION ----------
EmotionalResponse MAY_BE {
Positive,
Neutral,
Negative
};
Emotion MAY_AFFECT {
Satisfaction,
MemoryOfExperience,
ContinuedUse
};
# ---------- PERCEIVED VALUE ----------
PerceivedValue :=
UserPerceivedBenefit
relative_to
CostOrEffort;
IF BenefitHigh
AND EffortReasonable
THEN PerceivedValue MAY_INCREASE;
# ---------- EFFORT ----------
UserEffort MAY_INCLUDE {
PhysicalEffort,
CognitiveEffort,
Time,
NumberOfSteps
};
UnnecessaryEffort MAY_DECREASE ExperienceQuality;
# ---------- COGNITIVE LOAD ----------
CognitiveLoad :=
MentalEffortRequiredDuringInteraction;
PoorInformationStructure MAY_INCREASE CognitiveLoad;
ClearDesign MAY_REDUCE ExtraneousCognitiveLoad;
# ---------- ACCESSIBILITY ----------
Accessibility :=
DegreeToWhichPeopleWithDiverseCapabilitiesCanUseProductOrService;
AccessibilityBarrier MAY_NEGATIVELY_AFFECT UserExperience;
InclusiveExperience SHOULD_CONSIDER DiverseUsersAndContexts;
# ---------- AESTHETICS ----------
VisualAesthetics :=
UserPerceptionOfVisualFormAndPresentation;
Aesthetics MAY_INFLUENCE {
InitialImpression,
Satisfaction,
PerceivedQuality
};
Aesthetics SHOULD_NOT_REPLACE UsabilityOrAccessibility;
# ---------- CONSISTENCY ----------
ExperienceConsistency :=
DegreeToWhichRelatedTouchpointsBehaveAndCommunicateCoherently;
Consistency MAY_INCREASE {
Predictability,
Trust,
Learnability
};
# ---------- ERROR EXPERIENCE ----------
ErrorExperience :=
UserResponseToFailureOrProblem;
ErrorRecoveryQuality :=
f(
ErrorClarity,
RecoveryEase,
DataPreservation,
UserControl
);
GoodRecovery MAY_REDUCE NegativeImpactOfError;
# ---------- FEEDBACK ----------
SystemFeedback :=
InformationCommunicatingStateOrOutcome;
TimelyFeedback MAY_INCREASE UserConfidence;
MissingFeedback MAY_CREATE Uncertainty;
# ---------- PERFORMANCE EXPERIENCE ----------
PerceivedPerformance :=
UserPerceptionOfResponsivenessAndSpeed;
ResponseTime AFFECTS PerceivedPerformance;
IF DelayLong
THEN ProgressFeedback MAY_IMPROVE ExperienceUnderstanding;
# ---------- UX RESEARCH ----------
UXResearch :=
StudyUsers
-> CollectEvidence
-> AnalyseNeedsAndBehaviour
-> GenerateInsight;
ResearchMethod MAY_INCLUDE {
Interview,
Observation,
Survey,
UsabilityTest,
DiaryStudy,
Analytics,
FieldStudy
};
# ---------- PERSONA ----------
Persona :=
EvidenceBasedRepresentationOfUserGroup;
Persona MAY_INCLUDE {
Goals,
Behaviours,
Needs,
Constraints
};
Persona SHOULD_BE GroundedInResearch;
# ---------- JOURNEY MAPPING ----------
JourneyMap :=
RepresentationOfUserJourney;
JourneyMap MAY_SHOW {
Stages,
Actions,
Touchpoints,
Needs,
PainPoints,
Emotions
};
# ---------- PAIN POINT ----------
PainPoint :=
RepeatedOrSignificantUserDifficulty;
PainPoint MAY_INDICATE DesignOpportunity;
# ---------- USABILITY TEST ----------
UsabilityTest :=
RepresentativeUser
-> PerformTask
-> Observe
-> Measure
-> IdentifyIssue;
UsabilityEvidence CONTRIBUTES_TO UXEvidence;
# ---------- SURVEY ----------
UXSurvey MAY_MEASURE {
Satisfaction,
PerceivedEase,
Trust,
RecommendationIntent
};
SelfReportedMeasure SHOULD_BE_INTERPRETED_WITH BehaviouralEvidenceWhenPossible;
# ---------- ANALYTICS ----------
BehaviouralAnalytics MAY_INCLUDE {
TaskCompletion,
Abandonment,
NavigationPath,
ErrorFrequency,
ReturnUse
};
Analytics DESCRIBES Behaviour;
Analytics DOES_NOT_DIRECTLY_REVEAL AllUserMotivation;
# ---------- UX METRIC ----------
UXMetric := {
TaskSuccess,
CompletionTime,
ErrorRate,
SatisfactionScore,
Retention,
Abandonment,
SupportDemand
};
Metric SHOULD_BE_CONNECTED_TO UserAndBusinessGoal;
# ---------- DESIGN ITERATION ----------
UXDesignCycle :=
Research
-> DefineProblem
-> GenerateDesign
-> Prototype
-> Evaluate
-> Refine;
Evidence SHOULD_DRIVE Iteration;
# ---------- ETHICS ----------
UXDesign SHOULD_AVOID {
DeceptiveInteraction,
ManipulativeChoiceArchitecture,
HiddenCost,
UnclearConsent
};
EthicalDesign SUPPORTS LongTermTrust;
# ---------- PRIVACY ----------
UserExperience MAY_BE_AFFECTED_BY PrivacyPractice;
PrivacyExperience SHOULD_INCLUDE {
Transparency,
MeaningfulControl,
UnderstandableChoice
};
# ---------- SEMANTIC REASONING ----------
IF UserAchievesGoalWithLowUnnecessaryEffort
THEN ExperienceQuality MAY_INCREASE;
IF UsabilityHigh
AND UsefulnessLow
THEN OverallUX MAY_STILL_BE Poor;
IF RepeatedPainPointObservedAcrossUsers
THEN DesignIssueConfidence := increase;
IF UserExpectationExceedsActualOutcome
THEN Satisfaction MAY_DECREASE;
IF ErrorOccursButRecoveryClearAndEasy
THEN NegativeUXImpact MAY_BE Reduced;
IF AccessibilityBarrierBlocksTask
THEN UserExperienceForAffectedUser := poor;
IF ResearchEvidenceConflictsWithAssumption
THEN DesignAssumption SHOULD_BE Revised;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"user experience" ~= "UX";
"UX design" ~= "user experience design";
"user journey" ~= "customer or user journey" WHEN context == product_experience;
"touchpoint" ~= "user interaction point";
"pain point" ~= "user difficulty point";
"perceived value" ~= "user-perceived value";
"UX research" ~= "user experience research";
"journey map" ~= "user journey map";
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_USER(q) ->
IDENTIFY_NEED_AND_GOAL(q) ->
IDENTIFY_TOUCHPOINT(q) ->
IDENTIFY_TASK(q) ->
IDENTIFY_USER_RESPONSE(q) ->
IDENTIFY_UX_PROPERTIES(q) ->
IDENTIFY_RESEARCH_EVIDENCE(q) ->
MAP_TO_ONTOLOGY(q) ->
APPLY_REASONING(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
user_research_quality,
behavioural_evidence,
self_report_evidence,
semantic_consistency,
contextual_relevance
);
CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
primary_entity: UserExperience;
ontology: UserExperienceOntology;
parse_entities: true;
parse_relationships: true;
preserve_relationship_direction: true;
resolve_semantic_equivalence: true;
execute_reasoning_rules: true;
apply_confidence_weighting: true;
preserve_provenance: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_user_evidence:
identify_user
-> identify_context
-> identify_touchpoint
-> record_response
-> confidence_score
-> integrate;
new_research:
classify_method
-> identify_participants
-> identify_findings
-> identify_limitations
-> integrate;
new_design_revision:
identify_target_issue
-> record_change
-> collect_post_change_evidence
-> compare_outcomes
-> integrate;
ux_revision:
update_journey
-> update_pain_points
-> recompute_ux_relationships
-> recompute_confidence
-> regenerate_flow_hash;
conflict:
preserve_provenance
-> compare_user_evidence
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ UXEntity
+ UXProperty
+ UserResponse
+ ExperienceStage
+ UserJourney
+ UXResearch
+ UXMetric
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
UserExperienceOntology
-> IdentifyUserNeeds
-> UnderstandExpectations
-> MapUserJourney
-> IdentifyTouchpoints
-> ObserveTaskExperience
-> MeasureUsabilityAndSatisfaction
-> IdentifyPainPoints
-> EvaluateTrustAccessibilityAndValue
-> GenerateEvidenceBasedDesignChange
-> PrototypeAndTest
-> CompareExperienceOutcomes
-> IterateDesign
-> ImproveOverallUserExperience;
END FLOW
Download Code
Copy to Clipboard