16
Jun
09

Heuristic evaluation

Heuristic evaluation is a quick, cheap and easy method to examine usability of Use interface design. Concept was initially proposed by Jakob Nielsen and Rolf Molich to find usability problems. In simple words, in this method we test design according to a list of design principles.

Nielson listed ten general principles for usable user interface, which are called as “Heuristics”. Following are those Heuristics:-

1.   Visibility of system status 
      The system should always keep users informed about what is going on, through appropriate feedback withinreasonable time.

A good example of this is Adobe Photoshop startup screen in which you can see a list of creators, copyright note and on top it gives you the status like “Initializing”, “Reading brushes”, “Reading Preferences”, etc. So while starting, it informs user what the application is doing.

ps3_startup_screen

 

 

 

 

 

 

 
 


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. reasonable time.

Avoid using system, developer jargon, understand users language and present information in a way which user understands. This is particularly while displaying the error messages. Present information on system/website in appropriate order, most important information of top, then less and then least important at bottom. Use colors, different font size and some graphics to show the importance to the information.

 
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

Provide option to escape from unwanted state.  Simple and effective solution is by providing “Undo” / “Redo” options

Gmail_Undo
 

 

 

 

 

 

 

 

 

 4. Consistency and standards
     Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

Keep consistent experience throughout the system. Use industry standards, patterns for UI components, form controls, labels, etc.

 

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.

Provide confirmation option before performing critical actions.

  

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.

Keep important information, actions obvious to users. User appropriate UI component to present hierarchical data. Provide icons which will help user to recognize the term/object.

MS_ribbon












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.

Provide frequently accessed/used information, actions first when user access system next time which speed up user interaction.

freq_used

 

 

 

 

 

 

 



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.

Avoid cluttered page design. Provide only what user wants. Add other information only if it adds value.

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.

Provide usable error message. A good, usable error message should tell user about what has happened, error cause (why) and how to recover from error (where to go).

 

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.

Provide quick and accurate help. Generally user come up with questions like “Where is”, “What is”, “How do I”, etc. giving help in Q&A form is very effective. A good example is help in eBay.com. Also providing context-level help in forms helps user.

ebay_help

 

 

 

 

 

 

 

 



In above principles, there could be category specific principles also.

Heuristic evaluation is conducted by a “Evaluator”. Evaluation can be done by individuals or by group of evaluators. Evaluator typically does not perform any task, so it is more suited at the early phase of usability engineering.  After conducting Heuristic, evaluator generally has a list of usability problems with reference of usability principles.

Apart from above list, there are many resources for the usability principles.Usability.gov has a good list of usability principles. You can find it here: http://www.usability.gov/pdfs/guidelines.html . ISO also has a Heuristics called as ISO 9241.

Advertisements

1 Response to “Heuristic evaluation”


  1. 1 Flodos
    June 17, 2009 at 2:01 pm

    The blog is good…


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: