Usability - What it is and why you should care
Jakob Nielsen, famous for his 10 Usability Heuristics, coined usability as‘a quality attribute that assesses how easy user interfaces are to use’. In ‘The Design of Everyday Things’ Don Norman states the following regarding usability:
‘Usability is not often thought about during the purchasing process. Unless you actually test a number of units in a realistic environment, doing typical tasks, you are not likely to notice the ease or difficulty of use. If you just look at something, it appears straight forward enough, and the array of wonderful features seems to be a virtue. You may not realize that you won’t be able to figure out how to use those features. I urge you to test products before you buy them.’
In an age where we have constant access to technology, information and entertainment, usability has become a pivotal stage of any software design or development process. In fact, are cent survey showed that on average, 25% of smartphone users will abandon an application after a single launch. This could be the result of a poor on boarding session, lack of initial meaningful experience or an uninspiring greeting. All of these suggestions lead back to a single root,usability.
The goal of enhancing the usability of your app (or any digital product)is to ensure that your users are able to navigate through and interact with the environment without any specialized training.
The following section will dissect Jakob Nielsen’s research based on the 10 usability heuristics.
Visibility of system status
- The user should be kept informed constantly by the system. Appropriate feedback should be given to the user to keep them updated on the current status of the system. Achieve this usability goal in your system by including visual effects for actions that the user takes, such as hovering. Providing loading bars when the system carries out processes and the user must wait also improves usability.
Match between system and the real world
- The system should convey information using natural language, phrases and ideas which the user will be familiar with. Design your information to appear in a logical order, that will leave the user with answers, rather than more questions.
User control and freedom
- Users should feel in control when using the system and should be allowed to undo their actions. Nielsen explains that having a clearly marked ’emergency exit’ enables users to feel a higher level of control.
Consistency and standards
- The system should be consistent. This avoids users being forced to draw similarities between different words or actions. Users will form cognitive patterns when interacting with consistent designs, creating a more flowing experience.
- Provide careful error-prevention by having the system check for errors ahead of time and eliminate them before these actions can be committed.
Recognition rather than recall
- Enhance the user’s ability to recognize actions and options, rather than recalling them. This will reduce the user’s memory load, thus allowing users to navigate the system with greater ease. Users should not have to remember information from one page to another.
Flexibility and efficiency of use
- The system should be flexible and provide processes with accelerators, which will speed up the process for more advanced users. Novice users should still have tools to complete the same task.
Aesthetic and minimalist design
- The system should only include information which is relevant. Apply a minimalist design which reduces content bloating, therefore reducing the cognitive burden placed on users.
Help users recognize, diagnose, and recover from errors
- Provide error messages that are expressed in plain language and avoid technical jargon. These should indicate the problem that has arisen and provide advice to find a solution.
Help and documentation
- Ideally, your system is most usable when it can be used without documentation. It may be wise to include some form of documentation, through some advice messages or provide a place to store answers to questions which can be easily searched for.
Designing for maximum usability
It is important to first answer some basic questions about your venture.Why are you building this system? What is your target audience?Without an answer here, it is difficult to design and develop a system which provides usability. I won’t develop an application aimed at teaching children, which conveys its information with professional language and uses a dull colour scheme. Performing various usability tests can bring great feedback to your team,highlighting areas where features can be improved.
Building personas can provide reliable feedback to represent your target audience, as well as giving you a greater understanding of your desired users.
But what are personas? Personas are fictional characters, each with their own education, lifestyle, interests, desires and limitations. They should be created with a wide range of characteristics, which will realistically represent your target audience. Personas will provide you with qualitative data over quantitative, giving you realistic insight into how key demographics will interact with your system. Involving this process brings many benefits, such as:
- Helping to guide your design process
- Focusing on the expectations and requirements of key user groups
- Provide universal feedback and aids in building a clearer understanding of functionality
- They are inexpensive to create
- They can be used early in a project’s development cycle
For the persona building process to be carried out, you may prefer to have a prototype of your system available. Prototypes can be built using a range of tools nowadays, with very little resources exhausted. Some teams still opt for paper prototyping, while others continue straight to wire-framing untested designs. Both options come with benefits. Most notably, the cost element in terms of both time and money is reduced when carrying out paper prototyping. Changes can also easily be made to the paper prototype, while the process itself can be carried out straight from the start of the design process.
There is now a huge amount of wire-framing tools available. This means more and more teams opt to pursue this stage with their untested designs.This can still be used to enhance your system’s usability. Smaller or more remote teams can find benefits through sending their digital wire-frames to test users to gather feedback. wire-framing is also a brilliant way to test out adding additional features to an already established system.