Human-Computer Interaction (HCI) : Mario Čagalj
Human-Computer Interaction (HCI) : Mario Čagalj
Mario Čagalj
University of Split
Design Heuristics and Heuristic
Evaluation
Based on material by Saul Greenberg, Rob Miller, Brent
Hecht
Introduction to Heuristic Evaluation
3
Iterative design process
Design heuristic useful in two stages of design process
• Design - guide you in choosing between design alternatives
• Evaluation - identifying problems in an implemented interface
Design
Task-centered design
Human capabilities
Fitts’ law
Hicks law
Norman stages of action
Mental models
Design heuristics
Evaluation Implementation
Heuristic evaluation Prototyping
4
Usability guidelines/heuristics
Design guidelines are based on human psychology
There are plenty of sets of guidelines to choose from
• Almost every researcher has his/her own set of heuristics
(major companies as well - Apple, Google, Microsoft)
• Most of these heuristics overlap
• Experts do not disagree about what constitutes a good UI
• They disagree about how to organize what we know into
a small set of simple rules
Jakob Nielsen
Ten usability heuristics
1. Match between system and the real world
2. Consistency and standards
3. Visibility of system status
4. User control and freedom
5. Error prevention
6. Help users recognize, diagnose, and recover from errors
7. Recognition rather than recall
8. Flexibility and efficiency of use
9. Aesthetic and minimalist design
10. Help and documentation
7
Ten usability heuristics
1. Match between system and the real world
The system should speak the users' language, with words, phrases and
concepts familiar to the user, rather than system-oriented terms.
8
Ten usability heuristics
4. User control and freedom
Users often choose system functions by mistake and will need a clearly
marked "emergency exit" to leave the unwanted state without having to go
through an extended dialogue. Support undo and redo.
5. Error prevention
Even better than good error messages is a careful design which prevents a
problem from occurring in the first place. Either eliminate error-prone
conditions or check for them and present users with a confirmation option
before they commit to the action.
9
Ten usability heuristics
7. Recognition rather than recall
Minimize the user's memory load by making objects, actions, and options
visible. The user should not have to remember information from one part of
the dialogue to another. Instructions for use of the system should be visible or
easily retrievable whenever appropriate.
11
#1: Match between system and the real world
12
#1: Match between system and the real world
13
#1: Match between system and the real world
Computer science language: [0][0], [0][2]
Excel speaks users’ language: [A][1], [B][3]
18
#2: Consistency and standards
Principle of least surprise
• Similar things should look and act similar
• Different things should look different
• Users should not have to wonder whether different words, situations, or
actions mean the same thing (follow platform conventions)
Consistent effects
• Commands, actions have same effect in equivalent situations
19
#2: Consistency and standards
21
#2: Consistency and standards
Flat UI design – buttons vs labels
22
#3: Visibility of system status
23
#3: Visibility of system status
25
#3: Visibility of system status
27
#4: User control and freedom
28
#4: User control and freedom
Strategies:
• Cancel button
• Universal undo
• Interrupt (especially for lengthy operations)
• Quit (for leaving the program at any time)
• Defaults (for restoring default properites)
29
#4: User control and freedom
Wouldn't life be much easier if we could unsend an email
30
#4: User control and freedom
Wouldn't life be much easier if we could unsend an email
31
#4: User control and freedom
The success of this application was in part due to heuristic #4
32
#4: User control and freedom
Frequent violations of this heuristic can lead to a pottery barn effect
(„If you break it, you bougth it”)
„What happens if I click this? Can I undo it? Better I don’t touch it.”
You want to avoid people feel tense while using your system
33
#5: Error prevention
34
#5: Error prevention
35
#5: Error prevention
Design for errors
• Double-check with users
37
#5: Error prevention
Design for errors
• Support Undo and Redo
38
#5: Error prevention
Design for errors
• Use constraints
39
#6: Help users recognize, diagnose, and
recover from errors
40
#6: Help users recognize, diagnose, and
recover from errors
Deal with errors in a positive manner (be polite, speak
human-readable language)
43
#6: Help users recognize, diagnose, and
recover from errors
Deal with errors in a positive manner (be explicit,
constructive, use human-readable language, precise)
44
#6: Help users recognize, diagnose, and
recover from errors
Deal with errors in a positive manner (be explicit,
constructive, use human-readable language, precise)
45
#7: Recognition rather than recall
46
#7: Recognition rather than recall
Short-term memory can hold around 5-7 elements
• Easy to overload
• CLI vs GUI
47
#7: Recognition rather than recall
48
#7: Recognition rather than recall
Visited links
49
#7: Recognition rather than recall
50
#7: Recognition rather than recall
51
#7: Recognition rather than recall
53
#8: Flexibility and efficiency of use
54
#8: Flexibility and efficiency of use
55
#8: Flexibility and efficiency of use
56
#9: Aesthetic and minimalist design
57
#9: Aesthetic and minimalist design
Less is more
• Omit extraneous info, graphics, features
• Provide only relevant data
58
#9: Aesthetic and minimalist design
59
#10: Help and documentation
60
#10: Help and documentation
61
#10: Help and documentation
62
#10: Help and documentation
Don’t forget:
63
Heuristic Evaluation
Jakob Nielsen
Introduction to Heuristic Evaluation
65
Problems found by a single evaluator
Different people find different usability problems
Evaluators miss both easy and hard problems:
• „Best” evaluators can miss easy problems
• „Worse” evaluators can discover hard problems
Improve method effectiveness by involving multiple evaluators