Reprinted from Byte, issue 13/88, pp. 286-296.
Can a new graphical interface make Unix friendly after all these years?
For years now, the Unix operating system has been like an athlete with
potential – it has great talent but somehow has never lived up to
expectations on the playing field.
While Unix is one of the most capable and powerful operating systems
available, it still has a very small installed base (about 350,000 licenses
and some 1 million users) compared to the MS-DOS operating system (more than
10 million users) or even the Macintosh Finder (close to 2 million). Many industry
observers would agree that the main problem with Unix has been its lack of an
accessible, easy-to-use interface.
In April 1988, AT&T announced a new graphical user interface called Open Look,
destined to be the user interface for Unix System V version 4.0, the converged
version of the three most popular variants of Unix: System V, Berkeley (BSD)
4.2, and Xenix. Designed for AT&T by Sun Microsystems, and based on technology licensed
from Xerox, Open Look was designed to be independent of the hardware and
software on which it runs; as such, it can be used with operating systems other than Unix.
The graphical interface story
The development of graphical user interfaces can be traced to commercial products such
as the Xerox Star, Smalltalk, and the Macintosh; to academic projects such as the
Andrew system from Carnegie-Mellon; to research systems such as Diamond and
Sapphire; and to many applications in areas like CAD and desktop publishing.
The roots of all these systems go back to work done at Xerox’s Palo Alto Research Center
(PARC) in the 1970s. Among the more influential of the Xerox systems are Smalltalk,
the Star (and its successor ViewPoint), the Bravo Editor, and the Cedar development
environment. These systems introduced many of the ideas that have come to be
taken for granted as the basic elements of graphical user interfaces: windows,
icons, menus, the desktop metaphor, and direct manipulation of objects on the screen
by the user. The designers of the Star, in particular, placed great emphasis on
the consistency of the user interface.
In the early 1980s, the designers of the Apple Macintosh took those ideas and combined
them in a design tuned for a specific machine, market, and price point. The Macintosh
had a single-process operating system and a small screen. This led to a user interface
based on a single top-of-the-screen menu bar used by whatever program was currently
active. The designers envisioned an interface that was simple and accessible to
nontechnical people. This emphasis on simplicity also led to the choice of
a single-button mouse.
The Open Look user interface for Unix builds on and enhances both of these
traditions – the consistency of the Star and the simplicity of the Macintosh.
Beyond specific features, however, the major significance of Open Look is that
it is not tied to a particular computer or operating system.
The “Open” in Open Look
The Xerox Star was a tightly integrated, closed system. The hardware, operating
system, windowing system, user interface, and applications were all built by the
same company, so consistency was ensured.
Similarly, the Macintosh was a closed system, though Apple broke the applications
out of the bundle. As independent software developers began to supply applications
for the Macintosh, consistency across applications emerged as a crucial issue.
Apple addressed this issue by publishing user-interface guidelines and creating a
culture that encouraged application developers to follow the conventions.
With the advent of open systems like the Mac II, hardware as well as software is
now available from companies other than Apple. Meanwhile, a variety of graphics-oriented
system software (e.g., Windows and the Presentation Manager) is now available
for 8086/80286/80386 machines.
In graphics-based systems, the trend from tightly integrated, single-vendor systems toward
loosely integrated, multivendor systems has important consequences for user
interfaces. The designers of the Star took the position that the hardware should be
designed specifically to fit the software. The designers of the Macintosh also designed
their look and feel with reference to a particular operating system, display, and mouse.
Open Look takes this evolution to the next step. It was designed from the start to
accommodate different keyboards, mice, and screen resolutions. The interface is not
tied to a particular piece of hardware, operating system, or windowing system, so it
is possible for applications to have a consistent look and feel, regardless of what
hardware or operating system they happen to be running on.
First look at Open Look
In Open Look, the display screen is called the workspace. The workspace contains
windows and icons representing application programs. An application typically consists
of one main window (in which the application’s data is displayed) and several
pop-up windows that you use to manipulate the data.
Figure 1 shows a typical Open Look screen with sample applications called Draw
and Write. Notice the L-shaped corners on the applications’ windows, suggesting
picture mounts from a photo album. By clicking and dragging these mounts, you can
resize a window from any corner.
|Figure 1: A typical Open Look screen with edit and draw applications. Each application consists of one main menu (which you can resize using the L-shaped corners) and several pop-up windows that you use to manipulate the data.|
At the top of each application window is the header, which contains the name of
die application and a window mark that closes the application when you click it.
Below the header is the application’s control area, which provides access to
the application’s main functions, such as opening and closing files. The
control area typically consists of a single row of buttons. You “push” these
buttons by moving the mouse pointer over it and clicking the Select mouse button. (For an
explanation of Open Look’s approach to mice, see the text box Open
Season for Mice.)
As you can see in figure 1, there are two styles of buttons: Those with a single, heavy
shadow are simple buttons, representing a single command. Those with a double shadow
are button stacks, representing several related commands.
To perform the default action on a button stack, you click the Select mouse button.
Pressing the Menu mouse button calls up the menu associated with the stack. The Edit
button’s menu in figure 1 has been opened up in this way. Notice that
the menu itself contains buttons and button stacks. By using the two types of buttons
in combination, an application can support far more commands than it could display on
the control panel.
Below the control area is the pane, in which the application displays its data.
The form that data takes is up to the application; usually it is text, a drawing,
or a spreadsheet.
To the right of the pane is a scroll bar that lets you move the contents of a
document within the pane. As you can see in figure 1, the Open Look scroll bar resembles
an elevator riding on a cable that is anchored at either end. Clicking on the
top arrow moves you one line toward the top of the document; clicking on
the bottom arrow moves you one line toward the bottom. Because the arrow buttons are
located next to each other on the elevator instead of at either end of the scroll
bar, you need only move the mouse a short distance to reverse directions.
To jump directly to the beginning or end of the file, click on the top or
bottom cable anchors, respectively. Finally, you can move to any part of the document
by pressing in the middle of the elevator and dragging.
Open Look’s debt to the Xerox Star is evident in its use of property windows
that let you view and modify the properties of any object you can see on the screen.
To change an object’s properties, you first select the object of interest. Then
choose Properties from the appropriate menu (which will change depending on the
application and the object you select). This will bring up a window with controls that you
can use to modify the properties of the object. All property windows work in exactly the
same way, regardless of which object you are changing. For example, you could select a
word in a word processing program and change its font, select the main window of
an application and change the application’s background color, or select the
screen background and change a global property such as the volume of the system bell.
Figure 2 shows a typical property window for a word processing application.
|Figure 2: A typical Open Look property window for a word processing application. Settings whose boxes are closed together are exclusive – you can only choose one at a time. With settings whose boxes are separated, you can choose as many as you want.|
The first two lines in the property window of figure 2 are examples of settings that
let you choose among predefined choices. When you select a setting, its border
becomes outlined in bold. Settings whose borders touch are exclusive – only one
choice may be on at a given time. Settings whose borders do not touch are
nonexclusive – you can toggle each choice on and off independently of the
others. Below the settings is a text-entry field, and below that is a sliding control that
lets you choose quickly from a range of values.
All property windows have a special control, known as the pushpin, at the right of
the window header. When the pin is on its side, as in figure 2, the window will
disappear when you click the OK button. If you click on a pushpin, it pops into the
hole next to it. The window will remain until you dismiss it by clicking on the window
mark in the header. Using the pushpin lets you perform multiple operations (such as
changing font characteristics of various words throughout a document) without having
the window disappear after each action.
An application may also have pushpins on menus, thus allowing the menu to be pinned
up for repeated use. Figure 1 shows examples of both pinned and unpinned menus.
A special type of pop-up window is the notice, which asks you to confirm
operations that would result in the loss of data. Notices appear to project from
the button that prompted their appearance, as shown in figure 3. This
“projection” acts as a visual prompt.
|Figure 3: Open Look’s three-dimensional notice windows alert you to actions that could result in loss of data.|
Open Look provides help through a standard help window (see figure 4) that
appears when you point at an object on the screen and press the Help key on
your keyboard (which will vary from system to system).
|Figure 4: The Open Look help window, called by pointing to an object on the screen and pressing a Help key, contains a help message and a help lens, with a snapshot of the object for which you have requested help.|
Next to the help message is the help lens, a magnifying glass that contains a
snapshot of the object for which you have requested help. As you move the mouse pointer
from object to object and press the Help key, both the image in the lens and
the help text are updated.
The main goals of the Open Look design were to provide the following: good visual
design; balance among simplicity, consistency, and efficiency; device independence;
and interoperability with other widely used interfaces.
One of the most challenging aspects of visual design is the use of color. The problem
is to use color so it emphasizes useful distinctions and adds interest to the
visual scene without producing a neon “Las Vegas” effect.
Some user interfaces show each visual element – buttons, scroll bars, window
headers, and so on – in a different color, resulting in a random clutter of
bright colors. In contrast, Open Look allows you to choose the colors for
three areas of the user interface: the background of the screen, the background of each
window, and the currently selected object. This use of color serves several
purposes. The backgrounds of the windows are colored with neutral tones so that
they will not overwhelm whatever information the application is displaying. Also,
since a single background color is used for all the windows of a given application,
you can tell at a glance which pop-up window goes with which application.
Against this neutral background, the eye is naturally drawn to the brightly colored
selection (e.g., the block of yellow text in figure 1), which is the focus of
the user’s attention.
Open Look provides several palettes from which you can choose the colors of the
screen background, window backgrounds, and the current selection. The colors in
each palette have been chosen by the graphic designer so that they go well
together. This approach accommodates individual tastes while ensuring that the overall
effect will be pleasing and the text will still be readable.
Simplicity, consistency, and efficiency are the basic principles that guided the
Open Look design. When you’re doing a new task, you want the interface to
be simple. If the interface is similar to that of a task with which you are already
familiar, learning will be easier. And when you are doing a task over and over,
you want the interface to be as efficient as possible.
It is hard to overemphasize the importance of consistency. Consistency lets you learn
many applications and switch easily among them.
Several aspects of the Open Look design reflect this emphasis on consistency. Throughout
the system and across applications, a given mouse button is used for only one
function. We aimed for visual consistency in the design of controls: Buttons and
settings look the same, regardless of whether they appear in a pop-up menu or
in a window. The help window is another example of consistency: You can point to
any object on the screen and get help, regardless of whether it is a standard
element of the system (such as the pushpin) or an application-specific object such
as a particular button.
Open Look has taken many other well-established conventions of graphical user
interfaces and applied them in a more consistent way. For example, in Open Look,
we extended the familiar selection paradigm to include the screen background, so
you can select multiple windows and move or close them in a single operation.
Another example: While earlier interfaces let you manipulate graphics objects
directly, Open Look lets you select and drag arbitrary pieces of text
as well (see figure 5).
|Figure 5: While earlier graphical interfaces pioneered the direct manipulation of graphics objects, Open Look extends this, allowing you to select and drag arbitrary pieces of text as well.|
Efficiency is easier to measure than simplicity or consistency. The fewer moves needed
to perform a task, the more efficient the interface. This means minimizing keystrokes,
mouse travel, and the need to switch back and forth between the keyboard and the mouse.
Minimizing mouse travel becomes more important as more systems use large screens.
One way to reduce mouse motion is by using pop-up menus. In Open Look, each region of
the screen – the workspace, the window background, scroll bars, and each
application pane – has its own pop-up menu with relevant buttons. Instead of
having to move all the way to the control area, you simply press the Menu mouse
button, which effectively brings a control area to wherever the pointer happens to be.
Another way that Open Look minimizes mouse travel is by jumping the mouse pointer to
a default button when a pop-up window (such as a notice) appears. If you click on
the default button in the window, the pointer jumps back to its original position – saving
two mouse motions.
A more subtle aspect of efficiency is allowing users to take advantage of the multitasking
capability of an operating system like Unix. Take the problem of how to indicate that
a window is busy and will not respond to input. Most systems change the mouse pointer
into an hourglass or timer. In a single-tasking system such as the Macintosh, this
is appropriate, since you can’t do anything else until the active window is
finished. In multitasking systems, however, the hourglass is only visible when the
pointer is over the window that is busy. This approach requires you to keep the
pointer in the busy window so you can see when it becomes responsive again. In
contrast, when an Open Look window is busy, the window header (or icon, if the
window is closed) turns gray. Thus, you can move the pointer out of the window and
work on something else, and still tell at a glance when the window is again responsive.
Open Look was designed specifically to be used across a wide range of hardware. This
requirement means that the visuals must work well on displays of various resolutions and
sizes and on both monochrome and color. It also means that all the details of the
look – each graphical element and the amount of white space between elements – must
be specified in device-independent terms rather than as bit maps.
Hardware differences on the input side are also significant. The number of modifier
keys (e.g., Alt, Option, and Control) varies on different keyboards, as does the number
of buttons on different mice. As far as possible, Open Look insulates you from such
variations by allowing a great deal of flexibility in mapping mouse buttons and modifier
keys to functions.
Design is never done in a vacuum. The user of a new interface will always approach it
with a background of experience with existing interfaces. This means that every change
comes at the price of increased learning effort on the part of the user.
The Open Look design team envisioned a typical user who wants to switch easily between
Open Look, the Mac Finder, and the Presentation Manager. We therefore ruled out design
possibilities that would make this switch too difficult.
Take the example of scroll bars. There are endless variations on the scroll bar
concept, and many other possible ways to scroll that don’t even involve scroll
bars. After considering many of these possibilities, we became convinced that Open
Look’s scrolling mechanism had to be similar enough to what people were used
to so they could use it successfully right away. The design task, then, was to refine
the familiar scroll bars, making them more visually attractive and more efficient.
An Open Look at the future
The Open Look Functional Specification – a thick book addressed to the developers of
user-interface toolkits and describing the look and feel in great detail – was
distributed to over 1000 firms for review in July 1988 and will be published this
month. (A toolkit is a set of system-specific libraries containing the standard building
blocks – such as windows, menus, and scroll bars – that an application developer
uses in creating an application. Figure 6 shows where a toolkit fits into the
overall software architecture.)
|Figure 6: Toolkits for the Open Look user interface will allow software developers to develop applications for a variety of windowing systems running on widely disparate hardware and operating systems. The first toolkits available will be for Unix systems.|
The Open Look Application Style Guide, a somewhat thinner book addressed to application
developers, gives guidelines for how to use the various building blocks that Open
Look provides. The Style Guide will be published in early 1989.
Since the Functional Specification does not specify a particular hardware or software
platform, it leaves room for different toolkits to implement the Open Look
user interface on different systems. The first two Open Look toolkits – available
in the first quarter of 1989 – will be XT+ from AT&T and View2 from Sun, both
based on MIT’s X-Windows, a windowing system for Unix.
Sun is also developing an Open Look toolkit called NDE (for NeWS Development
Environment) based on the NeWS window system. NeWS is a portable, PostScript-based
window system that is commercially available for many platforms, including Unix, OS/2,
and the Macintosh. Thus, when NDE becomes available in the second quarter of 1989,
Open Look will be able to provide a common look and feel across a wide variety of
computers and operating systems.