Jump to content

Keystroke-level model

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Warm-plateau (talk | contribs) at 12:34, 5 July 2015 (Added section "Advantages"). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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. [1] 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. [2][3] 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. [4] The KLM 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 [5]:

  • 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,[6] 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 to 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.[7] The following table shows the heuristics for placing the M operator [8]:
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 0 Insert 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 1 If an operator following an M is fully anticipated in the operator just previous to M, then delete the M (e.g., PMK -> PK).
Rule 2 If a string of MKs belong to a cognitive unit (e.g., the name of a command), then delete all Ms but the first.
Rule 3 If 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 4 If 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.
  • 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 [9] suggests the naming waiting time (W) instead of response time (R) to avoid confusion. Sauro suggests taking a sample of the system response time.[10]

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

operator time (sec)
K total typing test time/total number of non-error keystrokes

Guidelines:[11][12]
.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)

P 1.1[11][12]
H 0.4[11][12]
D .9nD +. 16 lD[11][12]
M 1.35[11][12]
R system dependent[11][12]
suggested operators
B (mouse button press or release) 0.1[13]
Click a Link/ Button [7, S. 357] 3.73[14]
Pull-Down List (No Page Load) 3.04[14]
Pull-Down List (Page Load) 3.96[14]
Date-Picker 6.81[14]
Cut & Paste (Keyboard) 4.51[14]
Typing Text in a Text Field 2.32[14]
Scrolling 3.96[14]

Comparison with GOMS

The KLM is based on the keystroke level, which belongs to the family of GOMS models.[15] 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.[16] Therefore, the KLM has no goals and method selection rules, which in turn makes it easier to use [17]. 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.[17] All in all, the KLM represents the practical use of the GOMS keystroke level.[18]

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.[19] Also, task times can be predicted (given the limitations) without having to build a prototype, recruit and test users, which saves time and money.[20] See the example for a practical use of the KLM as a system design tool.


Example Calculation

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

or

" Change 512 'hte'the' "

Steps

  • 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 hte and the
  • 3 keystrokes to press the 3 " ' "
  • 1 keystroke to press Return Key

Values

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

References

Notations

  • This article incorporates text from Dr. G. Abowd: GOMS Analysis Techniques – Final Essay, (link do not work) which has been released into GFDL by its author (see [1]).
  • Card, S.K.; Thomas, T.P.; Newall, A. (1983), The Psychology of Human-Computer Interaction, London: Lawrence Erlbaum Associates, ISBN 0-89859-243-7
  • Kieras, D. (2001) [1993], "Using the Keystroke-Level Model to Estimate Execution Times" (PDF), http://courses.wccnet.edu/~jwithrow/docs/klm.pdf, On-line handout {{citation}}: External link in |work= (help)

Footnotes

  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. doi:10.1145/358886.358895.
  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 0898592437.
  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.
  6. ^ Fitts, Paul M (1992). "The information capacity of the human motor system in controlling the amplitude of movement". Journal of Experimental Psychology: General. 121 (3). doi:10.1037/h0055392.
  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.
  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.
  9. ^ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 3. Retrieved 22 June 2015.
  10. ^ Sauro, Jeff (2009). Jacko, Julie A (ed.). "Estimating productivity: Composite operators for keystroke level modeling". Human-Computer Interaction. New Trends: Proceedings of the 13th International Conference (LNCS). 5610. Berlin Heidelberg: Springer-Verlag: 355. doi:10.1007/978-3-642-02574-7_40.
  11. ^ a b c d e f 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.
  12. ^ a b c d e f Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. p. 264. ISBN 0898592437.
  13. ^ Kieras, David. "Using the Keystroke-Level Model to Estimate Execution Times" (PDF). p. 2. Retrieved 22 June 2015.
  14. ^ a b c d e f g Sauro, Jeff (2009). Jacko, Julie A (ed.). "Estimating productivity: Composite operators for keystroke level modeling". Human-Computer Interaction. New Trends: Proceedings of the 13th International Conference (LNCS). 5610. Berlin Heidelberg: Springer-Verlag: 357. doi:10.1007/978-3-642-02574-7_40.
  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 0898592437.
  16. ^ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. p. 260. ISBN 0898592437.
  17. ^ a b Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. p. 269. ISBN 0898592437.
  18. ^ Card, Stuart K; Moran, Thomas P; Newell, Allen (1983). The Psychology of Human-Computer Interaction. Hillsdale: L. Erlbaum Associates Inc. p. 264. ISBN 0898592437.
  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.
  20. ^ Sauro, Jeff (2009). Jacko, Julie A (ed.). "Estimating productivity: Composite operators for keystroke level modeling". Human-Computer Interaction. New Trends: Proceedings of the 13th International Conference (LNCS). 5610. Berlin Heidelberg: Springer-Verlag: 352. doi:10.1007/978-3-642-02574-7_40.