Title: Keystroke Level Model
1Keystroke Level Model
- Professor L. A. Rowe
- April 28, 1999
2Keystroke Level Model
- Card, Moran, NewellCACM, July 1980
- Outline
- Problem statement
- Model
- Empirical validation
- Applications
3Problem Statement
- Goal
- Develop simple model to describe time to do task
with a given method on an interactive system - Ttask Tacquire Texecutewhere Ttask total
time to complete task Tacquire time to select
method to complete task Texecute time to
perform method - Model predicts Texecute
- Assume expert users and no errors
4Model
- Texecute ?(time to execute primitive op)
- Primitive operations
- K key/button press
- P point to target with mouse
- H home hands to keyboard or mouse
- D draw line with mouse
- M mental preparation (pause)
- R system response time
5Model (cont.)
- Times for primitive operations are predicated
from experiments - Time to press key/button ranges between
- 0.08 sec/char fast typist
- 0.28 sec/char average typist
- 1.2 sec/char slow typist
6Actual Parameters
D distance S size .8, 1.5
nD segments lD total length
values derived from experiments
7Encoding Method
- Code method as sequence of primitive operations,
sum up times - Example replace 5 letter word with another
- Editor 1 keyboard based
- next line MK(line feed)
- substitute command MKs
- enter new word 5Kxxxxx
- terminate arg MK(return)
- enter old word 5Kzzzzz
- terminate arg MK(return)
- terminate command K(return)
- Texecute 4tM 15tK 8.4 sec
8Encoding Method (cont.)
- Editor 2 mouse based
- grab mouse Hmouse
- point to word Pword
- select word Kyellow mouse button
- home to keyboard Hkeyboard
- replace command MKR
- type new word 5Kzzzzz
- terminate type in MK(esc)
- Texecute 2tM 8tK 2tH tP 6.2 sec
- Model Editor 2 is 2 secs (i.e. 25) than editor 1
9Placement of Ms
- rule 0 place M before all Ks not part of arg
strings and before all Ps that select commands - for each M do
rule 1 if operator fully anticipated, delete
M(e.g. PMK ? PK) rule 2 if string of MKs
belongs to cognitive unit, delete all Ms but
first rule 3 if K is redundant terminator,
delete M rule 4 if K terminates constant string
(i.e. command), delete itif K terminates
variable string (i.e. arg), keep it
10Placement of Ms
- Example Mouse-based Editor 2 sequence
- HmPwordKyHkKR5KK(esc)
- ? HmPwordMKyHkMKR5KMK(esc)
- ? HmPwordKyHkKR5KK(esc)
rule 0
rule 1
11Placement of Ms
Example Keyboard-based Editor 1
sequence K(lf)Ks5KK(ret)5KK(ret)K(
ret) ? MK(lf)MKs5KMK(ret)5KMK(ret)
MK(ret) ? MK(lf)MKs5KMK(ret)5KMK
(ret)K(ret)
rule 0
rule 3
12Empirical Validation
- Conducted experiment on real systems to compare
predictions to observations - 14 tasks on 3 types of systems
- text editors
- graphics systems
- command executers
- Users
- practice using system
- were tested to determine typing and drawing speed
13Empirical Validation
- Model predicts within 20 of average time to
complete task - 0.5 secs ? Tacquisition ? 4 secs
Text editors
Graphics editors
Observed time
Predicted time
14Why is KLM Useful?
- Provides model to reason about keystrokes
required to implement operation - Reminds us to think about timer required for
basic interface actions - Mental processing (M) is significant
15Applications
- Benchmark existing systems
- Develop sample tasks, compare editors
- Results
- POET SOS DISPED
- predicted 100 84 45
- actual 100 93 46
16Parametric Analysis
- Compare methods to accomplish task
- Example
- 2 methods to correct spelling error in word which
is N words behind the current cursor position
17Parametric Analysis
- Method 1
- erase back to word, correct it, retype text
- next line MK(ctrl)
- substitute command n((1/c)MKw)
- enter new word 5.5K
- terminate arg 5.5(n1)K
- Texecute ? (1 n/c)tM (1 6.5)tK
- 1.6 2.16n secs
- Notes
- 1. c is chars per chunk ? 4
- 2. average letters per word ? 5.5
18Parametric Analysis
- Method 2
- exit type-in mode, replace word, re-enter type-in
mode - terminate type-in MK(esc)
- point/select error word Hmouse Pword
Kyellow button - invoke replace command Hkeyboard MKR
- type new word 4.5K
- terminate replace MK(esc)
- point/select type-in Hmouse Pword Kyellow
button - reenter type-in HkeyboardKI
- Texecute ? 4tM 10.5)tK 4tH 2tP
- 12.1 secs
19Parametric Analysis
- Method 3
- Backskip/resume commands
- set up backskip MK(ctrl)
- execute n 1 backskips (n 1)(1/c)MKS
- back word MKW
- type new word 4.5K
- execute resume M2K(ctrl-R)
- Texecute ? 3 (n 1)/c)tM (n 7.5)tK
- 5.8 0.62n secs
20Parametric Analysis
15
Erase method (1)
Replace method (2)
10
Texecute (secs)
Backskip/resume method (3)
5
n (words)