Psychological Fundamentals for HCI
Human cognition is often understood in terms of a model of information processing.
Most of this information is presented in The Psychology of Human-Computer Interaction by Card, Moran and Newell.
Also see The Programmer's Brain by Felienne Hermans.
Central Cognition
- Short-term memory (STM) and working memory (WM)
- WM includes STM (according to some sources)
- Limited approximately 3 chunks
- Includes perceptual and motor stores
- Triggers access to long-term memory (LTM)
- LTM acts on WM
- Long-term memory
- Essentially unlimited
- Associative
- Acquired through active usage of working memory
- Organizes information in chunks
- Cognitive processor
- Applies long-term memory to modify working memory
- Operates at approximately 70 msec cycles
- Conscious versus unconscious cognition
Input/Output
- Perception
- Motor processor
- approximately 70 msec cycles
- Fitts' law (in H&P 22.7, 30.3.2.5 in second): Pointing time (seconds) = log2 (distance / size + 1)
Important cognitive principles
- Recognition is easier than recall (near misses can trigger LTM)
- STM/WM limits multi-tasking
- Practice creates procedural knowledge for automatic behavior
Time scales
Adapted from Unified Theories of Cognition, Allen Newell
- Biological band (neurons and circuits, faster than 10 ms)
- Cognitive band (cognitive operations, 100ms to 10 seconds)
- Rational band (Tasks, minutes to hours)
- Social band (days to months)
Constants for keystroke-level model
- K = 0.2 sec Keying: the time it takes to tap a key on the keyboard or a button on the mouse.
- P = 1.1 sec Pointing: the time it takes to move the mouse to a position on the display.
- H = 0.4 sec Homing: the time it takes to move the hand from the keyboard to the mouse or from the mouse to the keyboard.
- M = 1.35 sec Mental preparing: the time it takes to mentally prepare for the next step.
- R Responding: the time needed for the computer to respond.
High-level psychological constructs
- Mental Models
- Metaphors
Issues for discussion
- What are examples of automatic procedural behavior?
- What do the keystroke constants suggest for developing an efficient user interface?