Quelle: (Newman, Lamming 95).

Analysis techniques based on the GOMS model.

The GOMS model

The GOMS model of task performance has four parts. Each part relates to one of the letters in the acronym, which stand for 'Goals, Operators, Methods and Selection rules'. These are the four kinds of variable that affect the outcome of the analyses. Thus:

  • The Goal defines the end-state that the user is trying to achieve; for example, the goal may be to change to boldface the two words 'The cat' of the sentence 'The cat sat on the mat'. Top-level goals are subdivided into subgoals, and each of these is then analysed separately. Thus we can divide this task into two subtasks: selecting the two words, and setting the selected text to boldface.

  • Operators are the basic actions available to the user for performing a task, such as moving the mouse pointer, clicking the mouse button, pressing a key.

  • Methods are sequences of operators, or procedures, for accomplishing a goal. A method for selecting the words 'The cat' is to move the pointer to 'The', hold the mouse button down, move to 'cat' and release the button. A method of setting the selected words to boldface is to hold down the CONTROL key and press 'B'. These two methods are both employed in the sequence shown in Figure 1.

    Figure 1. A method for selecting the words 'The cat' and changing them to boldface.

  • Selection rules are invoked when there is a choice of method. The user interface doesn't always offer a choice. However, there is an alternative to the boldfacing method shown in the bottom half of Figure 1, involving the use of a pull-down menu to select the Bold reformatting command, and this is shown in Figure 2.

    Figure 2. An alternative method, using a pull-down menu, for changing the selected words 'The cat' to boldface after selecting them. Courtesy Apple Computer.

    GOMS models of task performance can support analysis in a number of ways. They are at their simplest and most effective when predicting speeds of task performance in those cases where the method of operation is known, that is, when selection rules are not an issue. This is done through Keystroke-Level Analysis, a technique described in the next section. Another kind of analysis concerns method selection: by estimating the speed of alternative methods we can compare them, and judge whether the user is likely to prefer one to another.

    Keystroke-Level Analysis

    The purpose of the Keystroke-Level Model is to predict the user's speed of execution of tasks. It can be used in situations where the user's method of performing the task is known: for example, it could be applied to dialling a telephone number, since this tends to follow a standard sequence very closely (lift handset, check for dial tone, press buttons in sequence, wait). It could not be applied to the task of drawing a freehand portrait with the aid of a painting program, since everyone does this differently.

    The basis of the method is to divide each task-performance method into components, and assign execution times in seconds to each component, as shown in Table 1. These times have been derived from repeated experiments, but they can be shown to correspond to predictions derived from the information processing model and from extensions to it, such as Fitts' Law.

    Table 1 Performance times for keystroke-level operators; from Card et al. (1983).


    Operator Description and remarks Time (sec)
    K PRESS KEY OR BUTTON. Pressing the SHIFT or CONTROL key counts as a separate K operation. Time varies with the typing skill of the user; the following shows the range of typical values: Best typist (135 wpm) .08 Good typist (90 wpm) .12 Average skilled typist (55 wpm) .20 Average non-secretary typist (40 wpm) .28 Typing random letters .50 Typing complex codes .75 Worst typist (unfamiliar with keyboard) 1.20 P POINT WITH MOUSE TO TARGET ON A DISPLAY. 1.10 The time to point varies with distance and target size according to Fitt's Law, ranging from .8 to 1.5 sec, with 1.1 being an average. This operator does not include the (.2 sec) button press that often follows. Mouse pointing time is also a good estimate for other efficient analogue pointing devices, such as joysticks. H HOME HAND(S) ON KEYBOARD OR OTHER DEVICE. .40 D(nD,lD) DRAW nD STRAIGHT-LINE SEGMENTS OF TOTAL LENGTH lD CM. .9nD + .16lD This is a very restricted operator; it assumes that drawing is done with the mouse on a system that constrains all lines to fall on a square .56cm grid. Users vary in their drawing skill; the time given is an average value. M MENTALLY PREPARE. 1.35 R(t) RESPONSE BY SYSTEM. t Different commands require different response times. The response time is counted only if it causes the user to wait.
    Use of the Keystroke-Level Model involves applying certain rules, or heuristics, in the introduction of mental preparation components. These M-components should usually, but not always, be introduced before keystrokes or pointing operations that are not part of a sequence. The rules proposed by Card et al. (1983) are given in Figure 3.


    Figure 3. Rules for placing M operators. From Card et al. (1983).

    Begin with a method of encoding that includes all physical operations and response operations. Use Rule 0 to place candidate M's, and then cycle through Rules 1 to 4 for each M to see where it should be deleted.

    Rule 0.
    Insert M's in front of all K's that are not part of text or numeric argument strings proper (e.g., text or numbers). Place M's in front of all P's that select commands (not arguments).

    Rule 1.
    If an operator following an M is fully anticipated in an operator just previous to M, then delete the M (e.g., PMK - PK).

    Rule 2.
    If a string of MK's belongs to a cognitive unit (e.g., the name of a command), then delete all M's but the first.

    Rule 3.
    If a K is a redundant terminator (e.g., the terminator of a command immediately following the terminator of its argument), then delete the M in front of it.

    Rule 4.
    If a K terminates a constant string (e.g., a command name), then delete the M in front of it; but if the K terminates a variable string (e.g., an argument string) then keep the M in front of it.


    Keystroke assignments are simple and quick to apply to sequences of actions, but some practice is needed in order to apply the rules for placing M operators correctly.

    A simple keystroke-level comparison

    We can use keystroke-level analysis to compare the two methods of selecting a pair of words and setting them to boldface, shown in Figures 1 and 2. The method of Figure 1 is analysed in the following table. Here the rules of Figure 3 have been applied to remove unneeded M operators (the number of the rule applied is shown in the right-hand column). A value of 0.50 seconds has been chosen for K operators, since these are mostly random keys:

    Select words 
    Reach for mouse                                 H     0.40
    Point to word 'The' with mouse                  P     1.10
    Double-click and hold down mouse button         K     0.60    (1)
    Move mouse to word 'cat'                        P     1.10
    Finish selection by releasing mouse button      K     0.60    (1)
    
    Set to boldface:
         Press CONTROL	K	0.60	(2)
         Type'b'            K   	0.60	(2)
         Release CONTROL	K	0.60	(3)
         Total	                5.60 secs

    Note that no H operator is included before the CONTROL-b action, which can be given with the left hand only.
    In comparison, the sequence of Figure 2, in which the Format pull-down menu is used, involves the following operators:
    Select words (unchanged from previous example)
       Reach for mouse                              H  0.40
       Point to word 'The' with mouse               P  1.10
       Double-click and hold down mouse button      K  0.60 (1)
       Move mouse to word 'cat'	                P  1.10
       Finish selection by releasing mouse button	K  0.60	(1)

    Set to boldface: Point to Format menu with mouse P 1.10 Press and hold down mouse button K 0.60 (1) Move down to Bold P 1.10 (1) Release mouse button K 0.60 (1) Total 7.20 secs

    Thus the use of the keyboard 'short cut' does indeed reduce the task's performance time, by over a second and a half. This is due mainly to avoidance of two P operators.

    Keystroke-Level Analysis: A second example
    Exercise