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:

Begin with a method encoding that includes all physical operators and response operations.

Use Rule 0 to place candidate Ms, and then cycle through Rules 1 to 4 for each M to see whether it should be deleted.

Rule 0Insert Ms in front of all Ks that are not part of argument strings proper (e.g., text strings or numbers).

Place Ms in front of all Ps that select commands (not arguments).

Rule 1If an operator following an M is fully anticipated in the operator just previous to M, then delete the M (e.g., PMK -> PK).
Rule 2If a string of MKs belong to a cognitive unit (e.g., the name of a command), then delete all Ms but the first.
Rule 3If a K is a redundant terminator (e.g., the terminator of a command immediately following the terminator of its argument), then delete the M in front of the K.
Rule 4If a K terminates a constant string (e.g., a command name), then delete the M in front of the K; but if the K terminates a variable string (e.g., an argument string) then keep the M.

The following table shows an overview of the times for the mentioned operators as well as the times for suggested operators:

operatortime (sec)
Ktotal typing test time/total number of non-error keystrokes

Guidelines:
.08 (135 wpm: best typist)
.12 (90 wpm: good typist)
.20 (55 wpm: average skilled typist)
.28 (40 wpm: average non-secretary typist)
.50 (typing random letters)
.75 (typing complex codes)
1.20 (worst typist and unfamiliar with the keyboard)

P1.1
H0.4
D.9nD + . 16 lD
M1.35
Rsystem dependent
suggested operators
B (mouse button press or release)0.1
Click a Link/ Button3.73
Pull-Down List (No Page Load)3.04
Pull-Down List (Page Load)3.96
Date-Picker6.81
Cut & Paste (Keyboard)4.51
Typing Text in a Text Field2.32
Scrolling3.96

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:

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.

Design A: drag the file into the trash canDesign B: use the short cut "control + T"
method encoding (operator sequence)method encoding (operator sequence)
  1. initiate the deletion (M)
  2. find the file icon (M)
  3. point to file icon (P)
  4. press and hold mouse button (B)
  5. drag file icon to trash can icon (P)
  6. release mouse button (B)
  7. point to original window (P)
  1. initiate the deletion (M)
  2. find the icon for the to-be-deleted file (M)
  3. point to file icon (P)
  4. press mouse button (B)
  5. release mouse button (B)
  6. move hand to keyboard (H)
  7. press control key (K)
  8. press T key (K)
  9. move hand back to mouse (H)
Total timeTotal time
3P + 2B + 2M = 3*1.1 sec + 2*.1 sec+ 2*1.35 sec = 6.2 secP + 2B + 2H + 2K + 2M = 1.1 sec + 2*.1 sec + 2*.4 sec + 2*.2 sec + 2*1.35 sec = 5.2 sec

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:

See also

References

  1. ↑ Card, Stuart K; Moran, Thomas P; Allen, Newell (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 396–410. doi:10.1145/358886.358895. S2CID 5918086.
  2. ↑ Sauro, Jeff. "5 Classic Usability Books". MeasuringU. Retrieved 22 June 2015.
  3. ↑ Perlman, Gary. "Suggested Readings in Human-Computer Interaction (HCI), User Interface (UI) Development, & Human Factors (HF)". HCI Bibliography : Human-Computer Interaction Resources. Retrieved 22 June 2015.
  4. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. ix–x. ISBN 978-0-89859-243-6.
  5. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 398–400. doi:10.1145/358886.358895. S2CID 5918086.
  6. ↑ Fitts, Paul M (1992). "The information capacity of the human motor system in controlling the amplitude of movement". Journal of Experimental Psychology: General. 47 (3): 381–91. doi:10.1037/h0055392. PMID 13174710. S2CID 501599.
  7. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 400–401. doi:10.1145/358886.358895. S2CID 5918086.
  8. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 400. doi:10.1145/358886.358895. S2CID 5918086.
  9. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 3. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  10. ↑ Sauro, Jeff (2009). "Estimating Productivity: Composite Operators for Keystroke Level Modeling". In Jacko, Julie A (ed.). Human-Computer Interaction. New Trends. Lecture Notes in Computer Science. Vol. 5610. Berlin Heidelberg: Springer-Verlag. p. 355. doi:10.1007/978-3-642-02574-7_40. ISBN 978-3-642-02573-0.
  11. 1 2 3 4 5 6 7 Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 399. doi:10.1145/358886.358895. S2CID 5918086.
  12. 1 2 3 4 5 6 7 Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 264. ISBN 978-0-89859-243-6.
  13. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 2. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  14. 1 2 3 4 5 6 7 Sauro, Jeff (2009). "Estimating Productivity: Composite Operators for Keystroke Level Modeling". In Jacko, Julie A (ed.). Human-Computer Interaction. New Trends. Lecture Notes in Computer Science. Vol. 5610. Berlin Heidelberg: Springer-Verlag. p. 357. doi:10.1007/978-3-642-02574-7_40. ISBN 978-3-642-02573-0.
  15. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 161–166. ISBN 978-0-89859-243-6.
  16. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 260. ISBN 978-0-89859-243-6.
  17. 1 2 Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 269. ISBN 978-0-89859-243-6.
  18. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 264. ISBN 978-0-89859-243-6.
  19. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 409. doi:10.1145/358886.358895. S2CID 5918086.
  20. ↑ Sauro, Jeff (2009). "Estimating Productivity: Composite Operators for Keystroke Level Modeling". In Jacko, Julie A (ed.). Human-Computer Interaction. New Trends. Lecture Notes in Computer Science. Vol. 5610. Berlin Heidelberg: Springer-Verlag. pp. 352–361. doi:10.1007/978-3-642-02574-7_40. ISBN 978-3-642-02573-0.
  21. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 400. doi:10.1145/358886.358895. S2CID 5918086.
  22. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 260–261. ISBN 978-0-89859-243-6.
  23. 1 2 3 Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 397, 409. doi:10.1145/358886.358895. S2CID 5918086.
  24. 1 2 3 Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 409. doi:10.1145/358886.358895. S2CID 5918086.
  25. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 285–286. ISBN 978-0-89859-243-6.
  26. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1980). "The keystroke-level model for user performance time with interactive systems". Communications of the ACM. 23 (7): 396–397. doi:10.1145/358886.358895. S2CID 5918086.
  27. ↑ Sauro, Jeff (2009). "Estimating Productivity: Composite Operators for Keystroke Level Modeling". In Jacko, Julie A (ed.). Human-Computer Interaction. New Trends. Lecture Notes in Computer Science. Vol. 5610. Berlin Heidelberg: Springer-Verlag. p. 353. doi:10.1007/978-3-642-02574-7_40. ISBN 978-3-642-02573-0.
  28. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 275. ISBN 978-0-89859-243-6.
  29. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 3. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  30. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 6. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  31. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 9. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  32. ↑ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 10. Archived from the original (PDF) on 19 March 2015. Retrieved 22 June 2015.
  33. ↑ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. pp. 296. ISBN 978-0-89859-243-6.
  34. ↑ Li, Hui; Liu, Ying; Liu, Jun; Wang, Xia; Li, Yujiang; Rau, Pei-Luen Patrick (2010). Extended KLM for mobile phone interaction: a user study result. New York: ACM. ISBN 978-1-60558-930-5. {{cite book}}: |journal= ignored (help)
  35. ↑ Dunlop, M.; Crossan, A. (2000). "Predictive Text Entry Methods for Mobile Phones" (PDF). Personal Technologies. 4 (2–3): 134–143. doi:10.1007/BF01324120. S2CID 194691.
  36. ↑ Holleis, P.; Otto, F.; Hussmann, H.; Schmidt, A. (2007). "Keystroke-level model for advanced mobile phone interaction". Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. pp. 1505–1514. doi:10.1145/1240624.1240851. ISBN 978-1-59593-593-9. S2CID 2011796.
  37. ↑ Li, Hui; Liu, Ying; Liu, Jun; Wang, Xia; Li, Yujiang; Rau, Pei-Luen Patrick (2010). Extended KLM for mobile phone interaction: a user study result. New York: ACM. p. 3521. ISBN 978-1-60558-930-5. {{cite book}}: |journal= ignored (help)
  38. ↑ Rice, A.D.; Lartigue, J. W. (2014). "Touch-level model (TLM)". Proceedings of the 2014 ACM Southeast Regional Conference. pp. 1–6. doi:10.1145/2638404.2638532. ISBN 978-1-4503-2923-1. S2CID 25139034.