I am supposed to evaluate a few websites to find out whether they comply with Jacob's Nielsen Heuristics... But I am having trouble understanding the heuristics. Can somebody please explain?

These are ten general principles for user interface design. They are called "heuristics" because they are more in the nature of rules of thumb than specific usability guidelines.

  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 platform conventions.
  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.
  6. 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.
  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.
  8. 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.
  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.
  • 4
    Are you saying you don't understand any of these? I do not mean this to be insulting, but if you don't understand these concepts, you are the wrong person to be doing the heuristic evaluation. You really need someone that has familiarity and past experiences with these.
    – DA01
    Commented Feb 27, 2012 at 14:15
  • I've never done this before, i just need to understand these heuristics, if i was to test them against a website, which objects of functionality should i be testing it against@
    – LatinUnit
    Commented Feb 27, 2012 at 14:21
  • So your question is more like what functionality do I test?
    – Ben Brocka
    Commented Feb 27, 2012 at 14:36
  • 1
    What I'm getting at is that a big part of heuristic evaluation is basing it upon your experience. If you don't have experience in this field, your evaluation won't be very robust.
    – DA01
    Commented Feb 27, 2012 at 15:09
  • 1
    @Rahul – it sounds like the homework (if any) is to evaluate some websites against these usability heuristics. What's wrong with asking for help understanding what the heuristics mean?
    – callum
    Commented Feb 27, 2012 at 18:36

4 Answers 4

  1. Visibility of system status - The user should always understand what is happening right now. Where is she in the system (e.g highlight the right tab in the navigation menu)? What is the system doing (e.g loading animation when a page loads)? If there's an error - what's wrong (e.g "wrong password" message under the password field, if the user entered a wrong password)?
  2. Match between system and the real world - The site should use labels and terms that the target users understand (e.g on a mass-market e-commerce site, call the cameras section "Cameras" instead of "Optical photo devices").
  3. User control and freedom - The user should be able to easily fix mistakes or change actions. In other words, everything the user does should be reversible (e.g "undo" button in office suite apps), unless there's a very good reason not to.
  4. Consistency and standards - The system should use the same words for the same things (e.g don't call the user's account "profile" on some places and "user file" on others). Also, if there's a specific term everybody's using to describe an object, the system should use it as well (e.g use the term "web" instead of "net" to describe the world wide web).
  5. Error prevention - The system should prevent mistakes the user is prone to make (e.g on Gmail, if you wrote the word "attached" in your e-mail without attaching a file, a message pops, asking you if you meant to attach a file).
  6. Recognition rather than recall - The system should show the user all the info she needs to complete an action, instead of making her rely on her memory (e.g on a customer service form, if you want the user to enter a transaction ID, show her a list of her recent transactions with their IDs).
  7. Flexibility and efficiency of use - The system should allow expert users to perform actions more quickly (e.g shortcuts, hot-keys and macro commands).
  8. Aesthetic and minimalist design - The system should only use the minimum possible amount of text and other design elements to convey its message. And everything should be visually appealing as well. Apple's website is considered a good example for this.
  9. Help users recognize, diagnose, and recover from errors - Error messages should be easily read and understood by the users, and should tell them what to do to fix this (e.g don't write "Error 1052" and let the users search the solution themselves, but instead write "We couldn't locate you. Please turn on your phone's GPS under Settings").
  10. Help and documentation - Any system should be accompanied with a simple, searchable "manual" written for the user (i.e focused on what the user needs and not how the engineers developed it). I think Microsoft's support center does a good job at this.

Don't worry! I also started my UX carrear with a heuristic evaluation. You can do it!

  • Thanks very much Yosef, understanding what the heuristics really wanted me to look for in websites is what i needed.
    – LatinUnit
    Commented Feb 27, 2012 at 15:56

Nielsen's heuristics can be a little abstract when you are just starting out. Checklists are you friend.


I understand that Yosef is given you some direction, but let me bring about addressing it from a different angle, which could help in gaining another foresight of it.

Let me get you broader level of Heuristic Evaluation background, against JN Heuristics. I feel this better off, since you start with a blue-sky thinking, leaving these heuristics off for now.

Look at Heuristics as set of measuring criteria, if you were to evaluate a site on some ground rules, so how would you ever do it? Target broader areas like - Standards of usability, Information design norms, Interaction design norms, Content design and Visual design. Prepare some 5 pointers under these topics and start mapping it to JN Heuristics, things will fall in place.

So here goes the subject - System status visibility, consistency and stds, Error prevention, recognition rather than recall, diagnose and recover from errors, help and document (all these are standards of usability broadly). Match between system and real world, user control and freedom, help and document, flexibility (information design), user control and freedom, diagnose and recover from errors, system status (interaction design). Like this ...

I would want you to look at it with a differing perspective, rather than mapping it one to one with these 10 pointers, since you will just be doing it mechanically rather than addressing it from a broader goal.

  • Thanks inkmarble, this is the second stage of my question, once i understand what the heuristics mean i can follow your suggestions :) gracias
    – LatinUnit
    Commented Feb 27, 2012 at 15:57

When evaluating a heuristic standard, I always critique in a fixed answer.

Is the standard being used?

How well is it applied?

Usually, you can show that although a standard may be intended to be used, in reality it is affected by something else (poor verbiage, inconsistent application)

Easiest way is to use some sort of ranged spreadsheet to capture your raw answers, then generate into summary charts with supporting text in some sort of report/formal deliverable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.