Error Robustness (ISO 9241)

Why Error Robustness? | How You Can Achieve Error Robustness

Error robustness means that a software should be permissive to errors. For example, it should let users undo erroneous steps. This robustness to errors helps to provide a more "relaxed" climate for users. Users need no longer be anxious about causing damage to data, the software, or even the computer.

However, error recovery procedures usually do not make a system simpler. It is far better to design a software so that errors cannot occur (or are prevented in unobtrusive ways).

 

 Why Error Robustness?

Error robustness is one of the ISO 9241 requirements. Errors are possibly the most important psychological barrier between users and their software. People are anxious about committing errors, often blame themselves for system errors, and may be unwilling to use an application that produces errors. This antipathy may even carry over to other applications and to computers in general.

Errors are also a productivity stopper. Errors reduce productivity by requiring users to put effort into error recovery procedures instead of productive work. They may even bring productivity to a halt if nothing works anymore.

 

How You Can Achieve Error Robustness

Here are some guidelines for achieving error robustness or error tolerance:

  • No user error philosophy: An application should never make users feel that they are in the wrong
  • Reversible actions: Make actions reversible whenever possible and inform users about any action that is irreversible
  • Protection against destructive errors: Prevent and detect errors, particularly errors that have destructive consequences

However, following these guidelines may not always be an easy task. Implementing an undo function may be difficult or even impossible. In business applications, for example, there is no undo possible for transactions. You have to cancel them.

There are some precautions that you can take in a business application without an Undo function:

  • Provide help on input values. Wherever possible, provide a fixed set of input values which users can select from.
  • Wherever possible, limit choices depending on the current application context. This applies to user inputs and options, as well as to functionality. Limiting the number of options is one of the most effective error prevention strategies.
  • Provide safety prompts for "dangerous" actions, such as quitting an application or booking a flight.
    Restrict safety prompts to the really dangerous cases.

In general, provide a consistent user interface that makes interaction predictable for users.

 

To top top

Source:  Simplifying for Usability