bespoke software usability blog

The Staples of Software Usability


he definition of usability is sometimes referred to as the “ease of use”, but this statement provides little guidance for the user interface (UI) designer. A more precise definition can be used to understand user requirements, formulate user types and understand how they will use the system.

The definition of usability in the ISO 9241 standard is:

“The extent to which a product can be used by specified users to achieve specified goals with satisfaction, effectiveness and efficiency, in a specified context of use”

The components required to deliver this goal can be stated as:

  • Engaging
  • Effective
  • Efficient
  • Error-tolerant
  • Easy to Learn


Meanings of Usability


When considering usability, engaging is typically defined as a piece of software that is enjoyable and pleasing to use. The user’s immediate reaction and continued usage will be based on several elements.

An interface is engaging if it is pleasant and satisfying to use. The visual design is the most obvious element of this characteristic. The style of the visual presentation, the number, functions and types of graphic images or colours (especially on web sites), and the use of any multimedia elements are all part of a user’s immediate reaction. Subtler aspects of the interface also affect how engaging it is. The design and readability of the text can change a user’s relationship to the interface as can the way information is chunked for presentation. Equally important is the style of the interaction which might range from a game-like simulation to a simple menu-command system.

All of the above apply to every user and are subjective. Software designers need to ensure the software is engaging to user types and their interactive role with the software. A user using a repetitive work tool will have a different set of satisfaction criteria to someone intermittently accessing the site in an information gathering role for instance. It is essential these roles are understood and an engaging interface is written to accommodate the roles.



For software development to be effective it needs to deliver the goals it was designed for. Specifically, it needs to provide the user with a way to achieve the goals in an accurate manner without need for correction.



Effectiveness differs from efficiency in that effectiveness measures the accuracy of how the software supported the task and delivered the goal, whereas efficiency centres on the speed of the completion of the task and the number of interactions and level of manual repetition.


Easy to Learn

A system that is easy to learn is typified by a user interface that offers consistency. Consistency of the functions to create action, consistency in the presentation of information and consistency in the way tasks are completed. This allows existing and new users to engage with the system.

Existing users can capitalise on features and functions that are outside their day to day operation or main area of use. This is particularly important if their role changes or their process for completing tasks changes in the system. Consistency also means they are abler to adapt without loss in productivity.

Predictability is also key to in the training of new users of a system. Whether in formal training or trained by an existing user, it is important that the basics can be taught and then a consistent system allows the user to self-train rather than maintain a minimum of understanding to do their role.



We all strive to deliver an error free system, but product users and developers are human and mistakes happen. The skill is to design a system that recovers errors whether by software or the user in the best possible manner.

A highly usable interface will treat error messages and the avoidance of user errors as an essential part of the interface design rather than an afterthought. The error messages and warnings need to direct the user clearly to the path to recover or avoid an issue.

Avoiding user input errors can be enhanced with a logical flow of boxes to fill data in, with drop down selection where possible and the use of mandatory fields.

Where error messages are caused by system failure, designers must insure there is calm remedy messages for the user, bright red screens with flashing error messages will only panic users.


Connection to usability goals

Usability goals give focus to deliver successful software and a focus on delivering a usable interface. Each user need statement can be turned into a usability goal or requirements. For example, requirements can be specified with a range of acceptable values, such as:



At least 60% of employees will express using the online time recording system is easier to use than paper.

40% of trade customers will place orders on line rather than sending email orders in.



The user will be able to successfully complete the Accident registration in under 5 minutes.

The user will be able to retrieve a report relevant to their role.

Trade customers can place an order within two minutes for 5 items.



Less than 5% of the orders will have errors, omissions or inconsistencies requiring a follow-up contact by the telesales staff.

Managers can request reports on demand and receive reports to fulfil their role.


Easy to Learn

A new user should be able to carry out their case manager role after two hours of training.

A user should be able to cover a colleague’s broker role with a 15-minute overview of role.



The system should recover the user within two minutes from a fatal error.

A user must lose no more than one page of information in a system failure.



Usability and user-centered design are similar to agile software development and are iterative. The work proceeds in a cycle of diagnosis, prescription and evaluation, with an understanding of what the users and business needs building over the iterations.

The five E’s (effective, efficient, engaging, error-tolerant, easy to learn) provide the project manager, developer, client and users with a framework of characteristics, which help organise and evaluate the information from the users. Setting goals within these areas ensure that during the project the effectiveness of the solution is not lost and when finished, it can be measured against the agreed goals. The aim is to make a better software product; defining usability at the beginning allows fact to drive the success rather than blind faith and luck.