Constants and Rules for performing a GOMS Keystroke Analysis
Adapted from The Humane Interface by Jef Raskin. The
GOMS model originates from The Psychology of Human-Computer
Interaction by Stuart K. Card, Thomas P. Moran and Allen Newell.
Constants for primitive operations
- 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.
Steps for performing an analysis
- Fully list the K, P, H and R operations needed to complete the
task.
- Insert an M operation before every K operation.
- Insert an M operation before every P operation unless that P
operation specifies additional information to a command. For
example, inserting a column break using MS Word requires the user to
select the Break item from the Insert menu and then point to and click on the
Column break option in the dialog box. The operation of pointing to
the Column break option does not require an M operation because it
specifies what type of Break should be inserted.
- Delete an M if it precedes an anticipated operation. For example,
the keying (clicking) operation of a "point and click" process is
an anticipated operation.
- If a string of MKs form a cognitive unit (e.g. a word, number, name or
command), delete all of the Ms except the first one.
- For sequences of terminators to cognitive units (e.g. a sequence
of return keys or closing multiple dialog boxes), delete all Ms except
the M that starts the sequence.
- For a terminator to a command, delete the preceding M.
- Delete an M that overlaps with an R. However, do not delete the M
if the next operation depends on the outcome from R.
It is often difficult to interpret the rules for when to delete an
M. In general, the M should be deleted when the user can
automatically perform the next operation without any deliberation.