|
Abandon the guiding priciples of interface design:
- direct manipulation, point and click
- consistency
- user control and autonomy
- feedback and dialog
- metaphors for naive users
Replace them with:
- language
- more expressive interfaces
- better internal representations of objects
- shared control
- interface idioms for expert users
This is a summary of an article by Don Gentner and Jakob Neilsen
which appeared in the Communications of the ACM.
There is a link to it from Jakob Neilsen's website
www.useit.com.
The article argues that the current generation of GUIs has become stuck
in its roots, and some of the central principles should be violated
in order for us to make progress in GUIs design.
Note that the article does not criticise the Macintosh interface
because it is bad, but because it has become dated,
and it is time to move on.
The Macintosh was designed with the following constraints
(this list is not exhaustive):
- naive users
- narrow range of applications (mostly office work)
- weak computational resources (128K RAM, 400K drive, dot-matrix printer, not networked)
- low-resolution monochrome screen (9 inch, 200000 b+w pixels), poor audio output, no audio input
- a standalone machine; not networked, perhaps connected to a printer.
The design of interfaces for the Macintosh is based on the following principles:
- metaphors
- direct manipulation
- see and point
- WYSIWYG
- user control
- feedback and dialog
- forgiveness
- perceived stability
- aesthetic integrity
- consistency
- modelessness
Lets look at each of these.
Metaphors are fine for novice users (or a walk-up-and-use situation),
but they are awkward and limiting for experienced users,
and the next generation of computer users will not be novice users.
The intention of metaphors is to take advantage of time users have invested
learning to operate in an environment (such as an office)
by having the interface imitate the functions and behaviour of the environment.
This is OK for novice users or a walk-up-and-use situation,
and was appropriate for the Macintosh in the mid-80s.
However, the next generation of users will already have invested in computer learning,
so interfaces based on metaphors will be cumbersome and counterproductive for them.
Direct manipulation works well for simple action with a small number of objects,
but as the numebr of actions or the number of objects increases,
it quickly becomes repetitive and monotonous
(exactly the kind of activity computers should be used for, not people).
The problem is that you have to directly manipulate everything.
The user cannot group actions into one high-level action,
or specify conditional behaviour.
(try converting a group of GIFs into PNGs without resorting to shell script).
Users interact with the computer only by pointing at objects on the screen;
we have lost all the power of language.
We can only talk (with the computer) about immediately visible objects;
invisible objects are not available to us (such as future email messages,
and unknown objects like potential search results).
The interface doesn't have to be based solely on language,
nor does it have to understand natural language.
Power will come from the combination of language, examples, and pointing.
"What You See Is What You Get" means that you document looks the same
on screen as it does on the printed page.
However, WYSIWYG assumes that there is only one useful representation
of the document: the printed report.
It does not capture semantic information in the document
e.g. that this is a heading, or an abstract, or a figure caption
i.e. WYSIWYG also means "What You See Is All There Is".
The user, not the computer, should initiate and control actions.
The negative side is that the user must always be in control
(they cannot delegate to the computer).
Many activities in life are either so difficult or so boring and repetitive
that we would like to delegate them to other people or to machines.
Similarly, on the computer, there are many activities that we either
do not want to control or do not know how to control.
This is the territory of daemons and agents.
This is closely connected with the previous principle of user control:
if the user is required to be in control of all the details of an action,
then the user's needs detailed feedback.
If the user can delegate tasks to agents,
then there is no longer a need for detailed and continuous feedback.
One of the intentions of feedback is to get the user to trust the machine;
they can see what the machine is doing and compare it with what they expect.
However, computers should be more flexible in the amount of feedback supplied.
Initially it should be high,
and as the user's condfidence in the computer grows,
scaled back over time and restricted to unusual situations or user requests.
|