“As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.”
— Maurice Wilkes (1949)
A cognitive walkthrough is a task-based evaluation method to catch “black holes” (gaps in determining the next appropriate step)
The evaluation of a user interface to a checklist of design rules or heuristics
A heuristic evaluation can quickly and effectively reveal key user interface issues
In 1990 Jakob Nielsen (SUN Microcomputers, now Nielsen-Norman Group) and Rolf Molich developed the first list of usability heuristics
This list was later revised (1994) by Nielsen into somewhat more abstract items based on analysis of 249 usability problems
It really depends on your specific needs, but overall I prefer the ISO-9241 for pure evaluations, but Nielsen’s list for evaluations and use as general design principles
A viable alternative to a standard heuristic evaluation, which is also more supportive for a single expert evaluator, is a task-based inspection
The frequency with which the problem occurs: Is it common or rare?
The impact of the problem if it occurs: Will it be easy or difficult for the users to overcome?
The persistence of the problem: Is it a one-time problem that users can overcome once they know about it or will users repeatedly be bothered by the problem?
Disagree about usability problem - don’t agree that this is a usability problem at all
Cosmetic Only - need not be fixed unless extra time is available on project
Minor usability problem - fixing this is a low priority
Major usability problem - important to fix, so should be given high priority
Usability catastrophe (“Critical usability issue”) - imperative to fix this before product can be released
(+) Reasonably cheap and fast
(+) Can be used at any time in design process
(+) Identifies many usability problems
(–) More effective with fully defined designs
(–) Can over-emphasize minor problems
(–) Does not identify task-based problems (using standard approach)
(–) Does not identify domain-related problems
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
The system should speak the user’s 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.
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.
Users should not have to wonder whether different words, situations, or actions mean the same thing.
Follow platform conventions
Even better than good error messages is a careful design which prevents a problem from occurring in the first place.
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 .
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.
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.
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
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 to the user’s task, list concrete steps to be carried out, and not be too large.
https://chatbotsmagazine.com/usability-heuristics-for-bots-7075132d2c92 https://foundationsofhci.wordpress.com/module-2/ https://www.nngroup.com/articles/how-to-conduct-a-heuristic-evaluation/ http://www.measuringu.com/blog/effective-he.php