Website Usability and Heuristic Analysis 

  • What is Web Usability?
  • Why us web design usability essential
  • Prime System Component 

Every website should do two things to maintain a user-base: it should help users easily find useful information, and it should help users easily complete tasks. However, having all the right content and supporting the right tasks is not enough to guarantee a user-base. As Nielsen puts it very nicely- “The Internet is about usability... The computer industry has been able to ship difficult-to-use products because you buy first, and then you try to use it. With the Web, usability comes first, then you click to buy or become a return visitor.”

We have adopted the following web design usability principles, or heuristics, to help ensure the usability of your website and web applications.

 

1. Clear visibility of system status 

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

 

Always let the user know what is happening by using appropriate feedback at the appropriate time. Ensuring that the user knows the current status of the system and does not have to guess what is going on, helps the user interact appropriately with the system. If user action results in a change of state, clearly visible visual aids should be provided to reflect the change of state. When the user submits information, provide feedback that the system has received the information and is operating on it. If the operation is lengthy, use a progress indicator to provide information about time of the operation, including information about time remaining for the operation to be completed. If a user request cannot be processed by the system, provide immediate feedback to the user. To design successful systems, put the user in control by promptly acknowledging user requests and providing relevant and useful feedback about the progress of every request.

 

2. A 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.

 

Use terminology and representations that the target audience of the application is familiar with. Present information in a sequence that is similar to its order in the real-world. Real-world representations and natural interactions make the interface seem familiar and thus more intuitive to learn and use.

 

Metaphors can be used to take advantage of the user’s knowledge of the real world to represent elements within the application. However, metaphors should not be taken too literally nor extended beyond their reasonable use. They should also be used judiciously. A metaphor should be used consistently throughout an application rather than a specific instance. A metaphor isn’t always necessary. Don’t strain the meaning of a particular program feature in order to adapt it to a metaphor or a metaphor in adapting it to the program’s real function. Ensure that the metaphor is relevant across cultural boundaries of your target audience.

 

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.

 

A user should feel in control and do what he wants, when he wants. Allow users to freely switch between different tasks. Avoid locking the user into a sequence of operations that need to be completed before the user can switch to anything else. Users should always have an easy way out and an easy way to return to the point where they exited the operation or application. Avoid operations that are irreversible. In situations where user action is irreversible, provide adequate warning while allowing the user to proceed if they choose to do so.

 

4. Consistency and standards 

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

 

Make the application consistent within itself and with other applications, in its appearance, behavior, visual concepts and verbal language. Users should not wonder whether different words, situations or actions mean the same thing. Consistency enables users to apply the existing knowledge of their computing environment and other applications to understanding a new application. This allows users to become familiar with new applications more quickly and also helps create a sense of comfort and trust in the overall environment.

 

Balance and unity has always been a key component in good design. Humans on a preconscious level seek structure in the things they see. If there is no intentional structure, we will impose our own. Seeking the appropriate balance among things, as well as unifying those things that are related will generate structures that are not only pleasing to the eye, but will make the interface more understandable.

 

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.

 

Anticipate common problems that users might encounter while using the system and provide extensive feedback and communication at every stage to protect users from making errors by helping them make the right choices. The interface should provide visual cues, reminders, lists of choices, and other aids, either automatically or on request. Humans are much better at recognition than recall. Use tool-tips and other contextual agents to provide supplemental assistance. Eliminate every opportunity for user error and confusion.

 

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.

 

Place related objects and links within close proximity. If there are several different buttons, links or other objects that need to be clicked in succession in order to perform a specific task, the smaller and the farther apart they are, the longer it will take to perform the task and consequently the more frustrating the process will be especially when it needs to be repeated several times.

 

When a user leaves one screen to access reference material on another screen, he must remember the information on the first screen while accessing the reference material on the second screen.  This additional demand on cognitive resources can be frustrating.  To avoid forcing the user to jump between screens, present the reference material more than one time if the information is needed on later screens.  Text and illustrations should be repeated as needed for reference on later screens.  The repetition will enable the viewer to proceed through the program without interruption, thereby making it more effective for the user.

 

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.

 

When users become experts of the system, they may want to speed up some task with shortcuts. Design the system such that it can cater to both inexperienced and experienced users. Use accelerator elements for frequent actions so that they are unseen by novice users but speed up the interaction for the expert users.

 

Allow users to tailor aspects of their environment to fit personal preferences. However, avoid the trap of allowing too much configuration, or allowing the configuration of parameters that most users will not understand or find useful to modify.

 

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.

 

Do not clutter the screen with unnecessary information. This will intimidate and confuse the user. Timing is critical in the display of tools and information. Users may become confused or frustrated if they select options that are inappropriate for the current task.  Users may also expend unnecessary cognitive effort if presented with irrelevant tools or information. Make complex systems seem simpler by only presenting information relevant at a given time.  Use progressive disclosure: reveal information to the user in small, manageable amounts.  Progressive disclosure tools—pop-up boxes, pull- down menus, and hierarchical menu displays—allow users to digest small bits of information at a time. Help users make the right decisions by reducing available choices.  Hide tools that aren’t needed at a particular time or show that they are inactive by graying them out.

 

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.

 

When a user makes an error, in most cases they will not know, and will need the system to recognize the error AND them what is wrong and how it should be fixed. It is critical that this feedback is accurate and precise. Displaying a generic error message that indicates that there is a problem but fails to provide enough information to diagnose or solve the problem, will not allow users to continue with the task. If an operation cannot be completed, users want to know why and what can be done instead.

 

A good warning or error message contains a brief description of the problem and a list of ways the user can remedy the problem. Both of these elements should be presented in simple, non-technical and jargon-free language.

 

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.

 

Users should not have to rely on their memory for something the system already knows, such as previous settings, file names, and other interface details. If the information is in the system in any form, the system should provide it upfront.

 

In addition to providing assistance when requested, the system should recognize and anticipate the user's goals, and offer assistance to make the task easier. Assistance should provide users with knowledge that will allow them to accomplish their tasks quickly.