Favers_McBrian_IDIA612_Project1

advertisement
Heuristics
A Brief Overview and Applications
Eiyana Favers
Jessamyn McBrian
IDIA 612
Summer 2011
Heuristics - Definition
• According to the Psychology Dictionary at About.com,
heuristic is defined as:
– A mental shortcut that allows people to solve problems and make
judgments quickly and efficiently.
– Shortens decision-making time and allows people to function without
constantly stopping to think about the next course of action.
• And according to the Free Dictionary, the Computer Science
definition of the term is:
heu·ris·tic (hy-rstk)adj.
– 3. Computer Science Relating to or using a problem-solving technique
in which the most appropriate solution of several found by alternative
methods is selected at successive stages of a program for use in the
next step of the program.
Budd, Andy. Heuristics for Modern Web Application Development.
Heuristics – Definition (continued)
1. Way to evaluate a user interface [criteria]
– look at the interface and pass judgment about what is good and bad
about that interface according to one’s own opinion
Nielsen, Jakob and Rolf Molich. “Heuristic Evaluation of User Interfaces.”
CHI 1990. http://www.cs.panam.edu
2. Evaluates usability
– Aspects of system design that influence a user’s participation in
information-handling tasks
• Smith & Mosier (1986)
Smith, Sydney and Jane N. Mosier. “Guidelines for Designing User Interface Software.” Mass.: The MITRE Corporation,
1986. <http://www.userlab.com/Downloads/Smith_Mosier_guideline_.pdf>
Types of Heuristics
1.
Standards-based:
1.
Example: Accessibility Guidelines (usability.org)
• Valid by definition
• Based on official rules for Web design
2.
Theory-based:
1.
Example: Cognitive Engineering Principles by Gerhardt-Powals
• Adapted from general, well known, and accepted theories
• Multidisciplinary
3.
Research-based:
1.
Example: Nielsen
• Tested (usability)
• Results translated into set of heuristics
4.
Practitioners’
1.
Example: Many people in this class
• Not supported by standards
• Based on professional Web designers’ experience
De Jong, Menno and Thea Van Der Geest. “Characterizing Web Heuristics.” Technical Communication (2000) 311-326.
Heuristics Sets: Examples
Used By: oclc.org (based on Nielsen’s 10)
1.
Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within
reasonable time.
2.
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. Follow real-world conventions, making information appear in a natural and
logical order.
3.
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.
4.
Consistency and standards
Users should not have to wonder whether different words, situations, or actions mean the same thing.
Follow uniform and/or platform conventions.
5.
Error prevention
Even better than good error messages is a careful design that prevents a problem from occurring in the first
place.
6.
Recognition rather than recall
Make 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.
7.
Flexibility and efficiency of use
Accelerators—unseen by the novice user—may often speed up the interaction for the expert user such that
the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
Heuristics Sets: Examples
Used By: oclc.org (based on Nielsen’s 10)
8.
Aesthetic and minimalist design
Dialogues should not contain information that is irrelevant or rarely needed. Every extra unit of information
in a dialogue competes with the relevant units of information and diminishes their relative visibility.
9.
Help users recognize, diagnose, and recover from errors
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and
constructively suggest a solution.
10.
Help and documentation
Even though it is better if the system can be used without documentation, it may be necessary to provide
help and documentation. Any such information should be easy to search, focused on the user's task, list
concrete steps to be carried out, and not be too large.
11.
Affordances
Does the user understand what the text/graphic will do before they activate it?
12.
Use chunking
Write material so that documents are short and contain exactly one topic. Do not force the user to access
multiple documents to complete a single thought.
13.
Provide progressive levels of detail
Organize information hierarchically, with more general information appearing before more specific detail.
Encourage the user to delve as deeply as needed, but to stop whenever sufficient information has been
received.
14.
Don't lie to the user
Eliminate erroneous or misleading links. Do not refer to missing information.
Online Computer Library Center (OCLC) is a nonprofit, membership, computer library service and research organization
dedicated to the public purposes of furthering access to the world’s information and reducing information costs. More
than 72,000 libraries in 170 countries and territories around the world have used OCLC services to locate, acquire,
catalog, lend and preserve library materials.
Heuristics Sets: Examples
Jill Gerhardt-Powals
1.
2.
Automate unwanted workload.
Eliminate mental calculations, estimations, comparisons, and any unnecessary thinking, to free cognitive resources for
high-level tasks.
Reduce uncertainty.
Display data in a manner that is clear and obvious to reduce decision time and error.
3. Fuse data.
Bring together lower level data into a higher level summation to reduce cognitive load.
4. Present new information with meaningful aids to interpretation.
New information should be presented within familiar frameworks (e.g., schemas, metaphors, everyday terms) so that
information is easier to absorb.
5. Use names that are conceptually related to function.
Display names and labels should be context-dependent, which will improve recall and recognition.
6. Group data in consistently, meaningful ways.
Within a screen, data should be logically grouped; across screens, it should be consistently grouped. This will decrease
information search time.
7. Limit data driven tasks.
Use color and graphics, for example, to reduce the time spent assimilating raw data.
8. Include in the displays only that information needed by the operator at a given time.
Exclude extraneous information that is not relevant to current tasks so that the user can focus attention on critical data.
9. Provide multiple coding of data.
The system should provide data in varying formats and/or levels of detail in order to promote cognitive flexibility and satisfy
user preferences.
10. Practice judicious redundancy.
Devised to resolve the possible conflict between Principles 6 and 8, that is, in order to be consistent, it is sometimes
necessary to include more information than may be needed at a given time.
Gerhardt-Powals, Jill. “Cognitive Engineering Principles for Enhancing Human-Computer Performance.” International
Journal of Human-Computer Interaction 8:2 (1996): 189-211.
Heuristics Sets: Examples
Andy Budd
1.
2.
3.
4.
5.
6.
7.
8.
Design for User Expectations
Clarity
Minimize Unnecessary Complexity and Cognitive Load
Efficiency and Task Completion
Provide Users With Context
Consistency and Standards
Prevent Errors
Help Users Notice, Understand and Recover From
Errors
9. Promote a Pleasurable and Positive User Experience
Budd, Andy. Heuristics for Modern Web Application Development.
Heuristics Evaluate User Interfaces
Flawed Interfaces Can:
• Adversely affect a user’s ability to successfully complete
a task
• Prevent a user from being able to successfully complete
a task
• Adversely effect the time it takes to complete a task
• Decrease or eliminate memorability/learnability
• Create anxiety
• Prevent return visits
Heuristics Evaluate User Interfaces
Successful User Interfaces Can:
• Create user satisfaction
• Enable task completion for novice to expert users as well as
those with disabilities
• Decrease or eliminate anxiety
• Increase memorability/learnability
Selected Heuristics
•
•
•
•
Minimize Unnecessary Complexity and Cognitive Load (Budd)
Efficiency and Task Completion (Budd)
Promote a Pleasurable and Positive User Experience (Budd)
Consistency and standards
Users should not have to wonder whether different words, situations,
or actions mean the same thing. Follow uniform and/or
platform conventions. (oclc.org/Nielsen; Schneiderman; Gerhardt-Powals)
• Affordances
Does the user understand what the text/graphic will do before they
activate it? (Gerhardt-Powals; Schneiderman; Krug)
• Error prevention
Even better than good error messages is a careful design that prevents a
problem from occurring in the first place. registration (Nielsen; Schneiderman)
1. Minimize Unnecessary Complexity
and Cognitive Load
• Make the system as simple as possible for users to
accomplish their tasks, but no simpler. Do not overload
the user with too many unnecessary choices, and make
sure those choices are prioritized.
• Remove unnecessary functionality, process steps and visual
clutter
• Use progressive disclosure to hide advanced features
• Break down complicated processes into multiple steps
• Prioritize using size, shape, color, alignment and proximity
Budd, Andy. Heuristics for Modern Web Application Development.
Minimizing Complexity - Example
This text
reads, “View
All Programs”
This is the result of
hovering over the section
from shot #1.
The “open window” / “closed window” feature in the main portion of this page,
while creative design, is a perfect example of unnecessary functionality. It is
difficult for users to navigate through the main section without opening this box,
and then once open, difficult to know how to close.
Efficiency and Task Completion
• Design for user productivity, not the system’s. Optimize the system
for the most common tasks. Provide experienced users with
advanced features that speed up task completion. Use the most
common defaults and honour user preferences and previous
selections. However, allow them to be easily overridden when
necessary.
• Provide quick links to common features/functions
• Provide advances features like the ability to delete multiple
messages
• Pre-check common options, like opt-out of marketing emails
• Allow defaults to be changes, cancelled or overridden
• Remove unnecessary steps.
Budd, Andy. Heuristics for Modern Web Application Development.
Efficiency and Task Completion - Example
Yahoo! Mail does a great job of providing the user the option to
delete and prioritize incoming messages. The user also has fast
access to common features and functions, and the user is not
subjected to defaults.
Promote a Pleasurable and Positive
User Experience
• The user’s interaction with the system should be positive and
where possible enhance their quality of life. The user should
be treated with respect and their preferences and wishes
honored. The design should be aesthetically pleasing and
promote a pleasurable and rewarding experience.
• Create a pleasurable and attractive design
• Provide easily attainable goals
• Provide rewards for usages and progression
Budd, Andy. Heuristics for Modern Web Application Development.
Positive User Experience - Example
• Attractive design, not too cluttered, but it can be a bit busy.
• The rewards for usage and progression are recommendations for the next visit and offers for
free items like MP3s and Kindle books.
• The user can accomplish his or her goals easily on the site:
• The search feature is easy to locate, and the search can be broken up into many categories.
Consistency
• Figures in to most sets of heuristics
– Schneiderman’s (2010) Eight Golden Rules for Interface Design
• Strive for Consistency
– Be consistent in color use, layout, fonts, capitalization
– Consistency helps meet user expectations
– Nielsen’s Ten (www.useit.com)
• Consistency and Standards
– Words, situations, actions should mean the same thing
– Prevents user confusion
– Gerhardt-Powals (1996)
• Eliminate Mental Calculations
– Consistency reduces decision time and error
Schneiderman, Ben and Catherine Plaisant. Designing the User Interface. Boston: Pearson Higher Education, 2010.
Gerhardt-Powals, Jill. “Cognitive Engineering Principles for Enhancing Human-Computer Performance.” International
Journal of Human-Computer Interaction 8(2) 189-211 (1996)(2000) 311-326
Consistency - Example
On healthcoach4me.com, link destinations include both HTML pages and PDFs. While the use of PDFs is arguably
another usability issue, user expectations are violated by mixed-use. In addition, the right side bar refers to these
links as “tools.” “Tools” generally refer to widgets and are often depicted with image links – in addition, each of
these four pages refer to the links as “titles,” “information,” “facts,” and “resources,” respectively (starting from
top left, clockwise). This kind of inconsistency can create confusion. On the other hand, each of these pages are
consistently laid out.
Affordances
Does the user understand what the text/graphic will do before they activate it?
“It doesn’t matter how many times I have to click,
as long as each click is a mindless, unambiguous choice.”
-Krug’s Second Law of Usability (2006)
• Can also be understood in terms of accessibility
– Schneiderman’s (2010) Eight Golden Rules for Interface Design
• Cater to Universal Usability
– Recognize the needs of diverse users. For example, provide alt text.
Krug, Steven. Don’t Make Me Think! A Common Sense Approach to Web Usability. California: New Riders, 2006.
Online Computer Library Center <http://www.oclc.org/usability/heuristic/set.htm>
Schneiderman, Ben and Catherine Plaisant. Designing the User Interface. Boston: Pearson Higher Education, 2010.
Affordances - Example
On healthcoach4me.com, alt text is not consistently provided. In fact, it is consistently ignored – this is most
notable and possibly most problematic on the home page, where main site links to videos that help the user
understand the site lack identifying alternative text, hence preventing the extraordinary user from understanding
that clicking the link will launch a video.
Error Prevention
• Figures in to most sets of heuristics
– Schneiderman’s (2010) Eight Golden Rules for Interface Design
• Prevent Errors
– Design the system to prevent the user from making serious errors
» Do not allow alpha characters in numeric fields
» Offer constructive feedback
» If an error is made, leave the system state unchanged
– Nielsen’s Ten (www.useit.com)
• Error Prevention
– Prevent problems from occurring in the first place
– Provide good error messages
Schneiderman, Ben and Catherine Plaisant. Designing the User Interface. Boston: Pearson Higher Education, 2010.
Error Prevention - Example
Registration on healthcoach4me.com is a mixed bag – some good error prevention methods are employed while
others are lacking entirely on the same registration page.
Questions?
Bibliography
Budd, Andy. “Heuristics for Modern Web Application Development.” January 17, 2007.
<http://www.andybudd.com>
De Jong, Menno and Thea Van Der Geest. “Characterizing Web Heuristics.” Technical Communication (2000)
311-326.
Gerhardt-Powals, Jill. “Cognitive Engineering Principles for Enhancing Human-Computer Performance.”
International Journal of Human-Computer Interaction 8:2 (1996): 189-211.
Krug, Steven. Don’t Make Me Think! A Common Sense Approach to Web Usability. California: New Riders,
2006.
Nielsen, Jakob and Rolf Molich. “Heuristic Evaluation of User Interfaces.” CHI (1990).
http://www.cs.panam.edu
Online Computer Library Center <http://www.oclc.org/usability/heuristic/set.htm>
Schneiderman, Ben and Catherine Plaisant. Designing the User Interface. Boston: Pearson Higher Education,
2010.
Smith, Sydney and Jane N. Mosier. “Guidelines for Designing User Interface Software.” Mass.: The MITRE
Corporation, 1986.
<http://www.userlab.com/Downloads/Smith_Mosier_guideline_.pdf>
Download