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 -- it is the directness of the real car's 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. Continuous functions (e.g., screen brightness, color saturation) should be controlled via continuous controls such as sliders, knobs, and dials. Discrete functions (e.g., character font family) should be controlled via discrete means such as commands, multi-position 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 (e.g., 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 vs. indirectness is not a simple dichotomy: one 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 level, and adds a new one:
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. A small percentage of 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 determines what happens.
Differences in directness can be very subtle. Contrast the following two methods of changing the size of a window on the display:
It is sometimes said that mouse-driven user interfaces are direct while keyboard user interfaces are indirect. Note, however, that both methods 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 (e.g., data base, command and control, file management), is to allow users to manipulate information that is only represented on the screen in some way (e.g., 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 co-workers. 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.
1. Hutchins, E., Hollan, J., and Norman, D.A. "Direct Manipulation Interfaces", in Norman, D.A. and Draper, S. (eds), User-Centered System Design. Hillsdale, New Jersey: Erlbaum Associates, 1986, pages 87-124.
2. Shneiderman, B. "Direct Manipulation: A Step Beyond Programming Languages" IEEE Computer, August 1983, 16(8), pages 57-68.
3. Poole, L. "A Tour of the Mac Desktop" MacWorld, 1984, 1(1), pages 16-21.
send site comments to
Please see our notices about the content of this site and its usage.
(cc) 1998- Digibarn Computer Museum, some rights reserved under this Creative Commons license.