GOMS Project

advertisement
GOMS Project
Trenton Schulz
Outline
• Introduction
• KLM–GOMS overview
• What has been done
• Demo!
• What needs to be done
Introduction—I
• There are three “basic parts” in the design
process
• Understanding Users
• Designing Prototypes
• Evaluating
Introduction—II
• Evaluating designs typically fall into three
categories
• Observing users
• Asking users and experts
• Testing and modeling users
GOMS here
What is GOMS?
• Stands for Goals, Operators, Methods, and
Selectors
• Presented in The Psychology of Human-
Computer Interaction by Card, Moran, Newell
• Produces predictions of how “experts” will
use a proposed system
Versions of GOMS
• Original GOMS (CMN–GOMS)
• NGOMSL
• CPM–GOMS
• Keystroke-Level Model (KLM)
How Does KLM
Work?
• Consists of operators:
Operator
Description
Time in sec
P
Pointing
1.10s
K
Keypress or button press
≈0.20s
H
Move to keyboard/mouse
0.40s
M
Mental preparation
1.35s
R(t)
Response of t sec by the
system
t
How It Works
Operator
Description
H
K
Hand to Mouse
Point at Radio
Button
Press Button
Hand to
Keyboard
Hit ‘1’
K
Hit ‘0’
K
Hit ‘0’
K
Hit “Return”
P
K
H
Where’s the M?
• There are heuristics for adding and
removing Ms
• Typically you add in Ms at certain points and
then start removing them
M Heuristics in
Action
HPKHKKKK
HMPMKHMKMKMKMK
HMPKHMKKKMK
s
5
6.9
!
!
!
s
d
n
o
ec
This is Great but...
• KLM is pretty quick to learn
• Generating a model can take some time
• Potential for mistakes
• Repetitive and tedious
Potential for Automation!
Automating KLM
• Most of the operators match system events
• Some can be determined by looking at the
the sequence of operators
• Just need to hook it up…
Hooking into Qt
• Dual-licenced cross-platform C++ toolkit
that works on X11 (Linux), Windows, and
Mac OS X
• Embedded version—Qtopia
• A tool that could work on four platforms
Adding Code
• Need to add a little code to the application
to evaluate:
#include “listener.h”
...
Listener listener(QAbstractEventDispatcher::instance());
...and link against the library
Automation
• Developer runs both the application and the
KLM “client”
• Developer selects the application to
evaluate and presses “Start Recording”
• Use application as normal
• Click “Stop” and results are shown
KLM Table Model &
View
Application to
Evaluate
Network Connection
KLM Server
KLM
Client
Demo
What is done
• Necessary event translation to KLM
operators on Mac OS X and Qtopia Core
• Model coalescing/simplifying
• Save and loading of models
• Discovery of applications that can be
evaluated
What needs to be
done
• Proper placement of M’s
• Use events, apply original heuristics, both?
• Get things working with Qtopia
Smartphone edition
• Generate models for the
standard Qtopia phone
applications using Greenphone
Outstanding
Questions
• Are there other operators that need to be
taken into account for mobile phone use?
• How valid will the models be for mobile
phone use?
• How to best to use the models?
References
S. K. Card, T. P. Moran, and A. Newell. The keystroke-level model for user
performance time with interactive systems. Commun. ACM, 23(7):396–410,
1980.
S. K. Card, A. Newell, and T. P. Moran. The Psychology of Human-Computer
Interaction. Lawrence Erlbaum Associates, Inc., Mahwah, NJ, USA, 1983.
J. Raskin. The humane interface: new directions for designing interactive systems. ACM
Press/Addison-Wesley Publishing Co., New York, NY, USA, 2000.
Download