Web Usability and Heuristic Analysis
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…”
- What is web usability?
- Why is web design usability essential?
- Prime System Component
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.
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.
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 users’ 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.
Web marketing is statistics 101. Let’s say your website has 400 visitors/month and that creates 10 new customers per month for your business (2.5% conversation rate). Now you engage in a highly articulated web marketing program geared to bring in more “warm” leads. The new program helps you now generate 2,000 visitors month to your website. Those additional 1,600 leads are better quality “potential” clients because Premiere is targeting your customer’s specific interests with keywords that correlate to their searches. Therefore, we expect (2) things to occur because of your more articulate web marketing program.
- Higher conversion rate of new customer than the original (2.5%) conversion
- More sales: a greater number of overall sales because of the volume of visitors.
At 2,000 visitors/month to your website, assuming your conversion rate remained at (2.5%), your conversion rate would yield 50 customers, 40 more than the original 10 you were getting. However, since the web marketing program is more focused, the conversion rate should be higher at say a 3% conversion that creates 60 new customers per month, an additional 10 more than anticipated.
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.
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.
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.
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.
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.
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.
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.