GUIdebook: Graphical User Interface galleryHome > Articles > “The Xerox Star: A retrospective” > “Direct manipulation”
GUIsTimelinesScreenshotsIconsSoundsSplashesApplicationsAdsVideosArticlesBooksTutorialsExtras
Go backDirect manipulation

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.

Page added on 24th August 2005.

Copyright © 2002-2006 Marcin Wichary, unless stated otherwise.