# vim:ts=2:sw=2:sts=2:
Chapter 1
1. Computing Environments
  - physical (amt. of lighting, proximity of co-workers)
  - social (ex. don't embarass user w/ auditory error message)
  - cognitive (difference in skill)
    - background (tech. degree)
    - stress
2. Five W's and H
  - What / How
  - Where / When
  - Who / Why

Chapter 8.1 - Usability
1. Ease of Learning
  - def: how long it takes for a user to be able to complete certain tasks in the time that would take an expert to do the same
  - easier to learn => less cost in training process
2. Efficiency of Use
  - how many tasks per unit of time a user can perform
3. Memorability - User Retention Over Time
  - users ability to use the system after having not used it for a while without having to learn it again
4. Error Rate / Frequency & Severity
  - to accomplish objectives with as few errors as possible
  - recoverable if any
  - no catastrophic errors
5. Subjective Satisfaction

Chapter 2.1 - Interaction Frameworks
1. Don Norman's Model
  - execution / evalutation
  -                   1. Goals
         execution      /     \       evaluation
                       /       \
    2. forming intention     7. evaluating interpretation
    3. specify actions       6. interpreting perception
    4. executing actions     5. perceiving world state
                     \           /
                      \         /
                       The World
  1) The gulf of execution
    - what the user intends != what the system allows
  2) The gulf of evaluation
    - what the system presents != what the user expects

Chapter 2.3 - Interaction Styles
1. Command Language
2. Menu selection
  - recognition - not recall
  - types:
    - push down
    - pop up
    - look ahead
  - menus for long lists
    - fisheye (OSX launch bar)
    - scrolling
    - 2D menu
3. Form fill-in
4. Question and Answer ("Wizard")
5. Direct Manipulation ("point and select")
  - visual representation of domain objects
  - direct action on objects
  - immediate and visible effects
  - reversable actions
6. Metaphors
7. Natural Language

Chapter 3 - Interaction Design Process
design - evaluation - redesign
Discount usability engineering
  - a quick-and-dirty approach
  - basic premise: designs change substantially in early development phases
  - make a prototype that shows UI to get feedback early on
  - perfection is not cost effective
  - test early and often
  - how to do
    1. scenarios
      - task analysis
      - prototyping - partial
        - use paper & pencil or simple tools
    2. simplified thinking out loud
      - use 3-6 real users
      - ask user to think out loud while performing given tasks
      - collect data by note-taking
User-Centered Design (UCD)
  - basic idea: design should emerge from the user's goals, tasks, and
    environments
  - early focus on users and tasks
  - continuous evaluations
  - iterative design

Chapter 4 - Discovery
  - what should be done before designing the interface
  - to understand the domain
    - workflows
    - stakeholders
  - 5W's + 1H
  1. collection
    - observation
    - elicitation
  2. interpretation
    - user analysis
    - task analysis
  User Analysis
    - learn by recognition, not recall
    - remember things in related groups
    - have different ways of learning and communicating
    - like to be in control
  User Categories
    1. The Novice User
      - beginner or casual
      - performance not a major concern
      - don't rely on training or documentation
    2. Intermediate User
      - efficiency of routine tasks
    3. Expert users
      - like to explore
      - need keyboard shortcuts
  Task Analysis
    - to understand a business process
    - identify what to support
    - hierarchical task analysis (HTA)
      - a top-down approach to task analysis and documentation
    - task: a goal to achieve
    - subtask: subgoals/actions
    - atomic actions - are not broken down into sub-steps
    - plans: sequences and conditions
    - consider task frequencies
    - textual descriptions:
    ex: Task Hotel Stay
      1. select a hotel
      2. book
      3. check in
      4. receive service
      5. check out
    ex: Hotel Check-in
      1. find room
      2. record guest as checked in
      3. deliver key

Chapter 5 - Design
  1. conceptual design
    - brainstorming
    - personas - a user profile
    - scenarios
    - flowchart - describe the navigational structure
    - cognitive walkthroughs
      - an evaluation technique
      1. step through the action sequence for a task
        - role playing
      2. check it for potential usability problems in design
        - story telling
      what you need
        1. a conceptual model or prototype
        2. a task description
          - list of actions
      questions to ask
        1. is the action helpful for the user's goal?
        2. is the action visible to the user?
        3. does the user know how to proceed?
        4. is the feedback sufficient?

Chapter 7 - Design Models
  1. Predictive Models
    pre-experience, such as KLM (Keyboard Level Model)
      provides numerical prediction of user performance
      primitive operations
        - physical actions
        - mental preparation
        K = 0.35 sec (hit key on keyboard, press button on mouse)
        P = 1.1 sec  (point - move mouse to position)
        H = 0.4 sec  (homing - move hand b/w kbd & mouse)
        M = 1.35     (mental preparation time)
        R =          (responding - time for computer to respond)
      rules for using the M operator
        1. point and click (MPMK) => MPK (it is one cognitive unit)
        2. menu selection (MPK [File] MPK [Save]) => MPK PK (File on way 2 goal)
        3. typing (MK 'n' MK 'o' MK 't') => MKKK
        4. typing a terminator (MK 'a' K '.' K 'enter') => MKKK (bring closure)
      what KLM doesn't do
        1. errors
        2. learning time
        3. recall
  2. Descriptive Models
    help understand user-system
    interaction such as STNs
