According to usability.gov, “A heuristic evaluation is a usability inspection method for computer software that helps to identify usability problems in the user interface (UI) design. It specifically involves evaluators examining the interface and judging its compliance with recognized usability principles (the "heuristics"). Heuristic evaluations usually are conducted by a small set (one to three) of evaluators. The evaluators independently examine a user interface and judge its compliance with a set of usability principles. The result of this analysis is a list of potential usability issues or problems. The usability principles, also referred to as usability heuristics, are taken from published lists. Ideally, each potential usability problem is assigned to one or more heuristics to help facilitate fixing the problem. As more evaluators are involved, more true problems are found.”
See also the similar: guidelines-based review method.
2 General heuristics
There exist several popular heuristics. However, these are not directly operational, i.e. they are guidelines for usability experts. Beginners rather should start with web usability guidelines checklists, i.e. do a guidelines-based review.
2.1 The Nielsen heuristics
Below, we reproduce the version that can be found on usability.gov
Visibility of system status - The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
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.
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.
Consistency and standards - Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
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.
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.
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.
Aesthetic and minimalist design - Dialogues should not contain information which 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.
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.
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.
See Ten Usability Heuristics at Jakob Nielsen's web site.
2.2 The Gerhardt-Powals Heuristics
2.3 ISO 9241
2.4 The Fluid Simple Accessibility Review Protocol
This protocol from the Design Handbook, a simple set of heuristics for evaluating the general accessibility of a web application without need for complex assistive technologies or a lot of "under the covers" assessment of the HTML markup and so on. While this process is by no means a comprehensive method for identifying all accessibility problems, it provides a simple technique that anyone can learn while doing UX Walkthroughs.
Steps described in the guide (look at the original are the following:
- Assess the overall layout, structure and content of the page
- Play around with the layout: enlarge the font size; change the size of the window (bigger and smaller); adjust your resolution
- Use the Tab key to navigate through the entire page.
- Check for alternative text for all images and title text for links.
- UX CHECK is a Chrome Browser Extension that helps you identify usability issues through a heuristic evaluation. Worked in Jan 2015. One can select blocks in a page that do not comply with one of the 10 Nielsen heuristics and then rate problems. Annotated screenshots will be saved to an unkown place. However, by clicking on "View progress" one can delete an item. Clicking on Stop evaluation allows download a word document that includes the screenshots and comments.
- Heuristic Evaluation at Fluid project
- Heuristic Evaluations, at usability.gov, U.S. Department of Health & Human Services. Summarizes the Nielsen and Gerhardt-Powals heuristics.
- Usability Expert Reviews: Beyond Heuristic Evaluation. Summarizes the Nielsen and ISO 0241-110 heuristics.
- How to Conduct a Heuristic Evaluation by Jakob Nielsen, based on Nielsen and Molich, 1990; Nielsen 1994. This text outlines the general principle, but doesn't include the heuristics.
- Ten Usability Heuristics by Jakob Nielsen (2005).
- Discount Usability: Time to Push Back the Pendulum?, — David Travis, May 2 2003, userfocus.co.uk
- Heuristic Evaluation, Preview of Usability Body of Knowledge.
- Molich, R. and Nielsen, J., Improving a human- computer dialogue, Communications of the ACM, 33(3), 338-348, (1990).
- Nielsen, J., Enhancing the explanatory power of usability heuristics, CHI'94 Conference Proceedings, (1994).
- Gerhardt-Powals, J. Cognitive engineering principles for enhancing human - computer performance, International Journal of Human-Computer Interaction, 8(2), 189-211, (1996).