Keystroke-level model
In human–computer interaction, the keystroke-level model (KLM) predicts how long it will take an expert user to accomplish a routine task without errors using an interactive computer system. It was proposed by Stuart K. Card, Thomas P. Moran and Allen Newell in 1980 in the Communications of the ACM and published in their book The Psychology of Human-Computer Interaction in 1983, which is considered as a classic in the HCI field. The foundations were laid in 1974, when Card and Moran joined the Palo Alto Research Center (PARC) and created a group named Applied Information-Processing Psychology Project (AIP) with Newell as a consultant aiming to create an applied psychology of human-computer interaction. The keystroke-level model is still relevant today, which is shown by the recent research about mobile phones and touchscreens (see Adaptions).

Structure of the keystroke-level model 
The keystroke-level model consists of six operators: the first four are 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 following table shows an overview of the times for the mentioned operators as well as the times for suggested operators:

Comparison with GOMS 
The KLM is based on the keystroke level, which belongs to the family of GOMS models. The KLM and the GOMS models have in common that they only predict behaviour of experts without errors, but in contrast the KLM needs a specified method to predict the time because it does not predict the method like GOMS. Therefore, the KLM has no goals and method selection rules, which in turn makes it easier to use. The KLM resembles the model K1 from the family of GOMS models the most because both are at the keystroke level and possess a generic M operator. The difference is that the M operator of the KLM is more aggregated and thus larger (1.35 seconds vs. 0.62 seconds), which makes its mental operator more similar to the CHOOSE operations of the model K2. All in all, the KLM represents the practical use of the GOMS keystroke level.

Advantages 
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. See the example for a practical use of the KLM as a system design tool.

Limitations 
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 which 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%.

Example 
The following example slightly modified to be more compact from Kieras shows the practical use of the KLM by comparing two different ways to delete a file for an average skilled typist. Note that M is 1.35 seconds as stated in the KLM instead of 1.2 seconds used by Kieras. The difference between the two designs would remain the same either way for this example.

This shows that Design B is 1 second faster than Design A, although it contains more operations.

Adaptions 

The six operators of the KLM can be reduced, but this decreases the accuracy of the model. If this low of an accuracy makes sense (e.g. “back-of-the-envelope” calculations) such a simplification can be sufficient.

While the existing KLM applies to desktop applications, the model might not fulfill the range of mobile tasks, or as Dunlop and Cross  declaimed KLM is no longer precise for mobile devices. There are various efforts to extend the KLM regarding the use for mobile phones or touch devices. One of the significant contributions to this field is done by Holleis, who retained existing operators while revisiting the timing specifications. Furthermore, he introduced new operators: Distraction (X), Gesture (G), Initial Act (I). 
While Li and Holleis  both agree that the KLM model can be applied to predict task times on mobile devices, Li suggests further modifications to the model, by introducing a new concept called operator blocks. These are defined as "the sequence of operators that can be used with high repeatability by analyst of the extended KLM.”.  He also discards old operators and defines 5 new mental operators and 9 new physical operators, while 4 of the physical operators focus on pen-based operations. 
Rice and Lartigue  suggest numerous operators for touch devices together with updating existing operators naming the model TLM (Touch Level Model).
They retain the operators Keystroke (K/B), Homing (H), Mental (M) and Response Time (R(t)) and suggest new touch specific operators partly based on Holleis’ suggested operators:

 Distraction. A multiplicative operator that adds time to other operators. 
 Pinch. A 2+ finger gesture commonly used to zoom out
 Zoom. A 2+ finger gesture commonly used to zoom in
 Initial Act. The action or actions necessary to prepare the system for use (e.g. unlocking device, tapping an icon, entering a password).
 Tap. Tapping some area of the screen to effect a change or initiate an action.
 Swipe. A 1+ finger gesture in which a finger or fingers are placed on the screen and subsequently moved in a single direction for a specified amount of time.
 Tilt. The tilting — or full rotation of — the entire device d degrees (or radians).
 Rotate. A 2+ finger gesture in which fingers are placed on the screen and then rotated d degrees (or radians) about a central axis.
 Drag. A 1+ finger gesture in which fingers are placed on the screen and then moved — usually in a straight line — to another location.

See also 
 Human-Computer Interaction
 Usability
 Usability Testing
 Human information processor model
 GOMS
 CMN-GOMS
 CPM-GOMS

References

External links
Simple KLM calculator (free, web-based)
Simple KLM calculator (free, downloadable Windows app)
The KLM Form Analyzer (KLM-FA), a program which automatically evaluates web form filling tasks (free, downloadable Windows app). 
The CogTool project at Carnegie Mellon University has developed an open-source tool to support KLM-GOMS analysis.  See also their publications about CogTool.
GOMS by Lorin Hochstein

Human–computer interaction