Skip to main content

Human Computer Interaction Ontology

Human–Computer Interaction
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Human Computer Interaction Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/human-computer-interaction/human-computer-interaction-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "HumanComputerInteractionOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := HumanComputerInteraction
ONTOLOGY := HumanComputerInteractionOntology

# ---------- PRIMARY ENTITY ----------
ENTITY HumanComputerInteraction {
    definition:
        "The study and design of interactive computational systems and the
         ways in which human users perceive, understand, control and respond
         to those systems through interfaces and interaction mechanisms.";

    objectives: [
        EffectiveInteraction,
        EfficientInteraction,
        Usability,
        Accessibility,
        Learnability,
        UserSatisfaction,
        ErrorReduction
    ];
}

# ---------- CORE ENTITIES ----------
InteractionEntity := {
    User,
    InteractiveSystem,
    Interface,
    Task,
    Goal,
    Input,
    Output,
    Context
};

UserProperty := {
    Ability,
    Experience,
    Knowledge,
    Preference,
    Limitation,
    MentalModel
};

InterfaceElement := {
    Control,
    NavigationElement,
    FormElement,
    ContentElement,
    FeedbackElement
};

InteractionState := {
    Idle,
    AwaitingInput,
    Processing,
    PresentingOutput,
    Error,
    Completed
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
User HAS Goal;
User PERFORMS Task;
Task INTERACTS_WITH InteractiveSystem;
Interaction OCCURS_THROUGH Interface;
Interface RECEIVES Input;
InteractiveSystem PROCESSES Input;
Interface PRESENTS Output;
Context AFFECTS Interaction;
UserProperty AFFECTS InteractionPerformance;

# ---------- INTERACTION CYCLE ----------
Goal ->
    FormIntention
    -> SelectAction
    -> ExecuteAction
    -> SystemReceivesInput
    -> SystemChangesState
    -> PresentFeedback
    -> UserPerceives
    -> UserInterprets
    -> EvaluateAgainstGoal;

IF GoalNotAchieved
THEN InteractionCycle MAY_CONTINUE;

# ---------- USER ----------
User :=
    HumanParticipantInInteraction;

User HAS {
    PhysicalCapability,
    SensoryCapability,
    CognitiveCapability,
    DomainKnowledge,
    SystemExperience
};

Interface SHOULD_ACCOMMODATE RelevantUserCapabilities;

# ---------- GOAL ----------
Goal :=
    DesiredOutcomeOfUser;

Task :=
    ActionsRequiredToProgressTowardGoal;

Goal MAY_DECOMPOSE_INTO Subgoal;
Task MAY_DECOMPOSE_INTO Subtask;

# ---------- TASK MODEL ----------
TaskModel :=
    {
        Task,
        Sequence,
        Dependency,
        Frequency,
        Complexity
    };

TaskAnalysis IDENTIFIES UserActionsAndInformationNeeds;

# ---------- CONTEXT ----------
ContextOfUse :=
    {
        UserContext,
        DeviceContext,
        PhysicalEnvironment,
        SocialEnvironment,
        OrganisationalEnvironment
    };

InteractionQuality DEPENDS_ON ContextOfUse;

# ---------- INPUT ----------
Input :=
    SignalOrActionProvidedToSystem;

InputModality := {
    Keyboard,
    Pointer,
    Touch,
    Voice,
    Gesture,
    Sensor,
    Controller
};

InputEvent MAY_TRIGGER SystemAction;

# ---------- OUTPUT ----------
Output :=
    InformationOrFeedbackProducedBySystem;

OutputModality := {
    Visual,
    Auditory,
    Haptic,
    Textual
};

Output SHOULD_BE PerceivableByIntendedUser;

# ---------- INTERFACE ----------
Interface :=
    InteractionBoundaryBetweenUserAndSystem;

Interface MAY_INCLUDE {
    VisualPresentation,
    Controls,
    Navigation,
    InputFields,
    Feedback,
    Help
};

InterfaceDesign SHOULD_SUPPORT UserGoalAndTask;

# ---------- FEEDBACK ----------
Feedback :=
    PerceivableSystemResponseToUserActionOrState;

Feedback SHOULD_BE {
    Timely,
    Relevant,
    Understandable
};

IF UserActionHasNoPerceivableFeedback
THEN UserUncertainty MAY_INCREASE;

# ---------- SYSTEM STATUS ----------
SystemStatus :=
    CurrentOperationalOrInteractionState;

Interface SHOULD_COMMUNICATE RelevantSystemStatus;

VisibilityOfSystemStatus SUPPORTS UserUnderstanding;

# ---------- AFFORDANCE ----------
Affordance :=
    ActionPossibilityOfferedByInterfaceOrObject;

PerceivedAffordance :=
    ActionPossibilityUserBelievesAvailable;

Signifier MAY_COMMUNICATE Affordance;

# ---------- MAPPING ----------
Mapping :=
    RelationshipBetweenControlAndEffect;

NaturalMapping MAY_REDUCE LearningAndError;

# ---------- CONSTRAINT ----------
InteractionConstraint :=
    RestrictionPreventingInvalidOrUnavailableAction;

Constraint MAY_PREVENT Error;

# ---------- CONSISTENCY ----------
Consistency :=
    SimilarInterfaceElementsBehaveAccordingToStablePatterns;

Consistency SUPPORTS {
    Learnability,
    Predictability,
    Efficiency
};

# ---------- ERROR ----------
InteractionError := {
    Slip,
    Mistake,
    InputError,
    NavigationError,
    SystemError
};

ErrorHandling :=
    Detect
    -> Explain
    -> SupportRecovery;

Interface SHOULD_PREFER ErrorPreventionWherePractical;

# ---------- RECOVERY ----------
RecoveryMechanism MAY_INCLUDE {
    Undo,
    Redo,
    Cancel,
    Correction,
    Retry,
    Restore
};

UserControl SUPPORTS SafeExploration;

# ---------- USABILITY ----------
Usability :=
    f(
        Effectiveness,
        Efficiency,
        Satisfaction,
        Learnability,
        ErrorRate
    );

Effectiveness :=
    DegreeOfGoalAchievement;

Efficiency :=
    ResourcesRequiredForGoalAchievement;

# ---------- LEARNABILITY ----------
Learnability :=
    EaseOfLearningToUseSystem;

Learnability MAY_BE_SUPPORTED_BY {
    FamiliarPatterns,
    Consistency,
    ClearLabels,
    Guidance,
    ProgressiveDisclosure
};

# ---------- ACCESSIBILITY ----------
Accessibility :=
    DegreeToWhichSystemCanBeUsedByPeopleWithDiverseCapabilities;

AccessibilityRequirement MAY_INCLUDE {
    KeyboardOperability,
    TextAlternative,
    SemanticStructure,
    Contrast,
    Captions,
    FlexibleInput,
    AssistiveTechnologyCompatibility
};

# ---------- COGNITIVE LOAD ----------
CognitiveLoad :=
    MentalEffortRequiredDuringInteraction;

CognitiveLoad MAY_INCREASE_WITH {
    UnnecessaryComplexity,
    PoorOrganisation,
    AmbiguousControls,
    ExcessiveMemoryDemand
};

Interface SHOULD_MINIMISE ExtraneousCognitiveLoad;

# ---------- MENTAL MODEL ----------
MentalModel :=
    UserInternalRepresentationOfHowSystemWorks;

SystemBehaviour SHOULD_SUPPORT AccurateMentalModelFormation;

UnexpectedBehaviour MAY_CREATE MentalModelMismatch;

# ---------- INFORMATION ARCHITECTURE ----------
InformationArchitecture :=
    Organisation
    + Labelling
    + Navigation
    + Search;

InformationArchitecture SUPPORTS {
    Findability,
    Comprehension,
    Orientation
};

# ---------- NAVIGATION ----------
Navigation :=
    MovementBetweenInterfaceStatesOrInformationLocations;

NavigationElement MAY_INCLUDE {
    Menu,
    Link,
    Breadcrumb,
    Tab,
    Search
};

User SHOULD_BE_ABLE_TO IdentifyCurrentLocationAndPossibleNextAction;

# ---------- DIALOGUE ----------
Dialogue :=
    SequenceOfUserAndSystemActions;

DialogueState :=
    CurrentContextOfInteractiveExchange;

ConversationalInterface MAINTAINS DialogueState;

# ---------- DIRECT MANIPULATION ----------
DirectManipulation :=
    UserActsOnVisibleInterfaceObject
    -> ImmediateFeedback;

DirectManipulation MAY_SUPPORT LearnabilityAndControl;

# ---------- USER-CENTRED DESIGN ----------
UserCentredDesign :=
    UnderstandContext
    -> SpecifyUserRequirements
    -> ProduceDesign
    -> EvaluateDesign
    -> Iterate;

UserEvidence SHOULD_INFORM DesignDecision;

# ---------- PROTOTYPE ----------
Prototype :=
    RepresentationOfProposedInteraction;

Prototype MAY_BE {
    LowFidelity,
    HighFidelity,
    Interactive
};

Prototype ENABLES EarlyEvaluation;

# ---------- USABILITY TEST ----------
UsabilityTest :=
    User
    -> PerformTask
    -> ObserveBehaviour
    -> RecordMetrics
    -> IdentifyUsabilityIssue;

UsabilityMetric MAY_INCLUDE {
    TaskSuccess,
    CompletionTime,
    ErrorCount,
    AssistanceRequired,
    Satisfaction
};

# ---------- HEURISTIC EVALUATION ----------
HeuristicEvaluation :=
    Evaluator
    -> InspectInterface
    -> CompareWithUsabilityPrinciples
    -> RecordIssue;

HeuristicEvaluation COMPLEMENTS UserTesting;

# ---------- USER EXPERIENCE ----------
UserExperience :=
    PerceptionsAndResponsesArisingFromInteraction;

UXProperty MAY_INCLUDE {
    Satisfaction,
    Trust,
    PerceivedEase,
    Emotion,
    PerceivedValue
};

# ---------- TRUST ----------
InteractionTrust :=
    f(
        Reliability,
        Predictability,
        Transparency,
        Security,
        PriorExperience
    );

MisleadingFeedback MAY_REDUCE Trust;

# ---------- PRIVACY ----------
InteractiveSystem MAY_COLLECT UserData;

PrivacyInteraction SHOULD_SUPPORT {
    Transparency,
    Consent,
    UserControl,
    DataMinimisation
};

# ---------- SEMANTIC REASONING ----------
IF HumanUserPerformsTaskThroughComputerInterface
THEN HumanComputerInteraction EXISTS;

IF TaskSuccessLow
THEN Effectiveness := low;

IF CompletionTimeHighForSimpleTask
THEN EfficiencyIssue MAY_EXIST;

IF RepeatedUserErrorsOccurAtSameControl
THEN InterfaceDesignIssue := likely;

IF UserCannotPerceiveRequiredOutput
THEN Accessibility := insufficient;

IF InterfaceProvidesImmediateRelevantFeedback
THEN InteractionClarity MAY_INCREASE;

IF UserMentalModelMatchesSystemBehaviour
THEN Predictability MAY_INCREASE;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "human computer interaction" ~= "HCI";
    "human-computer interaction" ~= "human computer interaction";
    "interactive system" ~= "human-interactive computer system";
    "user interface" ~= "UI";
    "user experience" ~= "UX";
    "context of use" ~= "interaction context";
    "usability test" ~= "user usability test";
    "user-centred design" ~= "user-centered design";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_USER(q) ->
    IDENTIFY_GOAL(q) ->
    IDENTIFY_TASK(q) ->
    IDENTIFY_INTERFACE(q) ->
    IDENTIFY_INPUT_OUTPUT(q) ->
    IDENTIFY_CONTEXT(q) ->
    IDENTIFY_USABILITY_OR_ACCESSIBILITY(q) ->
    MAP_TO_ONTOLOGY(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        user_evidence,
        interaction_consistency,
        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: HumanComputerInteraction;
    ontology: HumanComputerInteractionOntology;
    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_task
        -> identify_context
        -> record_observation
        -> integrate;

    new_interface_element:
        validate
        -> classify
        -> identify_action
        -> identify_feedback
        -> identify_accessibility_properties
        -> integrate;

    new_usability_test:
        identify_participants
        -> identify_tasks
        -> record_metrics
        -> identify_issues
        -> integrate;

    design_revision:
        update_interface
        -> update_interaction_flow
        -> update_usability_evidence
        -> recompute_confidence
        -> regenerate_flow_hash;

    conflict:
        preserve_provenance
        -> compare_user_evidence
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + InteractionEntity
    + UserProperty
    + InterfaceElement
    + InteractionState
    + Usability
    + Accessibility
    + UserCentredDesign
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
HumanComputerInteractionOntology
    -> IdentifyUser
    -> IdentifyGoalAndTask
    -> UnderstandContext
    -> DefineInputAndOutput
    -> DesignInterface
    -> ProvideSystemFeedback
    -> PreventAndRecoverFromErrors
    -> SupportAccessibility
    -> PrototypeInteraction
    -> TestWithUsers
    -> MeasureUsability
    -> RefineDesign
    -> ImproveInteractionQuality;

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ