Assessment | Biopsychology | Comparative | Cognitive | Developmental | Language | Individual differences | Personality | Philosophy | Social |
Methods | Statistics | Clinical | Educational | Industrial | Professional items | World psychology |

Other fields of psychology: AI · Computer · Consulting · Consumer · Engineering · Environmental · Forensic · Military · Sport · Transpersonal · Index

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 terminologyEdit

Kieras (1993, 2001) defines the following operations:

  • K, key press and release (keyboard)
          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
  • 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 stepsEdit

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 CalculationEdit

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


" Change 512 'hte'the' "


  • 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 Template:Not a typo and the
  • 3 keystrokes to press the 3 " ' "
  • 1 keystroke to press Return Key


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.

See also Edit

External linksEdit




This page uses Creative Commons Licensed content from Wikipedia (view authors).

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.