Clean Comparison (Class & Exam Reference)
| Model | Category | What it Explains | What it Predicts |
|---|---|---|---|
| Norman | Cognitive / descriptive | Understanding, errors, feedback, gulfs | Nothing (no performance prediction) |
| GOMS | Predictive / analytic | Task structure for expert users | Relative efficiency |
| KLM | Predictive / quantitative | Low-level physical and motor actions | Execution time |
KLM Operators (Execution-Level Primitives)
The Keystroke-Level Model (KLM) decomposes the execution phase of interaction into a small set of primitive operators. KLM assumes the user is expert and that the method has already been chosen.
| Operator | Name | Meaning | Example |
|---|---|---|---|
| K | Keystroking | Pressing a key (including modifiers) | Typing a character or pressing Delete |
| B | Button press | Pressing a mouse button | Left-click |
| P | Pointing | Moving pointer to a target | Move cursor to an icon |
| H | Homing | Switching hand between devices | Keyboard → mouse |
| D | Drawing | Drawing lines using a pointing device | Dragging to draw a shape |
| M | Mental preparation | Preparing for a physical action | Pause before clicking the correct control |
| R | System response | Waiting for system feedback (if required) | Application loading |
Worked Example: Correcting a Single Character
Example task: the user notices a single-character error in a mouse-based editor, deletes it, retypes it, and returns to the insertion point.
- Move hand to mouse
- Position mouse after bad character
- Return to keyboard
- Delete character
- Type correction
- Reposition insertion point
One possible KLM operator sequence:
H[mouse]
P B[LEFT]
H[keyboard]
M K[DELETE]
K[char]
H[mouse] M P B[LEFT]
This sequence illustrates how KLM models only execution-level actions. High-level planning, learning, and interpretation are not represented.
Key Takeaways
The Keystroke-Level Model consists of seven primitive operators (K, B, P, H, D, M, R) used to predict execution time for expert, error-free interaction, and is a low-level instance of the GOMS framework.
KLM has only seven operators because it models execution, not thinking about what to do.