Contact  |  Login  Volunteer


Part of the GOMS family of predictive models, the Keystroke-Level Model GOMS (KLM-GOMS) is a quantitative modeling tool for predicting how long it will take expert users to complete a specific task with no errors.

KLM-GOMS predicts task times based on a simple set of physical and mental operators including keystrokes, button clicks, pointer movement, keyboard to mouse movement, and thinking time. Each KLM operator is assigned a time based on empirical research. To obtain the predicted time for a task, you add the times for individual operators.


Related Links

Web Resources

Formal Publications


Detailed description

With a KLM-GOMS analysis, a given flow through a user interface (a task) is broken down into atomic pieces (keystrokes, mouse clicks, moving hands back and forth between the keyboard and mouse, etc.) A lookup table like the one below is then used to retrieve the interaction time for each atomic action, and then total task time is calculated by adding all the actions together.

The KLM-GOMS technique can be used to compare predicted performance across different variations on a user interface. The method does not require users or a working prototype - only a description of the path through which the software is needed. KLM can also predict task times for different approaches to the same task. For example, you could use KLM to compare the time it takes to to change attributes using keyboard shortcuts versus mouse and toolbar options.

KLM-GOMS is only valid for well practiced (repetitive) tasks, and does NOT take into account any learning required for the user to work through the task for the first time. There is an "M" operator in the KLM-GOMS approach that is used to indicate mental preparation for a step in a task. For example, an expert might have to make a decision during a task and the decision time would be represented by an "M" (mental operator).

The quality of the KLM analysis depends highly on the assumptions of the modeler. Some assumptions that might be considered in the creation of a KLM are:

  1. The user is an expert in the domain and system being analyzed.
  2. The user will start with her hands on the keyboard.
  3. The user is not interrupted during the tasks.
  4. The user is familiar with the hardware.
  5. The user's system has essentially instantaneous response time (or you will include a "Wait" operator).
  6. The user is a good typist (and thus will take 0.12 seconds to press a key).

KLM-GOMS does not address the quality of the work produced by a task, the quality of the output of a task, or the effects of context of use attributes like fatigue, group influence, the readibility or layout of the user interface, or interruptions.

Some sample action times (Kieras, 2001)

  • Keystroke (key press and release): 0.08 - 1.2 seconds (.28 recommended for most users)
  • Point mouse to target: 1.10 seconds (The exact value can be calculated with Fitt's law)
  • Click or release the mouse: 0.10 seconds
  • Move hand to keyboard from mouse: 0.40 seconds
  • Move hand to mouse from keyboard: 0.40 seconds
  • User Wait for system to respond: W seconds (depends on the system).



Lifecycle: Requirements
Sources and contributors: 
Ben Werner, Chauncey Wilson.
Released: 2011-03
© 2010 Usability Professionals Association