Document

advertisement
Introduction to User Interface
Design
CS 401
Material adapted from Saul
Greenberg, Univ. of Calgary
User Interfaces
• “Today, user needs are recognized to be
important in designing interactive
computer systems, but as recently as
1980, they received little emphasis.” J.
Grudin
• “We can’t worry about these user interface
issues now. We haven’t even gotten this
thing to work yet!” Mulligan
Why is usability important?
• poor usability results in
– anger and frustration
– decreased productivity in the workplace
– higher error rates
– physical and emotional injury
– equipment damage
– loss of customer loyalty
– costs money
What is usability?
Usability is a measure of the
effectiveness, efficiency and
satisfaction with which specified
users can achieve specified goals in
a particular environment.
• ISO 9241
UI
• The User Interface today is often one of the most critical
factors regarding the success or failure of a computer
system
• Good UI design:
–
–
–
–
–
Increases efficiency
Improves productivity
Reduces errors
Reduces training
Improves acceptance
• Approach: The UI is the system
– Design with the UI in mind
• Things to consider
– Technical issues in creating the UI
– User’s mental model
– Conceptual model
Human Computer Interaction
• A discipline concerned with interactive
computing systems for human use
implementation
design
evaluation
An interface design process
Goals:
Articulate:
•who users are
•their key tasks
Task
centered
system
design
Methods:
Evaluate
Brainstorm
designs
Psychology of
everyday
things
Participatory
design
User
involvement
Usercentered
design
Representation
& metaphors
Participatory
interaction
Task
scenario
walkthrough
low fidelity
prototyping
methods
Products:
User and
task
descriptions
Throw-away
paper
prototypes
Refined
designs
Graphical
screen
design
Interface
guidelines
Style
guides
Completed
designs
Usability
testing
Field
testing
Heuristic
evaluation
high fidelity
prototyping
methods
Testable
prototypes
Alpha/beta
systems or
complete
specification
User and Task Descriptions
• First Goal: Articulate who the users are
and what their tasks are
• We will discuss this to some degree – it is
the same problem of collecting
requirements
• Methods
– Task Centered Design
– Participatory Design
– User-Centered Design
Design
• Poor UI design can make an otherwise
well-written system unusable
– Pathological designs
– Many human errors result from design errors
– Designers help through a good conceptual
model
Early tractors
• Original design
high center
of gravity
Terrain
– un-surfaced
– rough
– hilly
narrow
wheel base
Result
Used to be called driver’s error but
accidents now infrequent as designs now have
low center of gravity, wider wheel bases
Lessons Learned
• Lesson 1
– Most failures of human-machine system are
due to poor designs that don’t recognize
peoples’ capabilities and fallibilities
– This leads to apparent machine misuse and
“human error”
• Lesson 2
– Good design always accounts for human
capabilities.
Psychopathology of everyday
things
• Typical frustrations
– The engineer who founded DEC confessed at
the annual meeting that he can’t figure out
how to heat a cup of coffee in the company’s
microwave oven
– How many of you can program or use
all aspects of your
•
•
•
•
•
digital watch?
DVR/DVD Player?
answering machine?
stereo system?
cell phones?
Other pathological examples:
• Remote control from Leitz slide projector
– How do you forward/reverse?
• Instruction manual:
– short press: slide change forward
– long press: slide change backward
•Slide idea from Donald Norman
Still more pathological examples
• Modern telephone systems
– standard number pad
– two additional buttons * and #
• Problem
– many hidden functions
– operations and outcome completely invisible
• *72+number = call forward
– can I remember that combination?
– if I enter it, how do I know it caught?
– how can I remember if my phone is still forwarded?
• Ok, I’ll read the manual
– but what does call park mean? what's a link?
– where is that manual anyway?
Getting serious about design
• World War II
– complex machines (airplanes, submarines...)
• taxed people’s sensorimotor abilities to control them
• frequent (often fatal) errors occurred even after high training
– example airplane errors:
• if booster pump fails, turn on fuel valve within 3 seconds
– test shows it took ~five seconds to actually do
• Spitfire: narrow wheel base
– easy to do violent ground loops which breaks undercarriage
• Altimeter gauges difficult to read
– caused crashes when pilots believe they are at a certain altitude
• Result
– human factors became critically important
What’s the altitude?
– Early days (< 1000’):
0
• only one needle needed
9
1
8
7
6
4
5
2
– As ceilings increased over
1000’
3
– As they increased beyond
10,000’
• small needle added
• box indicated 10,000’
increment through color
change
< 10,000’
> 10,000’
Tape altimeter
14000
900
000
15000
100
200
16000
• Human factors test
showed:
– eliminated reading errors
– was faster to read
300
reference
line
400
17000
500
18000
600
independent
movement
• But not in standard use!
Why?
The Psychopathology of
computers
• Britain 1976
– Motorway communication system operated 40% of it’s highways
– police controlled it in real time to
• change lane signs, direction signs, speed limits, etc
– On December 10th, police failed to change the
speed limit signs when fog descended
•
•
•
•
34 vehicles crashed
3 people killed
11 people injured and trapped in their vehicles
motorway closed for 6.5 hours
40 km
Slow Down!
Fog Ahead
Some quotes
• Police (at inquest)
– “The system did not accept the instruction”
• Dept of Transport (after examining computer logs)
– “There is no evidence of technical failure”
• System designers
– after emphasizing that they have no responsibility for the system
• “We supplied it over 5 years ago and have never been called
to look at that problem”
• The Coroner’s court
– judged it as "operator error"
• the police operator:
“failed to follow written instructions for entering the relevant data”
•
Where have we heard this before?
Not
me!
Example problems
• cryptic input codes
– XR300/1: change (X) sign 300 on highway M5 (R) to code 1
– i.e. change particular sign to indicate fog condition
• no feedback
– operator entered command, no visible effect of system response
• cryptic error messages
– “Error code 7”
•
teletype machine was old, text illegible
– people could not see what they typed or system’s reply
• operator overloaded with other chores
– also handled radio and telephone traffic
Visual Affordance
• the perceived and actual fundamental properties
of the object that determine how it could be used
– Appearance indicates how the object should be used
• chair for sitting
• knobs for turning
• slots for inserting things into
• buttons for pushing
– Just by looking the user should know
• State of the system
• Possible actions
• Don’t violate these principles to make something “look good”!
– Complex things may need explaining but
simple things should not
• when simple things need labels & instructions, then design has
failed
Many ideas in this deck are adapted from Don Norman’s book: The Design of Everyday things
Poor Visual Affordance
• Trapped between
doors!
• Handles afford
pulling
• Using a flat plate
would constrain the
user to push
How fast are we going?
The well-trodden path
Please Push Slowly!
• Wonder why doors
have windows?
Evidently someone was
smacked…
The case of the mistaken urinal
Visual affordance
• needs familiar idiom and metaphor to work
sliders for
sliding
are these
buttons?
dials for
turning
what does
this button
do?
Visual affordance problems
Is this a
graphic or a
control?
IBM Real Phone
A button is for pressing,
but what does it do?
Visual affordances for
window controls are
missing!
text is for editing, but it doesn’t do it.
Visible constraints
• limitations of the actions possible perceived from object’s
appearance
– provides people with a range of usage possibilities
Push or pull?
Which side?
Can only push,
side to push clearly visible
On which side does the door open?
How do you open this
package?
• If you are like me, by ripping it open
But that will dry out the wet pack – the
proper way is to use the flap
Remove tearable perforations at top, add
hand or more attention to location of flap
Visible constraints: Entering a
Date
Controls constructed in Visual Basic
Mapping
• Controls and displays should exploit
natural mapping
• Natural mapping takes advantage of
physical analogies and cultural standards
– Physical: Steering wheel
– Cultural: red means stop, green means go
Mouse or Keyboard?
What Knob Goes Where?
Exploiting Natural Mapping
Yellow Street Lights
• Possible to confuse with stoplight
How do you play the CD?
How do you turn on the shower?
• Must reach down
where the water
comes out and pull
down!
Instructions!
Mapping of Selected Mode to Icon
Only active
palette items
visible
Depressed
button
indicates
current
mapped item
Microsoft Paint
Cursor re-enforces
selection of current
item
Causality
• the thing that happens right after an action is
assumed by people to be caused by that action
– interpretation of “feedback”
– false causality
• incorrect effect
– invoking unfamiliar function just as computer hangs
– causes “superstitious” behaviors
• invisible effect
– command with no apparent result often re-entered repeatedly
– e.g., mouse click to raise menu on unresponsive system
Feedback Examples
• Telephone button press tones
– Telephone clicks
• Buzz typing virtual keys on a slate/tablet
• Clicker on your turn signal
• Animated icon while waiting for a web
page to load
VCR Feedback
• Did I really set it correctly to record at 8PM
on Tuesday?
More or Less Coffee?
• Does the light on the bottom indicate 4-max
cups, or min-3 cups?
On=min to 3
Poor Feedback in LViewPro
Effects visible only after Exec button is pressed
•Ok does nothing!
•awkward to find appropriate color level
LViewPro
Transfer effects
• people transfer their learning/expectations of
similar objects to the current objects
• positive transfer: previous learning's also apply to new
situation
• negative transfer: previous learning's conflict with the new
situation
Population stereotypes and
idioms
• Populations learn idioms that work in a certain way
– red means danger
– green means safe
– Idioms vary in different cultures
• Light switches
– America: down is off
– Britain: down is on
• Faucets
– America: anti-clockwise on
– Britain: anti-clockwise off
Conceptual model
• People have “mental models” of how things work, built from
–
–
–
–
–
–
–
–
affordances
causality
constraints
mapping
positive transfer
population stereotypes/cultural standards
instructions
interactions
• models allow people to mentally simulate operation of device
• models may be wrong
– particularly if above attributes are misleading
Good example: Scissors
• affordances:
– holes for something to be inserted
• constraints:
– big hole for several fingers, small hole for thumb
• mapping:
– between holes and fingers suggested and constrained by appearance
• positive transfer and cultural idioms
– learnt when young
– constant mechanism
• conceptual model:
– implications clear of how the operating parts work
Bad example: Digital watch
• affordances:
– four push buttons to push, but not clear what they will do
• constraints and mapping unknown
– no visible relation between buttons, possible actions and end result
• transfer of training
– little relation to analog watches
• cultural idiom
– somewhat standardized core controls and functions
– but still highly variable
• conceptual model:
– must be learnt
Designing a good conceptual
model
• communicate model through visual image
–
–
–
–
visible affordances, mappings, and constraints
visible causality of interactions
cultural idioms, transfer
instructions augments visuals
all work together to remind a person of what can be done and
how to do it
Design
Model
User's model
User
Designer
System
System
image
Graphical Screen Design
• Contrast
–
–
–
–
make different things different
brings out dominant elements
mutes lesser elements
creates dynamism
• Repetition
– repeat design throughout the interface
– consistency
– creates unity
• Alignment
– visually connects elements
– creates a visual flow
• Proximity
– groups related elements
– separates unrelated ones
Robin Williams Non-Designers Design Book, Peachpit Press
Original
Proximity
Alignment
Contrast
Repetition
Representations
• Solving a problem simply means representing it so as to
make the solution transparent
(Simon, 1981)
• Good representations
– allow people to find relevant information
• information may be present but hard to find
– allow people to compute desired conclusions
• computations may be difficult or “for free” depending on
representations
Which is the best flight?
• length
• stop-overs
• switches...
depart
arrive
AC 117
Vancouver - Calgary
7:00
9:00
Cdn 321 Vancouver - Calgary
9:00
12:00
Cdn 355 Calgary - Montreal 13:30
19:30
AC 123
Calgary - Toronto
12:30
16:30
AC 123
Toronto - Montreal
16:45
17:30
*time zone: +1 van-cal, +2 cal-tor, mtl
7
9
11
13
15
17
14
16
18
Vancouver
AC 117
Calgary
8
Cdn 321
10
12
Cdn 355
AC 123
Toronto
Montreal
10
12
14
16
18
20
When do I take my drugs?
•10 - 30% error rate in taking pills, same for pillbox organizers
•Inderal
Lanoxin
Carafate
Zantac
Quinag
Couma
-
Breakfast
Lanoxin O
Inderal O
Quinag O
Carafate O
Zantac
Couma
Adapted from Donald Norman
1 tablet 3 times a day
1 tablet every a.m.
1 tablet before meals and at bedtime
1 tablet every 12 hours (twice a day)
1 tablet 4 times a day
1 tablet a day
Lunch
O
O
O
O
Dinner
O
O
O
Bedtime
O
O
O
O
Breakfast Lunch Dinner Bedtime
Lanoxin
Inderal
Quinag
Inderal
Quinag
Inderal
Quinag
Quinag
Carafate
Carafate
Carafate
Carafate
Zantac
Zantac
Couma
Which representation is best?
• depends heavily on task
What is precise
value?
Windows 95 System Monitor
How does the performance
now compared to its peak?
How does performance
change over time?
Which folder has the most
documents?
right menu
+ properties
Windows 95 File Viewer
Information Visualization
• Graphics should reveal the data
– show the data
– not get in the way of the message
– avoid distortion
– present many numbers in a small space
– make large data sets coherent
– encourage comparison between data
– supply both a broad overview and fine detail
– serve a clear purpose
E. Tufte
Visual Display of Quantitative Information
many examples on the following slides are taken from Tufte’s books
Chart Junk: Cotton production in Brazil,
1927
E. Tufte Visual Display of Quantitative Information
Chart Junk: Removing deception
and simplification
Maintenance cost / year
70
70
Maintenance cost / year
65
65
60
60
55
55
50
50
45
45
40
40
35
35
30
30
25
25
20
20
15
15
10
10
5
5
0
0
Ford
GM
Pontiac
Ford
Toyota
Maintenance cost / year
66
GM
Pontiac
Toyota
Ford
GM
Pontiac
65
Toyota
64
63
62
61
60
59
58
Ford
GM
Pontiac
Toyota
Lessons on Representation
• Good representations
– captures essential elements of the event / world &
mutes the irrelevant
– appropriate for the person, their task, and their
interpretation
• Information visualization
– Tufte’s principles
– overview first, zoom and filter, then details on
demand
– many techniques now available
1 Simple and natural dialogue
– use the user’s conceptual model
– match the users’ task sequence
– minimize mapping between interface and task semantics
From Microsoft applications
1 Simple and natural dialogue
• Present exactly the information the user needs
– less is more
• less to learn, to get wrong, to distract...
– information should appear in natural order
• related information is graphically clustered
• order of accessing information matches user’s expectations
– remove or hide irrelevant or rarely needed information
• competes with important information on screen
– remove modes
– use windows frugally
• don’t add unneeded navigation and window management
2 Speak the users’ language
2 Speak the users’ language
• Terminology based on users’ language for task
– e.g. withdrawing money from a bank machine
• Use meaningful mnemonics, icons & abbreviations
– eg File / Save
• Ctrl + S
• Alt FS
(abbreviation)
(mnemonic for menu action)
3 Minimize user’s memory load
• Computers good at
remembering, people
are not!
• Promote recognition
over recall
– menus, icons, choice
dialog boxes vs.
commands, field
formats
– relies on visibility of
objects to the user
(but less is more!)
From Microsoft applications
3: Minimize user’s memory load
4: Be consistent
• Consistent syntax of input
• Consistent language and graphics
– same visual appearance across the system (e.g. widgets)
– same information/controls in same location on all windows
Ok
Cancel
Cancel
Ok
Ok
Accept
Dismiss
Cancel
• Consistent effects
– commands, actions have same effect in equivalent situations
• predictability
5: Provide feedback
• Continuously inform the user about
– what it is doing
– how it is interpreting the user’s input
– user should always be aware of what is going on
What’s it
doing?
> Doit
> Doit
This will take
5 minutes...
Time for
coffee.
5. Provide feedback
• Be as specific as possible, based on user’s input
Best within the context of the action
Provide feedback
Multiple files being copied,
but feedback is file by file.
Drawing Board LT
5. Provide feedback
• Response time
– how users perceive delays
<0.1s perceived as “instantaneous”
1s
10s
> 10s
user’s flow of thought stays uninterrupted, but
delay noticed
limit for keeping user’s attention focused on the dialog
user will want to perform other tasks while waiting
5. Provide feedback
• Dealing with long delays
– Cursors
• for short transactions
– Percent done dialogs
– time left
– estimated time
– Random
Contacting host (10-60 seconds)
• for unknown times
cancel
6. Provide clearly marked exits
How do
I get
out of
this?
6. Provide clearly marked exits
• Users don’t like to feel trapped by the computer!
– should offer an easy way out of as many situations as possible
• Strategies:
–
–
–
–
–
Cancel button (for dialogs waiting for user input)
Universal Undo (can get back to previous state)
Interrupt (especially for lengthy operations)
Quit (for leaving the program at any time)
Defaults (for restoring a property sheet)
Core
Dump
7. Provide shortcuts
• Experienced users - perform frequent operations quickly
• Strategies:
– keyboard and mouse accelerators
•
•
•
•
•
abbreviations
command completion
context menus
function keys
double clicking vs menu selection
– type-ahead (entering input before the system is ready for it)
– navigation jumps
• e.g., going to window/location directly, and avoiding intermediate nodes
– history systems
• WWW: ~60% of pages are revisits
Keyboard
accelerators for
menus
Customizable
toolbars and
palettes for
frequent actions
Split menu, with
recently used
fonts on top
Double-click
raises toolbar
dialog box
Double-click
raises objectspecific menu
Scrolling controls
for page-sized
increments
Microsoft Powerpoint
8: Deal with errors in a positive
manner
• People will make errors!
• Errors we make
– Mistakes
• conscious deliberations lead to an error instead of correct solution
– Slips
• unconscious behaviour gets misdirected en route to satisfying goal
– e.g. drive to store, end up in the office
• shows up frequently in skilled behaviour
– usually due to inattention
• often arises from similar actions
Designing for slips
• General rules
– prevent slips before they occur
– detect and correct slips when they do occur
– user correction through feedback and undo
Types of slips
• Capture error
– frequently done activity takes charge instead of one intended
– occurs when common & rarer actions have same initial sequence
• change clothes for dinner and find oneself in bed (William James, 1890)
• Confirm overwrite existing file when meant to save to a different file
– minimize by
• make actions undoable instead of confirmation
• allows reconsideration of action by user
– e.g. open trash to undelete a file
I can’t
believe I
pressed
Yes...
Types of slips
• Description error
– intended action similar to others that are possible
• usually occurs when right & wrong objects physically near each
other
– pour juice into bowl instead of glass
– move file to wrong folder with similar name
– minimize by
• rich feedback
• check for reasonable input, etc.
• undo
Types of slips
• Mode errors
– people do actions in one mode thinking they are in
another
• vi command mode vs. edit mode
• Refer to file that’s in a different directory
• Look for commands / menu options that are not relevant
– Minimize by
• Have as few modes as possible (preferably none)
• Make modes highly visible
Generic system responses for
errors
• General idea: Forcing functions
– prevent / mitigate continuation of wrongful action
• Gag
– deals with errors by preventing the user from continuing
• eg cannot get past login screen until correct password entered
• Warn
– warn people that an unusual situation is occurring
– when overused, becomes an irritant
• e.g.,
– audible bell
– alert box
Generic system responses for
errors
• Do nothing
– illegal action just doesn’t do anything
– user must infer what happened
• enter letter into a numeric-only field (key clicks ignored)
• put a file icon on top of another file icon (returns it to original
position)
• Self-correct
– system guesses legal action and does it instead
– but leads to a problem of trust
• spelling corrector
Generic system responses for
errors
• Lets talk about it
– system initiates dialog with user to come up with
solution to the problem
• compile error brings up offending line in source code
• Teach me
– system asks user what the action was supposed to
have meant
– action then becomes a legal one
Error Dialog Boxes
• Cooper
– You should feel as guilty as for using a goto –
an admission of failure in design
• Why are they problematic?
• How related to locus of attention?
• What are the alternatives?
8: Deal with errors in a positive
manner
Adobe's ImageReady
AutoCAD Mechanical
Windows Notepad
Microsoft's NT Operating System
Inane Dialog Boxes
Umm, thanks for the warning,
but what should I do?
Do I have any choice in this?
What happens when you
cancel a cancelled operation?
Uhhh… I give up on this one
Inane Dialog Boxes
• These are too good not to show
Inane Dialog Boxes
ClearCase, source-code control Rational Software
After clicking “Cancel” on Allaire’s HomeSite 4.0
8: Deal with errors in a positive
manner
• Provide meaningful error messages
– error messages should be in the user’s task language
– don’t make people feel stupid
Try again, bonehead!
Error 25
Cannot open this document
Cannot open “chapter 5” because the application “Microsoft Word”
is not on your system
Cannot open “chapter 5” because the application “Microsoft Word”
is not on your system. Open it with “Notepad” instead?
9. Provide help
• Help is not a replacement for bad design!
• Simple systems:
– walk up and use; minimal instructions
• Most other systems
– feature rich
– simple things should be simple
– learning path for advanced features
Volume 37:
A user's
guide to...
Documentation and how it is
used
• Many users do not read manuals
– prefer to spend their time pursuing their task
• Usually used when users are in some kind of panic
– paper manuals unavailable in many businesses!
• e.g. single copy locked away in system administrator’s office
– online documentation better
– good search/lookup tools
– online help specific to current context
• Sometimes used for quick reference
– syntax of actions, possibilities...
– list of shortcuts ...
Types of help
• Tutorial and/or getting started manuals
– short guides that people are likely to read when first
obtaining their systems
• encourages exploration and getting to know the system
• tries to get conceptual material across and essential syntax
– on-line “tours”, exercises, and demos
• demonstrates very basic principles through working
examples
Types of help
• Reference manuals
– used mostly for detailed lookup by experts
• rarely introduces concepts
• thematically arranged
– on-line hypertext
•
•
•
•
Microsoft Help
search / find
table of contents
index
cross-index
Types of help
• Wizards
– walks user through typical tasks
– but dangerous if user gets stuck
What’s my
computer’s
name?
Fred?
Intel?
AST?
Microsoft Powerpoint
You now know
• Nine principles of design
–
–
–
–
–
–
–
–
–
Simple and natural dialog
Speak the user’s language
Minimize user’s memory load
Be consistent
Provide feedback
Provide clearly marked exits
Provide shortcuts
Deal with errors in a positive manner
Provide help
Summary
• UI Design is a creative process, with many
options
• Your design should reflect
– The results of the interviews, task analysis
– Existing conventions when applicable
– Design guidelines when applicable
• Usability testing helps you decide which of
several options to pursue
References
• The Design of Everyday Things
– By Donald Norman
• Bad Design Studies
http://www.baddesigns.com
• Usability Studies
http://www.useit.com/
Sources for examples:
Sachen Macdonald, Univ. of Victoria
Dey Alexander, Monash University
Download