Norman vs. GOMS vs. KLM

Model-based evaluation and cognitive models (Dix et al., Chapter 12)

Clean Comparison (Class & Exam Reference)

Model-based evaluation: what each model explains vs. predicts
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.

KLM operators (Dix et al., Chapter 12 – Cognitive Models / Physical & Device Models)
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.

  1. Move hand to mouse
  2. Position mouse after bad character
  3. Return to keyboard
  4. Delete character
  5. Type correction
  6. 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.