Usability Principles John Stasko John Kelleher
Download
Report
Transcript Usability Principles John Stasko John Kelleher
Usability Principles
John Stasko
John Kelleher
Defining Usability...
1
Five Usability Attributes
Learnability: ease of learning for novice users.
Efficiency: steady-state performance of expert
users.
Memorability: ease of using system
intermittently for casual users.
Errors: error rate for minor and catastrophic
errors.
Subjective Satisfaction: how pleasant system is
to use.
2
Learning Curves
Some systems are designed to focus on
learnability.
Others emphasise efficiency for proficient users.
Some support both ease of learning and an
“expert mode”
E.g. Rich menus and dialogues plus a
command/scripting language),
Thereby they attempt to ride the top of the curves in
next slide.
3
Riding the Learning Curves
Learning curves for hypothetical systems focusing on the novice user (easy to
learn, but less efficient to use) and the expert user (harder to learn, but then
highly efficient).
4
Typical Ways of Measuring
Usability
Learnability: pick novice users of system, measure time to
perform certain tasks. Distinguish between no/some general
computer experience.
Efficiency: decide definition of expertise, get sample expert
users (difficult), measure time to perform typical tasks.
Memorability: get sample casual users (away from system for
certain time), measure time to perform typical tasks.
Errors: count minor and catastrophic errors made by users
while performing some specified task.
Satisfaction: ask users' subjective opinion (questionnaire,
interview), after trying system for real task.1
1
Beware users ratings closely related to ‘peak’ difficulty.
5
UI Usability Principles
Categories
Learnability
Flexibility
support for multiple ways of doing tasks
Robustness
support for learning for users of all levels
support for recovery
Always think about exceptions, suitability
6
Learnability Principles
Predictability
Synthesizability
Familiarity
Generalizability
Consistency
7
Predictability
“I think that this action will do….”
Support for the user to determine the effect of future
action based on past interaction history
Consequences of current action
Operation visibility –
can see avail actions
e.g. menus vs. command shell
grayed menu items
User does not have to memorize permitted actions
Recognition vs. recall
8
Synthesizability
“How did I get here?”
Support for user to assess the effect of past
operations
Immediate honesty
Results of actions immediately visible (transparency)
e.g. WIMP file system
Eventual honesty
Results of actions must be inquired
e.g. command line
9
Familiarity
“Hey, I think I can figure this out!”
How well the system relates to previous
interfaces/experiences
Guessability
e.g. typewriter/word-processor
Affordances
Intrinsic actions of visual objects
e.g. buttons are pushed, ‘rubber’ pads afford dragging
Use of metaphors
pitfalls
10
Generalisability
Does knowledge of one UI apply to others?
Support for user to extend knowledge of
specific interaction within and across
applications to other similar situations
Analogical mapping
e.g. cut & paste
word processor
file system
UI Developers guidelines
11
Consistency
“Just when I get comfortable with a system, it changes!”
Likeness in input-output behaviour arising from similar
situations or similar task objectives
Changes in interfaces are disruptive
Need a good reason to change
Otherwise, be consistent
Similar ways of doing tasks
interacting
output
screen layout
Is this always desirable for all systems, all users?
12
Flexibility Principles
“How broad is the interface?”
Dialog Initiative
Multithreading
Task migratability
Substitutivity
Customizability
13
Dialog Initiative
“Who interrupts who?”
System pre-emptive
system does all prompts, user responds
sometimes necessary
E.g. “Are you sure you want to do that?”
User pre-emptive
user initiates actions
more flexible
E.g. Buttons, Ctrl-Alt-Del
14
Multithreading
“How do I do two things at the same time?”
Support for multiple tasks
Two types
Concurrent
input to multiple tasks simultaneously
Interleaved
many tasks, but input to one at a time
E.g. windowing system
15
Task Migratability
“You do that and I’ll do this.”
Division of labour between core and user
E.g. co-operative spell-checking
Ability of user to take control of automated
system tasks
E.g. auto-pilot
16
Substitutivity
“What format should I use?”
I/O should be available in multiple redundant
forms
Allow user to choose suitable
interaction methods
Allow different ways to
perform actions E.g. Excel
specify data
configure
Allow different ways of presenting
output
to suit task, user
E.g. PowerPoint normal view, notes view, slide sorter,
print preview etc.
17
Customizability
“How can I make this interface work better?”
Ability to modify interface
By user - adaptability
E.g. Photoshop actions
By system – adaptivity
E.g. styles in Word
18
Robustness Principles
“How well supported is the interface?”
Observability
Recoverability
Responsiveness
Task Conformance
19
Observability
“What is going on?”
Can user determine internal state of system from
observable state?
Browsability
explore current state
Reachability
navigate observable states
Persistence
how long does observable state persist?
E.g. Outlook ‘bell’ and system task pane icon
20
Recoverability
“Oops!”
Ability to continue to a goal after recognizing error
Forward Recoverability
ability to fix when we can’t undo?
Backward Recoverability
undo previous error(s)
Commensurate effort
Difficult to correct, then difficult to do in the first place
21
22
Responsiveness
“What is the system doing now?”
Communication latency
Response time
time for system to respond in some way to user
action(s)
Stability principle
response time invariance
23
Task Conformance
“This doesn’t do what I need it to do”
Task coverage/completeness
can system do all tasks of interest?
Is it comprehensive?
Task adequacy
How well does it support user’s tasks?
Does system match real-world tasks?
24
Further Reading
Human-Computer
Interaction (2nd
Ed.),
Chapter 4
25
Novel Answering Machine
Interface1
26
LiveWire1
27