Keystroke-Level Analysis: A second example

As a further example of a design problem where GOMS modelling is useful, consider the design of a method for generating hard-copy plots of data. This is a problem of choosing an efficient sequence of operation for a set of existing programs. The original plots are produced on the screen with a program called plotgraph, running in the UNIX environment, and the plots are printed by using the UNIX xwd and xpr utilities.

The first stage of analysis is to walk through the operating sequence, identifying each of the steps:

  1. Type the following to plot the data:
    plotgraph <4-digit number> <3-digit number> < return >
    The program takes an average of five seconds to produce the plot.
  2. Type the following to run xwd:
    xwd -out abc < return >
    The cursor changes within one second to a cross in readiness for selecting the, window containing the plot.
  3. Select the window by pointing anywhere within it. The window image is dumped on the file abc, which takes six seconds.
  4. Type the following to print the image file:
    xpr -device ps abc / lpr < return >
    The xpr program responds within one second.
The Keystroke-Level predictions for task performance times are as follows. A time of 0.30 seconds is assigned to K operators. Numbers in the right-hand column refer to the rules for placing M operators.

1     Run plotgraph: 
              Mentally prepare          M      1.35
              Type plotgraph            9K     2.70
              Type terminating SPACE    K      0.30	(4)
              Type 4-digit number       4K     1.20
              Mentally prepare          M      1.35
              Type terminating SPACE    K      0.30
              Type 3-digit number       3K     0.90
              Mentally prepare          M      1.35
              Type terminating RETURN   K      0.30
              System response           R      5.00             
              Subtask 1: plotgraph      Total 14.75 secs	
2     Run xwd:
             Mentally prepare	        M      1.35
             Type xwd command	        12K    3.60
             Type terminating RETURN	K      0.30	(4)
             System response	        R      1.00
             Subtask 2: xwd             Total  6.25 secs
3     Select window:    
              Reach for mouse	          H      0.40
              Point to window with mouse  P      1.10
              Click mouse button	  K      0.30    (1)
              System response	          R      6.00
              Subtask 3: window selection Total  7.80 secs
4     Run xpr:
              Mentally prepare	         M      1.35
              Type xpr command           24K    7.20
              Type terminating RETURN	 K      0.30    (4)
              System response	         R      1.00
              Subtask 4: xpr	         Total  9.85 secs

Adding together the subtotals, we arrive at the following total time for each printout:
    Subtask 1: plotgraph         14.75 secs
    Subtask 2: xwd                6.25 secs
    Subtask 3: window selection	  7.80 secs
    Subtask 4: xpr                9.85 secs
    Total		         38.65 secs
The significance of this time prediction depends on the number of plots to be generated. Suppose we need 300 plots? This will take over three hours at the workstation. How can this be reduced?

A simple method of speeding up the task is to set up an alias, such as p, for the command plotgraph. This takes eight K operators, or 2.40 seconds, out of the first subtask, and reduces the overall time for 300 plots by 12 minutes. The search for other means of saving time is left as an exercise for the reader, but we can already see that the task must take at least 13 seconds each time, or over an hour for 300 plots, just in terms of the system's response time. It is the remaining two hours that we can hope to reduce.

Exercise