Keystroke-level model

Keystroke-level model, sometimes referred to as KLM or KLM-GOMS, is an approach to human–computer interaction (HCI), developed by David Kieras and based on CMN-GOMS. CMN-GOMS for its part was developed by Card, Moran, and Newell, and explained in their book The Psychology of Human-Computer Interaction, 1983. The model is an 11-step method that can be used by individuals or companies seeking ways to estimate the time it takes to complete simple data input tasks using a computer and mouse. By using KLM-GOMS, individuals often find more efficient or better ways to complete a task simply by analyzing the steps required in the process and rearranging or eliminating unneeded steps.

It is designed to be easier to use than other GOMS methods, such that companies who cannot afford human–computer interaction specialists can use it. KLM-GOMS is usually applied in situations that require minimal amounts of work and interaction with a computer interface or software design. The calculations and the number of steps required to accurately compute the overall task time increase quickly as the number of tasks involved increases. Thus, KLM-GOMS is best suited to evaluate and time specific tasks that require, on average, less than 5 minutes to complete.

The KLM-GOMS model is designed to be as straightforward as possible. The sequence of operations is modeled as a sequence of a small number of operations. Each operation is assigned a duration, which is intended to model the average amount of time an experienced user would take to perform it.

Step terminology
Kieras (1993, 2001) defines the following operations: Best Typist (135 wpm)                    ---         0.08 seconds Good Typist (90 wpm)                     ---         0.12 seconds Poor Typist (40 wpm)                     ---         0.28 seconds Average Skilled Typist (55 wpm)          ---         0.20 seconds Average Non-secretary Typist (40 wpm)    ---         0.28 seconds Typing Random Letters                    ---         0.50 seconds Typing Complex Codes                     ---         0.75 seconds Worst Typist (unfamiliar with keyboard)  ---         1.20 seconds
 * K, key press and release (keyboard)


 * P, Point the mouse to an object on screen   ---         1.10 seconds
 * B, Button press or release (mouse)          ---         0.10 seconds
 * H, Hand from keyboard to mouse or vice versa ---        0.40 seconds
 * M, Mental preparation                       ---         1.20 seconds
 * T(n), Type string of characters (n * K sec.)
 * W(t), User waiting for the system to respond
 * D(n0,l0), Draw n0 straight line segment with mouse of total length l0 centimeters

A mouse click would be written "BB" (button press, button release) while a sequence of 3 keyboard key presses is "AAA" or "T(n)" ("T" stands for "type").

A common operation that involves pointing and clicking something on the screen would be written "MPBB" (think, point, press, release).

KLM is not the only technique for evaluating interfaces, but it can be used to compare the speed of two different interfaces designed to accomplish the same task.

Testing steps
The following 11 steps were developed based upon the methodologies and ideas of Kieras and Olson-Olson and describe the proper approach to calculate the time it takes to complete a task by using a computer interface and hardware.

Step 1--Obtain a working prototype of computer interface or a step by step operational description of a task.

Step 2--Identify the goals or the desired outcome of work.

Step 3--For each of these goals, find subgoals or tasks that achieve the main goals.

Step 4--Identify methods to main goals and all subgoals.

Step 5--Convert description of methods to pseudo-code (the terminology that is described above).

Step 6--State any and all assumptions used in the making of pseudo-code and goals.

Step 7--Determine appropriate mental or keystroke operators for each step.

Step 8--Assign time values to mental or keystroke operators.

Step 9--Add up execution times for operators.

Step 10-Adjust total time of task to be sensitive by age of expected. Age         Time Adjustment Multiplier (Multiply task time by this value) Use as is          30–40              ??? 40–55             By 1.4 55–60             By 1.7 > 65              By 2.2

Step 11-Verify validity of results

Example Calculation
Change the code in Line 512 from "hte" to "the" ('the'the' in computer language) and then press Enter Key

or

" Change 512 'hte'the' "

Steps


 * Mentally prepare
 * 6 average speed keystrokes (for word "change")
 * 1 average speed keystrokes for space bar
 * 3 keystrokes for pressing numbers "512"
 * 1 average speed keystrokes for space bar
 * Mentally Prepare by reading what needs to be changed
 * 6 average keystrokes for typing hte and the
 * 3 keystrokes to press the 3 " ' "
 * 1 keystroke to press Return Key

Values

K1 = average speed keystrokes (0.20 seconds)

K2 = typing random letters   (0.50 seconds)

M = Mentally Prepare         (1.35 seconds)

Put above steps into formula: M + 6K1 + K1 + 3K2 + K2 + M + 3K1 + K2 + 3K1 + K2 = 2M + 14K1 + 6K2 = 9.82 seconds

This method assumes that operator times are invariant and do not depend on the previous sequence of events. New physical operators can be added if their timing can be represented as a simple context-free function. KLM-GOMS does not account for either slips or mistakes automatically—the analyst must create separate models of error sequences and perform their own sensitivity analysis.

The placement of the keystrokes and pointer operations are straightforward, but the placement of the mental operations is not. Mental operations are placed by a set of rules that require some interpretation, such as determining a conceptual "cognitive unit" or grouping of actions. For instance, pressing ctrl and c simultaneously to perform a "copy" would be considered a single cognitive unit. Mental operations are inserted before each cognitive unit to account for cognitive preparation and decision-making.

The main reason a designer or analysts would use this technique is that it is a very fast. Different designs or systems can be compared against one another quickly. It does not require that the evaluator be an expert in GOMS because the procedure is an explicitly laid out recipe. A major caution is that the algorithm is designed to estimate the execution time for an expert user, which is typically faster than the time for a new user or an unfamiliar task.

Notations

 * This article incorporates text from Dr. G. Abowd: GOMS Analysis Techniques – Final Essay, which has been released into GFDL by its author (see ).