Key principles of user centred design
These principles summarise best-practice for the design of usable
systems. They are not 'hard-and-fast' and can be tailored to suit
specific interaction needs.
1 Design for the users and their tasks
Interactive computer systems do not operate in isolation –
they exist to support users to perform their work tasks. A successful
system meets business objectives through being user-centred and
task-oriented. Throughout development, always bear in mind the characteristics
of the user population, their real-world tasks, and their working
2 Be consistent
To minimise the learning requirements for users, make the behaviour
of common interface elements and dialogue boxes as consistent as
possible. This often means designing to be consistent with other
existing components of the computer system. Although you may be
able to design a new slick style of interaction, if it is inconsistent
with the rest of the system, it will take users time and effort
to learn it and get used to it.
3 Use simple and natural dialogue
The dialogue between user and system should follow the natural
sequence implied by the task. There should be no more information
presented to the user than is necessary to complete the current
task, because each item of irrelevant information adds complexity
to the dialogue.
All messages and instructions should be in plain English and should
use the vocabulary of the intended audience. Terminology should
be defined so that the same term always has the same meaning.
4 Reduce unnecessary mental effort by the user
Users should be able to concentrate on their task without worrying
about how the tool they are using – the computer. The more
complicated the interaction with the computer, the more frustrated
users become and the more distracted they are from their real task.
If users have to invest too much mental effort in working out how
to operate the computer, they will be less efficient and make more
errors. This is particularly dangerous in safety-critical situations,
or where a business relies heavily upon the outcome of a task.
Simplify frequent tasks as much as possible. Users should not
have to remember information from one part of the system in order
to use another part. Instructions for the use of the system should
be visible or clearly retrievable whenever appropriate.
5 Provide adequate feedback
Users need to be confident that their actions have been successful.
This is usually evident from a distinct change in appearance of
the window, e.g. after completing a transaction. If completion will
take more than a second or so, a progress or working indicator should
be displayed to give the user confidence that the computer is still
operating. But avoid presenting the user with unnecessary or irrelevant
diagnostic or status information about the internal state of the
Feedback should be provided at several levels of interaction.
At a low-level, users should receive confirmation that they have
operated a control successfully – for example, a button immediately
indicates when it has been operated by appearing momentarily pressed
in. Users should also be informed when a longer sequence of operations
has been completed.
6 Provide adequate navigation mechanisms
Provide enough relevant information for users to know where they
are. This can usually be achieved by applying a meaningful and consistent
mechanism for assigning titles to windows, and by using range and
location indicators such as scroll bars or page numbers. Other mechanisms,
such as providing a navigation map, overview, or history of areas
visited (bread-crumbs), also should be considered.
There should be clear and easy routes between the different windows
users need to access for particular tasks. These should be provided
in a form which is appropriate for the user at each stage of a task.
Users often choose system functions by mistake and should be provided
with a clearly marked "emergency exit" to leave the unwanted
state without having to go through an extended dialogue, for example
by providing an Undo facility, or a Cancel button in a modal window.
7 Let the user drive
The user should be able to select the information they need in
a sequence which is convenient to support each individual task.
The system should provide as few constraints as possible on how
the task is achieved, but should provide simple ways to achieve
frequently performed tasks.
8 Present information clearly
Arrange on-screen information so as to increase the user’s
ability to discriminate between different items and groups of data,
through the use of spacing, boxes, and visual coding techniques.
However, don’t overwhelm the user by providing more information
or coding than is necessary to perform the task. Where appropriate,
present information in a consistent manner and location across different
windows to enhance learn ability.
9 Be helpful
So far as possible, systems should be self-explanatory so that
they can be used with the minimum of help and documentation. The
information on the window should be expressed in terms of the user’s
task. Always use tool tips for buttons labelled with an icon.
The initial on-line help provided should relate to the specific
context of interaction on the window. It should be task-oriented,
listing the concrete steps to be carried out.
10 Reduce errors
Reduce errors by guiding the user down the correct path to accomplish
their goal. Where appropriate to the task, users' responses should
be constrained to avoid error (but not where this would limit the
users’ reasonable choice in how to perform their tasks). Similarly,
the system should validate data entry as near to the point of input
Error messages should be expressed in plain language avoiding
the use of codes, indicate precisely the problem, and should suggest
a solution. Most of all, error messages should be phrased so as
to avoid blaming the user.
Design guidelines resources
Guidelines for user interface design summarise good practice and
provide useful high and low level guidance on the design of usable