GOMS Keystroke-Level Model

Most of the material for this page comes from Jef Raskin's book: The Humane Interface.

GOMS stands for:

Interface timings

GOMS measurements are based on the assumption that the time it takes to perform a task is the sum of the times that it takes the system (user - computer) to perform the elementary tasks that comprise the task.

Based on laboratory observations Card, Moran and Newell came up with the following numbers.

K= 0.2 sec
Keying. The time it takes to tap a key on the keyboard
P= 1.1 sec.
The time it takes to point to a position on a display
H= 0.4 sec.
Homing: The time to move from the keyboard to mouse (GID) or vice-versa
M= 1.35 sec
Mentally preparing: The time it takes a user to prepare mentally for the next step
R
Responding: The time a user must wait for a computer to respond to input.

GOMS Calculations

Each interaction is encoded as a sequence of symbols form the alphabet, K,P,H,M and R. However one does not calculate the time directly from the string for there are a number of simplifications that should be made first. These are described in the following list of Heuristics for placing the mental operators M.

Rule 0. Initial placement of Candidate Ms
Insert Ms in front of all K's. Place M's in front of all P's that select commands but not those that select arguments for the commands.
Rule 1. Deletion of anticipated Ms.
If an operator is fully anticipated in the operator previous to the M delete it.
Rule 2. Deletions of Ms within cognitive units.
In a string of MK's that form a cognitive unit, (eg. a word), delete all the Ms except the first.
Rule 3. Deletion of Ms before consecutive terminators
If K is a redundant terminator at the end of a cognitive unit then delete the M before it.
Rule 4. Deletions of Ms that are terminators of commands
If K is a delimiter that follows a constant string then delete the M in front of it. The point is that typing this string will become automatic
Rule 5. Deletion of an overlapped M
Do not count any M that overlaps an R with the user awaiting a response form the computer.

Interface Efficiency

We can define the efficiency of an interface in terms of the quotient

Minimum amount of information that must be supplied to the interface

Amount of information actually supplied

In general it is easier to work with character efficiency which is defined by:

Minimum number of characters (K's P's M's) must be supplied to the interface

Number of characters actually supplied

An Interface of efficiency zero.

Picture of an ALERT Box


Return to GUI home page.

Last Changed: 2000/08/31