In the following, we elaborate the global simplification goals by proposing
a number of related "secondary" design principles, which cover
the many aspects of simplicity. These principles allow you to focus on
certain simplicity aspects and also maintain an overview of the requirements,
which are often in conflict with each other.
Note that some of these principles are direct requirements of the ISO
norm 9241 part 10 for software usability.
If you are in a hurry, you can browse through the short descriptions
of the principles presented on this page, and then jump directly to section
4 "Tips and Tricks." There you
will find a selection of design questions and practical examples regarding
Below, we briefly present each principle and assign it to a single global
aspect, although the principles often serve more than one goal. In the
following sections, we will explain how each of these principles fulfills
the goal of simplification and demonstrate how it can be used in the design
of applications that are easy and efficient to use.
||Reduction means to reduce an application to
its essentials. This principle is applicable to all aspects of application
- Reduce the functionality (goals)
- Reduce the structural and navigational complexity
- Reduce the interface (screen) complexity
||Organizing and structuring an application
- The general application structure (screens, pages, and so on)
- The navigational structure
- The structure of the functionality
- The screen or page layout
||The principle of integration stresses the importance
of integrating simple, elementary tasks into a coherent framework.
||Prioritizing means that applications should
focus on the essential tasks and not try to serve a multitude of,
possibly diverse, goals. This includes optimization with respect to
the important aspects of a task.
||Software should be comprehensible for users –
not only its creators. There are many aspects to understandability:
application structure, navigation, procedures, and terminology. Or
more concrete: This principle requires that users always know the
state of their task, what to do next, how the application reacts to
certain inputs, and so on.
||An application should be easy to learn. It should
also be easy to relearn, so that casual users can master it.
||Self-descriptiveness requires that an application
can explain itself to the user.
||An application should provide a stable and familiar
working environment for users.
Conformity to User Expectations (ISO)
||An application should be consistent and meet
the users' expectations with respect to work practice as well as user
||Feedback provides users with clues about the
effectiveness of their actions and what is going on in an application.
||Metaphors, usually taken from the real world,
help users to transfer their prior knowledge to new software applications.
This facilitates the use of applications, especially for novices and
casual users. Metaphors can be also an effective integration tool.
||Using efficient representations, for instance
a graphical representation instead of a textual one, can make an application
much easier to understand.
||Aesthetic appeal is an important factor, especially
on the Web. An aesthetically pleasing design can contribute to the
overall simplicity and acceptance of an application.
Effectiveness and Efficiency
||An application has to fulfill certain goals.
There are goals dictated by the task at hand, and there are user goals,
which may not coincide with the first ones. In the context of simplicity
it is important to minimize the number of goals for an application
– preferably to one.
for the Task (ISO)
||An application is used for performing a certain task.
With respect to simplification it should not only enable users to
accomplish the task, but should also let them do so in an easy and
intuitive way. That is, the application should "fit the task."
||An application should be permissive to errors,
or, preferably, should prevent them.
of Tasks (Division of Labor)
||An application accomplishes its goals through the interplay
of user and system actions. You as the developer determine how much
work load is put on the user and how much work is taken over by the
of Controllability vs. Guidance - Amodality vs. Modality (ISO)
||Controllability is often translated as "the
user is in charge, not the computer." Users should at all stages
of the processing be able to decide what to do next. With respect
to simplification, you have to balance controllability with guidance
to achieve an optimal fit for the respective user groups.
Amodality and modality are two important aspects: Amodality means
that the application does not force users into predetermined actions.
Modality, on the other hand, forces users to perform a certain action.
||Parallelism has several aspects:
- Parallel processing of tasks
- Parallel provision of functionality
- Parallel provision of information
Typically, it makes applications more efficient, but
it also increases complexity.