top of page
Image by SIMON LEE
  • Writer's pictureantoniodellomo

Keystroke-Level Model

Just how fast is using a unified text field and location automation field compared to the traditional approach of using multiple form fields? The best way to find out is to analyze the time it takes for users to complete each step in the process and compare each approach. To do this, we’ll use a hard science approach known in the field of human-computer interaction as the Keystroke-Level Model. KLM is a widely used method for predicting how long it takes users to do a task on a user interface. It uses estimated times for basic, routine user actions.

These predictions come from a study by Card, Moran & Newell (1980) involving extensive tests with users. All that is required for this kind of evaluation is:

  • a specification of the system's functionality or at least that part of it which is to be examined,

  • a task analysis, which is basically a list of all the proposed user tasks with a breakdown of each task into its components. Often these components are sequences of subtasks that require further decomposition.

Nowadays we have available several analytic evaluation methods. The differences between these methods revolve around task structure, user operations, and the combination of user and system operations. Some examples of these are:

  • the task structure can vary from a simple task consisting of a single user command to more complex tasks composed of several commands,

  • user operations can be evaluated with analytic methods using either extremely simple memory operations closely linked to physical actions at an interface (such as the recall of what is to be typed or selected) or more complex cognitive operations.

Two kinds of models exist single-layer models that can be thought of as having a flat representation and multi-layer models, which are more complex. One of the most widely known analytic methods is the keystroke level model. This is an example of a single-layer model and it deals with short tasks, usually just single commands, and has very simple user operations embedded in the task sequence. The purpose of the keystroke level model is to enable designers to calculate task performance times that can be achieved by experienced users, that is, it gives the designer an idea of the minimum performance time for specified commands.

KLM Operators

The keystroke level model asserts that the execution part of a task can be described in terms of four different physical-motor operators followed by one mental operator and one system response operator:

  • K (keystroke or button press): it is the most frequent operator and means keys and not characters (so e.g. pressing SHIFT is a separate K operation). The time for this operator depends on the motor skills of the user and is determined by one-minute typing tests, where the total test time is divided by the total number of non-error keystrokes.

  • P (pointing to a target on a display with a mouse): this time differs depending on the distance to the target and the size of the target, but is held constant. A mouse click is not contained and counts as a separate K operation.

  • H (homing the hand(s) on the keyboard or other device): This includes movement between any two devices as well as the fine positioning of the hand.

  • D (drawing (manually) nD straight-line segments with a total length of D(nD, lD) cm): where nD is the number of the line segments drawn and lD is the total length of the line segments. This operator is very specialized because it is restricted to the mouse and the drawing system has to constrain the cursor to a .56 cm grid.

  • M (mentally preparing for executing physical actions): denotes the time a user needs for thinking or decision making. The number of Ms in a method depends on the knowledge and skill of the user. Heuristics are given to help decide where an M should be placed in a method. For example, when pointing with the mouse a button press is usually fully anticipated and no M is needed between both operators. The following table shows the heuristics for placing the M operator

  • R (response time of the system): the response time depends on the system, the command, and the context of the command. It only used when the user actually has to wait for the system. For instance, when the user mentally prepares (M) for executing his next physical action only the non-overlapping part of the response time is needed for R because the user uses the response time for the M operation (e.g. R of 2 seconds – M of 1.35 seconds = R of .65 seconds). To make things clearer, Kieras suggests the naming waiting time (W) instead of response time (R) to avoid confusion. Sauro suggests taking a sample of the system response time.


The KLM was designed to be a quick and easy-to-use system design tool, which means that no deep knowledge about psychology is required for its usage. Also, task times can be predicted (given the limitations) without having to build a prototype, recruit and test users, which saves time and money.


The keystroke-level model has several restrictions:

  • It measures only one aspect of performance: time, which means execution time and not the time to acquire or learn a task.

  • It considers only expert users. Generally, users differ regarding their knowledge and experience of different systems and tasks, motor skills, and technical ability.

  • It considers only routine unit tasks.

  • The method has to be specified step by step.

  • The execution of the method has to be error-free.

  • The mental operator aggregates different mental operations and therefore cannot model a deeper representation of the user’s mental operations. If this is crucial, a GOMS model has to be used (e.g. model K2)

  • Also, one should keep in mind when assessing a computer system that other aspects of performance (errors, learning, functionality, recall, concentration, fatigue, and acceptability), types of users (novice, casual), and non-routine tasks have to be considered as well.

Furthermore, tasks that take more than a few minutes take several hours to model and a source of errors is forgetting operations. This implies that the KLM is best suited for short tasks with few operators. In addition, the KLM can not make a perfect prediction and has a root-mean-square error of 21%.


bottom of page