Title: KLM and GOMS
1KLM and GOMS
213 User Interface Design and Development
- Professor Tapan Parikh (parikh_at_berkeley.edu)
- TA Eun Kyoung Choe (eunky_at_ischool.berkeley.edu)
- Lecture 13 - April 1st, 2008
2Todays Outline
- Cognitive Modeling
- Keystroke-Level Model (KLM)
- Other GOMS Variants
3Cognitive Modeling
- Cognitive approach to HCI attempts to predict
user performance based on a model of cognition - Start with a model of how humans act
- Use that model to predict how humans would
complete tasks using a particular UI - Provided theoretical foundation of HCI in the
1970s and 1980s
4Source Stuart Card, Lecture on Human Information
Interaction, 2007
5Cognitive Models are
- Abstract
- Quantitative
- Approximate
- Estimated from experiments
- Based on a theory of cognition
Adapted from Rob Miller
6Advantages
- Dont need to implement / prototype
- Dont need to test with real users
- Theory has explanatory power
- Provides scientific foundation for design, like
other engineering fields
Adapted from Rob Miller
7Cognitive Theories in HCI
- KLM (Keystroke-Level Model) - Description of user
tasks based on low-level actions (keystrokes,
etc.) - GOMS (Goals, Operators, Methods, Selectors) -
Higher-level then KLM, with structure and
hierarchy - Fitts Law - Predicts how long it will take a
user to select a target used for evaluating
device input - Model Human Processor (MHP) - Model of human
cognition underlying each of these theories
8(No Transcript)
9Keystroke-Level Model (KLM)
10KLM Operators
- K Press a key or button
- P Point to a target on the display
- H Home hands on input device
- D Draw a line segment
- M Mentally prepare for an action
- R (system response time)
11Example Replacing a Word
Adapted from Lorin Hochstein
12KLM Analysis
- Walk through a task, listing the operators needed
to complete it - Use heuristics to insert M operators (for
example, place Ms in front of all Ps that
select a command) - These can be different for different UI styles
- Based on estimates for each operator, calculate
the amount of time required to complete the task
Adapted from Rob Miller
13Operator Estimates
- Keystroke determined by typing speed
- 0.28s for average typist (40 wpm), 0.08 for fast
typist (155 wpm), 1.20s for worst typist - Pointing determined by Fitts Law (or general
approximation) - T a b log (d/s 1) OR
- T 1.1s
- Drawing determined by Steering Law
- T a b (d/s)
Adapted from Rob Miller
14Operator Estimates
- Homing estimated by measurement
- T 0.36s (between keyboard and mouse)
- Mental prep estimated by measurement
- T 1.35s
- (estimated by taking the total task time,
subtracting physical operator time, and dividing
by the number of chunks of activity)
Adapted from Rob Miller
15Heuristics for adding Ms
- Basic idea Put an M before each step requiring
access of a chunk from long-term memory - Insert Ms before each K and P
- K -gt MK P -gt MP
- Delete Ms in the middle of typing a word or
string - MKMKMK -gt MKKK
- Delete Ms in the middle of composite actions
(for example, point and click) - MPMK -gt MPK
Adapted from Rob Miller
16Example Deleting a Word
- Using Shift-Click
- M
- P start of word
- K click
- M
- P end of word
- K shift
- K click
- H to keyboard
- M
- K Del
- Total 3M 2P 4K
- 7.37 sec
Using Delete M P start of word K
click H M K Del x n length of
word Total 2M P H (n1) K 4.44
0.28n sec
Adapted from Rob Miller
17Using KLM
- KLM can help evaluate UI designs, interaction
methods and trade-offs, if needed using
parametric analysis - If common tasks take too long or consist of too
many statements, can provide shortcuts
T
Del n times
Shift-click
n
Adapted from Rob Miller
18Empirical Validation of KLM
Source Card, Moran and Newell, The Keystroke
Level Model for User Performance Time with
Interactive Systems
19In-class Exercise
- Generate a KLM model for deleting a file from
your desktop - Estimate the time it would take using the
provided operator times - Compare the predicted time with the actual time
20Limitations of KLM
- Only applies to expert users doing routine
(well-learned) tasks - Only predicts efficiency - not error rate,
memorizability, learnability, etc. - Impractical for all but the simplest tasks
- Ignores
- Parallel processing
- Goal interleaving
- Mental workload (working memory limits, fatigue)
- Planning and problem-solving (how to select a
method?)
Adapted from Rob Miller
21GOMS
22GOMS
- GOMS provides a higher-level language for task
analysis and UI modeling - Generates a set of quantitative and qualitative
measures based on description of the task and
user interface - Provides a hierarchy of goals and methods to
achieve them - Different GOMS variants use different terms,
operate at various levels of abstraction, and
make different simplifying assumptions
23GOMS
- Goals - What the user wants to achieve can be
broken down into subgoals - Operators - An action performed in service of a
goal can be perceptual, cognitive or motor acts - Methods - Sequences of operators and subgoal
invocations that accomplish a specified goal - Selection Rules - Represent the users knowledge
of which method should be applied
Source John and Kieras, The GOMS Family of User
Interface Analysis Techniques
24Example
- Goal delete text (n chars long)
- Select method 1 if n gt 10 method 2 if n
lt 10 - Method 1 Goal highlight text delete
- Goal highlight text
- Point
- Click
- Point
- Shift
- Click
- Verify
- Click
- Method 2 Goal delete n chars
Adapted from Rob Miller
25Goals vs. Operators
- The difference between goals and operators is
simply the level of detail chosen by the analyzer - Goals are usually important end-user intentions
- Operators usually represent primitive user
actions, that have a fixed execution time
regardless of the context (or that is a constant
function of some parameter), that can be
estimated empirically - As a result, operators usually stop at the
command or keystroke level
26GOMS Variants
- KLM - Simplest version (Card, Moran, Newell 1983)
- CMN-GOMS - Original formulation includes methods
and selection rules (Card, Moran, Newell 1983) - NGOMSL - GOMS using natural language also can
model memory usage and learning times (Kieras
1988) - CPM-GOMS - Models parallel processing by
cognitive, perceptual and motor systems (John
1990)
Source John and Kieras, The GOMS Family of User
Interface Analysis Techniques
27CMN-GOMS
- Provides for methods to achieve explicit goals
and subgoals - Selection of methods are predicted by the system
- based on users rational decision-making - Mental operations are modeled either as
- VERIFY operators
- Subgoal invocations
- Selection rules
28Building a CMN-GOMS Model
- Generate task description
- Pick high-level user Goal
- Write Method for accomplishing Goal (may invoke
subgoals) - Write Methods for subgoals (recursive)
- Stop when Operators are reached
- Evaluate description of task
- Apply results to UI
- Iterate
Adapted from Chris Long, Marti Hearst
29NGOMSL
- Structured natural language notation for
representing GOMS models - Can predict learning time based on the number of
NGOMSL statements in a method (plus loading any
additional static data in memory) - Can be used for developing training materials,
help modules, etc. - Models the operation of working memory by
including Retain and Recall statements - More specific notation for mental operations
- Still does not address parallel processing, goal
interleaving, fatigue, problem-solving, etc.
30Example
Source John and Kieras, The GOMS Family of User
Interface Analysis Techniques
31CPM-GOMS
- Cognitive-Preceptual-Motor or Critical-Path-Method
- Works at an even lower level of detail then KLM
- Primitive operators are very simple perceptual,
cognitive or motor acts - Explicitly models parallelism by considering
three mental processors and storage systems that
can work in parallel (based on Model Human
Processor - to be discussed in next lecture) - Execution time predicted using critical path -
the longest path through the task based on
cognitive limitations and information flow
dependencies
32Critical Path
0
perceivetarget
perceivecursor
PP
100
100
CP
start eye move
start mouse move
start Shift press
verifytarget
50
50
50
50
move mouse
MPright
480
MPleft
pressShift
100
MP eye
move eye to target
30
Adapted from Rob Miller
33Critical Path
0
perceivetarget
perceivecursor
PP
100
100
CP
start eye move
start mouse move
start Shift press
verifytarget
50
50
50
50
move mouse
MPright
480
MPleft
pressShift
100
MP eye
move eye to target
30
Adapted from Rob Miller
34CPM-GOMS Success Story
- Phone company considering redesign of a
workstation for telephone operators - Reduced keystrokes needed for common tasks
- Put frequently-used keys closer to users fingers
- New design was 4 slower than old design
- 1 sec/call 3 million/year
- Keystroke-level model has no explanation
- But CPM-GOMS explained why
- Keystrokes removed were not on the critical path
- Used during slack time, while greeting customer
- A keystroke was moved from the beginning of call
(during slack time) to later (putting it on the
critical path)
Adapted from Rob Miller
35In-class Exercise
- Generate GOMS models (CNM-GOMS or NGOMSL) for
deleting a file from your desktop using two
methods - Drag-and-drop
- Using terminal window
- Compare the two models for deciding which should
be used, and in which contexts
36Limitations of GOMS
- Assumes extreme expert behavior
- Tasks must be goal-directed
- Does not model problem-solving, exploration, etc.
- Difficult to model behavior at this level of
detail - Still hard to model anything but the simplest
tasks - Not as easy as heuristic analysis, guidelines, or
cognitive walkthrough - Conclusion GOMS is an interesting theoretical
model, but is hardly ever used in practice
37For Next Time
- We will talk about the conceptual theories
underlying KLM and GOMS - Fitts Law
- Model Human Processor
- Interactive Prototype 2 and Experiment Design
due on April 15th!