Skip to content

Instantly share code, notes, and snippets.

@tomires
Last active January 23, 2018 21:41
Show Gist options
  • Save tomires/af2944f016472e410813472041e22c7a to your computer and use it in GitHub Desktop.
Save tomires/af2944f016472e410813472041e22c7a to your computer and use it in GitHub Desktop.
NUR

1

  • human-computer interaction - the process of design, implementation and evaluation of interactive systems from a PoV of the user
    • interaction meaning two-way communication
  • user centered design (UCD)
    • design over user needs
    • involvement of users in the design process
      • preparation stage
        • user research - process of gathering tidbits of data about the users, domain, etc.
        • user modeling - creation of context
      • design phase
        • sketching - communication of the main idea to our users
        • rapid prototyping - creation of prototypes of varying complexity
      • implementation
      • evaluation
      • sales
    • the reality is far less rigid, stages often blend into one another
    • as part of SW frameworks
      • waterfall - design stage
      • mini-waterfall - implementation stage
    • users want
      • to be in control
      • to focus on the task at hand
      • not to feel stupid
      • not to think too much
    • attempt to cater to different kinds of users, but do not attempt to fill every niche
    • usability
      • recall - (long-term) memorability of the environment
      • efficiency - the concept of flow
      • simplicity - controls are easy to learn
      • low error rate - prevent the users from making them in the first place, give valuable feedback
      • user satisfaction
  • terminology
    • task - set sequence of activities
    • action - one step performed as part of a task
    • story - short narrative description of user activities written by user
    • scenario - informal narrative story, personal, natural, not generalizable
    • use case - set of scenarios
    • storyboard - a series of sketched key frames

2

  • hierarchical task analysis
    • visualizes division of tasks into subtasks
      • gain insight on structure of tasks (sequence of atomic steps) needed to achieve goal
      • can be used to capture user requirements, in UI design (sequence of queries, menu design, etc.)
    • tree structure (goal - tasks - subtasks - steps) / textual summary
    • plans - optimal tree traversal to achieve sth (mention only leaves)
    • level of decomposition depends on individual task and importance of doing so
  • sketch
    • crude, hand-drawn
    • describes ideas, arouses creativity (for coming up with solutions)
    • do not confuse with low-fidelity prototype, sketches should not include application screens, just the general flow of the experience
      • suggest x describe, question x answer, explore x refine, propose x test
  • mockup
    • a crude and incomplete version of prototype
    • includes only important states, elements
    • too basic for user testing
  • design studio
    • workgroup for brainstorming ideas
    • should include all stakeholders
    • end result - sketches

3

  • lo-fi prototype
    • short time frame (hours, days)
    • enables for quick edits (fast workflow)
    • does not use target devices
    • prerequisites - user research, task analysis (HTA, scenarios, mockups)

4

  • information architecture
    • domain entities and their relations
    • HTA, card sorting
  • hi-fi prototype
    • longer time frame (weeks/months)
    • should feel like the final product, essentially a facade
    • should adhere to HIG of target platform (UI design, input methods)
    • does not have to include app logic (usage of mock data, WoZ technique)
    • needs to contain all key parts of the application
  • evaluation process
    • summative
      • at the conclusion of SW development process
    • formative
      • throughout development (continuous evaluation)

5

  • communication between controller and view (MVC) - complete separation is often violated in practice
  • dialog
    • typically not structured
    • modeling - graph with conditional transitions
    • typical features
      • sequence of actions
      • fixed parts
      • variable parts
    • dialogue models
      • state transition diagrams (STN)
        • pretty much a FSM
        • transitions can be conditional
        • can be hierarchical (for sub-menus, etc.)
        • ATN - uses registers
        • we can use graph theory to find shortest paths and check validity of the final graph
          • all states should be reachable (strongly connected graph) easily (subjective)
            • a tour across all nodes can help determine complexity of the solution
          • we should be able to get back to previous states
          • automatic tests and even semi-automatic generation!
      • concur-task trees (CTT)
        • introduces symbols
          • user task (think something through)
          • interaction task (select something)
          • cooperation task
          • application task (computer crunches through shit)
          • abstraction task
        • introduces operators
          • binary
            • >> - enabling
            • [> - disabling
            • |> - interruption
            • [] - choice
            • ||| - concurrency
          • unary
            • T* - iteration
            • [T] - optionality
      • petri nets (PN)
        • utilizes token shift
        • used programming constructs
          • concurrency
          • synchronization
          • sequencing
          • selection
          • control branching
          • looping
  • monolithic architecture - presentation, dialogue, application (PDA)
    • as with MVC, a change in one part propagates to other parts
  • feedback
    • lexical - movement of mouse
    • syntactic - menu highlights
    • semantic - sum of numbers changes
      • often slow, the user demands fast reactions
      • use syntactic feedback to alleviate this issue
  • UI models
    • seeheim
      • presentation
        • generates output
        • receives input events (lexical parsing)
      • dialog control
        • parsing of tokens into syntax
        • maintains state
      • application interface model (AIM)
        • interface between UI and the rest of the software
        • semantic feedback - checks validity of inputs

6

  • perception
    • bottom-up - focus on pattern building
    • top-down - dependent on attention, focus on a single part
    • low-level features analyzed
      • form (size, rotation)
      • color
      • motion
    • pop-out effect
      • object is sufficiently different from its neighbors
      • should be used for important objects
      • use primary features (size, rotation, color, motion)
      • do not combine multiple features at the same time
      • objects should retain their look (e.g. button should not look like an advertisement)
      • stylistic consistency leads to comparatively longer visual search process
    • biased feature competition
      • we already have a prior knowledge of how the object looks like
    • gestalt principles
      • proximity
      • similarity
      • closure
      • symmetry
      • continuity
    • use color coding, familiar shapes
      • problem with interference of specific cognitive processes
        • ex. with colored text
      • use maximum of 4 colors
      • beware of cultural context
      • be consistent (for the most part)
      • use fall-back (e.g. for colorblind people)
    • icon design
      • findability (placement)
      • recognition (floppy disc -> save dialogue)
      • information scent
      • attractiveness

8

  • cognitive modeling
    • deals with producing computational models of how humans perform tasks and solve problems
    • used to estimate task and training time and answer design questions
    • model human processor (MHP)
      • short-term memory processes perception and motor movement
      • cognition is processed in both short- and long-term memories
      • processing can be serial, parallel
      • parameters
        • processor - cycle time
        • memories - storage capacity, information decay, information type
      • memories
        • sensory - "buffer" for stimuli - visual, audio, tactile
        • short-term - 70ms access time, 7s decay, stores 2-4 chunks
        • long-term - 100ms access time, slow decay, large capacity
          • declarative information - facts, data, events
          • procedural - how to do stuff (if - then)
      • stimuli goes from sensory memory to short-term memory via attention
      • storage in LTM
        • via rehearsal
        • the more time we spend rehearsing, the more we remember
        • spreading learning over different time periods helps
        • presence of structure, knowledge of meaning (domain) also helps
      • forgetting information in LTM
        • interference with new information (German v English) or replacement
        • gradual decay
        • memory is selective and can be subconsciously affected by mood
      • information retrieval from LTM
        • recognition - helped by stimuli
        • recall - no outside help, spontaneous
  • cognitive processes
    • selective attention
      • focus on one object
      • failure in object formation
      • switching attention
        • takes 100-200ms
        • Cocktail party effect
    • learning
      • parts
        • memorization
        • understanding concepts and rules
        • acquiring and automating motor skills
      • can be helped
        • structure
        • similarities with something else
        • repetition
      • is hindered by
        • conflicting previous knowledge
        • inconsistency
    • problem solving
      • deductive (rule-based, if - then)
      • inductive (generalizing from previous cases)
      • abductive (causation)
    • language
      • rules, patterns
  • models of human behavior
    • GOMS
      • predicts user performance
      • can be used in design stage
      • parts
        • goals
          • what we want to achieve
          • can be decomposed into subgoals
        • operators
          • actions (as atomic as possible)
          • ex. move mouse to icon, press button
          • we assign a time value to each operator
        • methods
          • sequence of operators to accomplish goal
          • ex. move mouse, depress button, drag mouse, release button
        • selection rules
          • decision tree
          • if there are multiple ways to achieve goal, decides which method to use
      • output
        • total execution time
        • rank ordering
        • procedures executed
      • pitfalls
        • we presume the user is trained
        • we can assign a time value to every operator
        • we presume no outside interference
    • keystroke-level problem (KLM)
      • based on GOMS, inherits basic characteristics
      • used operators
        • K - keystroke
        • P - point (mouse dragging)
        • H - homing (movement of hand from default position)
        • D - drawing
        • M - mental activity
        • R - response (output / system)
      • time duration is provided for user operators
      • experienced users may be capable of multitasking (mental operations run in parallel with other actions)
    • power law of practice
      • time to complete task on n-th try
      • Tn = T1 * n^(-a)
        • T1 - time for first trial
        • n - number of trials
        • a - learning rate (0.2 - 0.6)
      • applies only to skilled behavior (perceptual, motor)
    • hick-hyman law
      • time it takes for the user to make a mental decision
      • T = a + b * log2(n + 1)
        • a - basic processing time
        • b - additional time per choice
        • n - number of choices
    • fitt's law
      • measures movement time for selection tasks
        • the time increases with distance, decreases with size of target
      • T = a + b * log2(2d / w)
        • a, b - constants
          • need to be acquired by testing and subsequent statistical analysis
        • d - distance
        • w - width of shape (in direction of motion)

9

  • guidelines set rules, these can be simplistic, abstract
    • HIG are meant to enforce a unified design philosophy across elements of a specific ecosystem
    • ISO guidelines - software ergonomics, haptic interactions, displays, etc.
  • patterns are context specific
    • tabs - selected tab should be clearly highlighted, they are used for alternate views within same context
    • sliders - used when precision is not required

11

  • types of impairment - hearing, visual, motor, cognitive
  • offer alternative means of input, output
  • heuristics
    • content parseable by screen reader (respect HIG)
    • alt text
    • use headings
    • immediate validation
  • focus on user's abilities rather than limitations, design from scratch

12

  • intelligent system capabilities
    • reasoning - derivation of new knowledge based on existing knowledge (transitivity in graphs)
    • learning - improvement of behavior
    • adaptability to changes in environments
  • intelligent user interface
    • link between user and intelligent interactive system
    • natural method of communication, accessible (UI adapts to user's capabilities), low cognitive load (UI personalization)
  • computer mediated interaction
    • synchronous x asynchronous
    • local x remote
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment