A sidebar to the article “The
Xerox Star: A retrospective,” published in IEEE Computer, September 1989, pp. 14-15.
Star’s Desktop metaphor is based upon the more general principle of
“direct manipulation.”1,2 What, exactly,
is direct manipulation? Consider the following passage from a description
of Apple’s Macintosh:
Imagine driving a car that has no steering wheel, accelerator, brake pedal,
turn signal lever, or gear selector. In place of all the familiar manual
controls, you have only a typewriter keyboard.
Anytime you want to turn a corner, change lanes, slow down, speed up, honk
your horn, or back up, you have to type a command sequence on the
keyboard. Unfortunately, the car can’t understand English sentences.
Instead, you must hold down a special key with one finger and type in
some letters and numbers, such as “S20:TL:A35,” which means,
“Slow to 20, turn left, and accelerate to 35.”
No doubt you could learn to drive such a car if you had sufficient
motivation and determination. But why bother, when so many cars use familiar
controls? Most people wouldn’t.3
Actually, it isn’t familiarity that makes real cars easier to drive
than the hypothetical “computer car” would be – cars are
certainly not familiar to those who are just learning to drive them. What
makes real cars easier to drive is the directness of their controls.
Real cars have distinct interfaces to the speed control (the accelerator
pedal), the direction control (the steering wheel), the gears (the gearshift
handle), the radio (several knobs and buttons), etc. Each interface is
specially designed for controlling its respective function. In
contrast, the hypothetical “computer-car” has only one control: a keyboard.
Direct manipulation requires that distinct functions be invoked and
controlled in spatially distinct locations, in ways that are specific
and appropriate for the particular function being controlled. Data objects
should be selected and operated on by simulated physical contact
rather than by abstract verbal reference: “That one” rather
than “The one in row 6.” Continuous functions (such as screen
brightness and color saturation) should be controlled via continuous
controls such as sliders, knobs, and dials. Discrete functions (such
as character font family) should be controlled via discrete means such
as commands, multiposition switches, or menus. In effect, a direct
manipulation system has a different input channel for every function the user
can have it perform.
Conventional interfaces are indirect in that there is a single, general interface
to all functionality (such as a keyboard and command language or
a menu). In other words, there is only one input channel for all
kinds of input; different kinds of input are distinguished linguistically, rather
than spatially.
Having a different interface to each function may seem to contradict the
goal of having a consistent interface, but in fact does not. Similar
functions should indeed have similar user interfaces across contexts.
Direct manipulation requires, however, that different functions should
have distinct interfaces, just as a car has distinct interfaces
to its various functions.
Directness versus indirectness is not a simple dichotomy: we can
speak of degrees of directness. Consider a graphics editor for creating
illustrations. In the following sequence of interfaces, each contains all
of the indirection of the previous one and adds a new level:
(1) The most direct interface for moving a circle would have the user point
directly at the screen and pull the circle to its new location.
(2) Introducing a mouse, bitpad, or joystick adds one level of indirection:
moving the mouse, bitpad stylus, or joystick on the desk moves the pointer
on the screen. Some users have difficulty with this indirection.
(3) Arrow keys introduce another level – and another kind – of
indirection: the keystroke movements required to move the screen
pointer, and hence the circle, do not resemble the desired movement of the circle.
(4) Typing a command to move the circle is still more indirect. Though typing
a command involves movements (keystrokes), we are inclined to think of the
movements as incidental; they could just as well be speech. Thus, it is no
longer a matter of movement – similar or not – in one place
corresponding to movement in another place; rather, it is the syntax and
semantics of the command that determine what happens.
Differences in directness can be very subtle. Contrast the following two
methods of changing the size of a window on the display:
(1) Grabbing onto a corner of the window and stretching the window to the desired size.
(2) Clicking on the desired window, choosing Resize from a command pull-down
menu, then pointing to where the window’s new border is to be moved.
It is sometimes said that mouse-driven user interfaces are direct while
keyboard user interfaces are indirect. Note, however, that both methods
1 and 2 above use a mouse, yet method 2 is less direct than method 1.
The above examples involve an illustration tool and a window manager. Such
applications are actually in a special category with respect to direct
manipulation, because the images on the screen are what the application is
intended to manipulate. The purpose of many applications (such as databases,
command and control, and file management) is to allow users to manipulate
information that is only represented on the screen in some way (for example,
pictorially or textually). Such applications therefore have one inherent
level of indirection.
Systems having direct-manipulation user interfaces encourage users to think
of them as tools rather than as assistants, agents, or coworkers. Natural-language
user interfaces, which are inherently indirect, encourage the reverse. As
direct-manipulation interfaces become more prevalent and as progress is made
in natural-language understanding and generation, it will be interesting
to see which way users prefer to think about their computers.
Jeff Johnson and Teresa L Roberts
References
1. E. Hutchins, J. Hollan, and D.A. Norman, “Direct Manipulation
Interfaces,” in User-Centered System Design, D.A. Norman and S. Draper,
eds., Eribaum Associates, Hillsdale, New Jersey, 1986, pp. 87-124.
2. B. Shneiderman, “Direct Manipulation: A Step Beyond Programming
Languages,” Computer, Vol. 16, No. 8, Aug. 1983, pp. 57-68.
3. L. Poole, A Tour of the Mac Desktop, MacWorld, Vol. 1,
No. 1, 1984, pp. 16-21.
|