GUIdebook: Graphical User Interface galleryHome > Articles > “The integrated software and user interface of Apple’s Lisa”
GUIsTimelinesScreenshotsIconsSoundsSplashesApplicationsAdsVideosArticlesBooksTutorialsExtras
Go backArticlesThe integrated software and user interface of Apple’s Lisa

Reprinted from proceedings of the AFIPS 1984 National Computer Conference, pp. 319-328. Courtesy David T. Craig.

Abstract

In 1979 Apple began to develop Lisa, a workstation to enhance the productivity of office workers. The hardware was built around a Motorola 68000, a bit-mapped display, and a mouse. The user interface is intuitive, using real-world concepts rather than computer concepts. It is easy to learn, and provides for both novice users still learning the system and users that have mastered the system. The user interface is modeless and consistent. The uniformity of the user interface supports transferrable learning – the ability to learn an operation once and apply it over and over again in another application in a different context.

The user interface also supports data interchange among documents of the same or different types. This interchange of data, coupled with the multitasking operating system and the multiple windows of the Lisa, permits the use of several tools to perform a task that one tool alone could not accomplish. The Lisa user interface and its applications provide an environment that allows the user to concentrate on what is to be accomplished rather than on how to accomplish it. In this way, Lisa provides tools to improve the productivity of the office worker.

Introduction

Apple Computer formed the Lisa team in 1979 to develop a personal computer that would dramatically improve the productivity of typical office workers (professionals, managers, and their assistants). To accomplish this goal, a hardware and software solution radically different from current personal computer offerings was required. At that time, personal computers had the functionality but lacked the capacity, speed, and ease of use necessary to reach a market of users who did not want to learn the details of how a computer worked.

Inspired by SMALLTALK1, the Lisa team developed a system that has the functionality and speed users require, and additionally has a common user interface that supports gradual learning and promotes interchange of data among the same or different applications. The combination of multiple tools with a consistent user interface and data interchange among applications permits the user to work with several tools concurrently to accomplish a particular task.

Lisa hardware

Figure 1: The Lisa
This image can be zoomedFigure 1: The Lisa
The Lisa is a Motorola 68000-based personal computer with 512 or 1024 Kbytes of main memory, a memory management unit, a bit-mapped display, a detachable keyboard, a mouse, a built-in 400-Kbyte floppy disk drive, and a 5- or 10 megabyte Winchester disk (see Figure 1). This hardware provides the functionality, speed, and ease of use required to support the Lisa user interface.

The 68000 microprocessor was not the first choice. Development began on a home-grown bit-sliced system to provide the computing power. When the 68000 became available in sample quantities, we evaluated it and found it had good performance and was more economical.

The memory management unit (MMU) provides different logical address space contexts for processes and protection. The protection ensures that an individual application fault does not damage the rest of the system and therefore improves system reliability. The MMU also provides for code segment faulting and automatic stack expansion.

The bit-mapped display provides graphics and text support needed for the user interface. The display is 720 by 364 pixels and supports quality graphics and text fonts of different sizes and faces. This permits the word processing applications to use black on white images, proportional-spaced fonts, and different type styles including boldface, underline, and italic. To complement the graphics output, Apple wanted to use a mouse for a graphics input device, but existing ones were unreliable and had precision bearings that made them expensive and difficult to manufacture. Apple developed a mouse that is precise, tracks on almost any surface, and is easy to manufacture. The original prototypes had three buttons, but we found users spent too much time looking away from the screen to determine which button to push; consequently we changed to a two-button mouse. Once we found alternative ways to implement the functions of the second button, we changed to a one-button mouse.

Lisa software

Lisa’s desktop model

Figure 2: A Lisa screen showing the menu bar, two windows, and several icons
This image can be zoomedFigure 2: A Lisa screen showing the menu bar, two windows, and several icons
The office system software provides the user with a desktop that mirrors the function of a desk in the office. On the Lisa desktop, icons (small pictures) depict the office world. In Figure 2 we see a variety of icons, a menu bar at the very top of the screen, and two windows. One of the windows contains the contents of a LisaWrite document, and the other contains the catalogue of a disk.

There are several types of icons: documents, stationery pads, folders, a wastebasket, a ProFile disk, a clipboard, and one called Preferences. The types of documents are spreadsheets, business charts, lists, text documents, etc. These document icons quickly show the user not only that the object represented is a document, but also what type of document. Stationery pads permit a user to create new documents, and in addition permit a user to configure predefined forms or templates. For example, an office usually has different types of paper stock. One might be used for letters going outside the office, and another for interoffice memoranda. In the Lisa model, a user sets up a stationery pad for both types, and then each time the user needs to write a letter, he simply tears off a new piece of letter stock from the appropriate stationery pad. Since the pad is constructed from a document, the stock can be set up with the desired initial format and content. Folders provide a convenient way of grouping logically related documents together-similar to the function of file folders in the office. Thus, folders organize the contents of diskettes, disks, and the desktop.

The desktop supports two icons that represent storage devices. The ProFile icon represents the Winchester disk drive, and the diskette icon (not shown) represents a floppy diskette inserted in the built-in drive. These devices are used for document and program storage.

The wastebasket is used to throw away documents and programs. Just as the office worker can retrieve something thrown away in the wastebasket, the Lisa user can retrieve objects thrown in the wastebasket.

The clipboard is used by the editing operations. When a user edits a document, pieces of information are placed on the clipboard. This information can be copied into a different place in that document or into a different document altogether. Thus the clipboard acts as temporary storage for these scraps of information (more on this later).

The Preferences tool permits the user to customize the Lisa to suit his tastes. The user can set the screen brightness, the tone generator volume, the key repeat rate, the mouse click delay time, etc. Using Preferences, the user also can configure printers and disks.

The menu bar, located at the top of the screen, shows the titles of the available pull-down menus. The menus are called pull-down because when a user depresses the mouse button over a menu title, a rectangular area under the menu title pulls down like a roller blind. The rectangular area is called a menu and contains a number of labels, which are called menu items. The user moves the mouse down through the menu items and selects the desired operation. The menus, in conjunction with the current selection, give the user the ability to specify actions. For example, one changes a word in a document to italic type by selecting the word and then choosing the italic item from the Type Style pull-down menu.

The example desktop also shows two windows. Windows in Lisa show the contents of disks, documents, wastebasket, etc. Lisa displays up to 20 windows at a time, and windows can overlap or completely obscure other windows. The user has full control over the size and position of the windows.

The user interface philosophy

The Lisa user interface is much more than just a mouse, bit-map graphics, a desktop with icons, and overlapping windows. The Lisa user interface is designed to be intuitive. It uses real-world concepts, not computer concepts, and provides familiar office objects and ideas. The natural model enables a user to try things out that would make sense in the real world. In general they directly transfer to Lisa’s desktop world.

The user interface is designed to work the way you would expect it to work. In the office, users open documents, move them around, edit them, file them, etc. With Lisa, the mouse is used to manipulate objects directly. This is one of the key features of the Lisa user interface and is in stark contrast to traditional “computerese” of command languages and textual, mode-driven menus. Because there is no command language, very little typing is required to perform operations.

To ensure that Lisa is easy to use and learn, Apple developed LisaGuide, an interactive guide that teaches novices how to use the mouse as well as the basic principles of selection and menus. Once they have been through LisaGuide, they pick an application and start learning through actual use. This seems to be fairly successful; very few users will actually consult the manual.

The use of a common and consistent user interface provides for transferable learning. The user interacts with the desktop and all applications in the same way. For example, titles of documents on the desktop are edited the same way as text within memos or numbers in LisaCalc. In addition to the editing model, the filing and printing models are the same across all applications. The time a user invests in learning the editing, filing, and printing operations immediately transfers over to the next application. Consequently, the second application is easier to learn than the first.

One of the features of the user interface is that it addresses those users learning the system and those that have mastered it. The novice can learn a few operations, just enough to accomplish his task. As the user becomes more proficient with the system, he can graduate to the more advanced uses of Lisa including shortcuts to make his interactions even more effective. In contrast to other systems, Lisa does not burden the expert user with features intended for beginners.

Using Lisa

Wherever possible in Lisa, the user moves the mouse to manipulate objects directly. For example, to move a document from one diskette to another, the user moves the mouse over the icon representing the document, depresses the mouse button, moves the mouse (and the document icon) over the appropriate container, and releases the mouse button. The mouse moves windows around, sizes them, scrolls the contents of a window, and uses the elevator to jump to a position in the document. The elevator is a rectangular white icon in the scroll bar found at the bottom and right of the active window.

Another aspect of direct operation is the modeless nature of the user interface. A modeless system is a flat, non hierarchical model, permitting virtually any operation at any time. Thus the user need not remember what mode to enter to perform a function, nor what command to use to exit the mode. This flat command structure also permits the user to peruse the menus to find the most suitable operation.

Figure 3: A Lisa screen showing a pull-down menu
This image can be zoomedFigure 3: A Lisa screen showing a pull-down menu
When the user wants to operate on objects in the Lisa environment, the model we use is to select the objects and then operate on them with an action selected from a menu. We call this the noun-verb model, and it permeates all the applications as well as the Desktop Manager. For example, to open a document, the user moves the mouse over the icon of the document (named NCC paper in Figure 3), and clicks the button once to select the document. Then the user moves the mouse up to the menu bar and depresses the mouse button over File/Print, which causes the menu to pull down (see Figure 3). The user moves the mouse (with the mouse button down) over the “Open NCC paper” menu item, and then releases the mouse button.

In addition to a single click to select an object, several objects can be selected with single-click drag. This operation proceeds as follows: First the user positions the mouse to one side of the object, then the user depresses the mouse button and moves (drags) the mouse through the objects. When the selection includes all the objects, the user releases the mouse button. The selection of objects with single click and single-click drag, combined with menu commands can be used to perform every operation.

Two types of shortcuts are provided for the expert user multiple clicks of the mouse button (in quick succession) and Apple keys. Double- and triple-click operations substitute for selecting an object and operating on the object with a specific frequently used command. For example, a double click on a document icon opens the document. For less frequently used operations some menu commands have Apple key sequences. For example, text-editing menu commands like cut, copy, and paste have Apple key sequences that cause the command to be invoked. Apple key sequences involve holding down the Apple key along with an alphabetic character. Thus, multiple click shortcuts are used for the most frequently used operations on the selection, and the Apple key shortcuts are used for frequently used menu commands.

Error handling

A good user interface has good error handling. There are three aspects of error handling in Lisa: error prevention, error notification, and error recovery.

With many personal computers the contents of diskettes can be damaged by ejecting a diskette or turning off the machine at an inopportune moment. To protect against such errors, Lisa has software-controlled mechanisms for the diskette eject and on-off button. To eject a diskette, the user selects the eject menu item, the software then suspends the processing of all the documents that reside on that diskette and writes out those suspended documents to the diskette. Once all the I/O has been completed, the diskette is ejected. Pushing the on-off button causes suspension of all documents, the ejection of all diskettes, and finally the power down of the Lisa. These controls help to ensure the integrity of the user’s data.

Figure 4: A Lisa screen showing an alert
This image can be zoomedFigure 4: A Lisa screen showing an alert
Error notification in Lisa is handled with a special window called an alert (see Figure 4). An alert appears whenever the user must be notified that an error has occurred, a requested operation cannot be performed, or an explanation must be given. There are several kinds of alerts: stop, caution, note, ask, and wait. Stop alerts are used when the requested operation cannot be performed. Caution alerts inform the user that an operation has ramifications, and gives the user the opportunity to change his mind. Note alerts notify the user of something, ask alerts solicit input from the user, and wait alerts tell the user to wait until a lengthy operation completes. Alert messages that inform the user that an error has occurred have three parts. First, the user is told the nature of the problem; second, the user is told how to work around the problem; and finally, the user is told where to refer in the manual for more help.

Another level of recovery is provided by the Revert to Previous Version menu command. Sometimes a user makes several changes to a document and then changes his mind. In this event, the user can invoke the Revert to Previous Version command to return the document to the state when the document was last saved.

In the event of a program failure in Lisa, an alert message appears informing the user that the tool failed. The user is given the option to redisplay the document and if he chooses to do so, the document is shown, usually with the last changes intact.

The final area of error recovery is recovery from external errors such as power failures. If power goes off while using a computer, the disk is likely to be inconsistent; some of the current data are in memory but not on the disk. To protect against failures of this kind, the Lisa file system has redundant information permitting reconstruction of files on disk. The Desktop Manager and the LisaList tool also detect such failures and repair and reconstruct their information. When the user powers up the Lisa after such a failure or opens a damaged LisaList document, he is informed that repair is needed. When the user confirms that the repair operation should be started, the repair begins.

Lisa applications

Apple offers seven Lisa applications (also called tools): LisaCalc (spreadsheet), LisaWrite (word processing), LisaGraph (business graphics), LisaDraw (graphics editing), LisaProject (project scheduling), LisaList (list management), and LisaTerminal (terminal emulation). Lisa is an open system that permits third parties to develop Lisa applications, hence additional Lisa applications also are available.

The Lisa tools have effective user interfaces for their applications. LisaCalc and LisaGraph use the spreadsheet user interface developed by VisiCalc, further improved by the addition of the mouse. LisaList builds upon the user interface techniques developed in OBE2. LisaWrite uses techniques found in several word processors.

The unique Lisa applications are LisaDraw and LisaProject. LisaDraw is a structured graphics editor that permits the user to draw lines, circles, ovals, rectangles (both square and rounded), polygons, freehand curves, and text. It is used for such diverse applications as preparing diagrams for presentations and architectural drawings.

LisaProject is a PERT/CPM project-scheduling tool. It uses a graphical PERT chart representation to enter a project schedule. The user draws the schedule using rectangles for tasks and circles for milestones. The user specifies the task, the resources needed to accomplish it, the duration of the task, and its relation to other tasks. As tasks are added, durations changed, or scheduled dates specified, the schedule is recalculated.

The user interfaces of LisaDraw and LisaProject have opened up these tools to a much greater audience. Just as VisiCalc and QBE opened up spreadsheets and databases to those who were unable to use other offerings, LisaDraw and LisaProject have done the same in their application areas. Both these tools magnify the capabilities of the user. For example, people like myself who are totally inept at drawing are assisted by LisaDraw to the extent that very respectable results are easy to achieve. A similar result occurs with LisaProject. Administrative assistants unable to use conventional project-scheduling tools are now using LisaProject to make very large schedules.

During the development of the Lisa applications and the application libraries, we found that application development was not as easy as we would like it to be. The library structure was very hierarchical and was hard to use. Consequently we were determined to make it easier for third parties to develop Lisa applications. This led to two ways to develop Lisa applications, QuickPort and ToolKit.

QuickPort permits a third-party software developer to run standard PASCAL programs (ones that use standard PASCAL I/O) in a window in the Lisa office system. In addition, QuickPort permits cutting, copying, and pasting of information from the QuickPort window to other Lisa desktop windows. The modifications the third-party developer must make to the application to use QuickPort are minimal. The developer must use a few new units, and possibly make name conflict changes. This process can be accomplished in an afternoon.

QuickPort is the easiest way to get an application operational in the office system, but such a program cannot use all of the capabilities of the Lisa. ToolKit is used to write an application that fully uses the features of the Lisa. ToolKit is essentially a generic application that calls application-specific code to implement application-specific functions. This permits the sharing of common control structure code across several different ToolKit applications. Because different applications have different needs, the ToolKit generic application had to be extremely flexible. The flexibility required, along with the need to call application specific code, led to the use of classes similar to those in SMALLTALK3. The classes provide the ability to call the application-specific code while also permitting the developer to override or subclass a class to modify its behavior.

Both QuickPort and ToolKit promote the development of Lisa applications. This open nature of the Lisa office system permits third-party developers to develop a specific application, yet leverage off other Lisa applications. These third parties can develop applications that target specific markets while relying on the standard tools such as LisaWrite and LisaDraw for presentation of the results.

Integration in Lisa

Several components of integration in the Lisa system have already been mentioned. There is a consistent user interface that is common across all applications and the Desktop Manager. If the user wants to enter text and makes a mistake entering it, he can fix it using the standard text-editing model. The user does not have to remember which tool he is in, nor does he have to run an editor tool.

The editing model used by Lisa is the cut-and-paste model. Just as an editor might cut up a paragraph with scissors and paste-up sentences or paragraphs to improve an article, the Lisa user can cut and paste with the Clipboard. The editing model also includes the ability to copy to the Clipboard and undo the last edit operation. When a user copies or cuts an object, the object is copied onto the clipboard, a repository for scraps of information. The Paste command pastes the information from the clipboard into the active window replacing the current selection. This model is used for all objects; e.g., text within textual documents, numbers and formulas within LisaCalc, and graphics within LisaDraw. A user can cut or copy information from a paragraph and paste it into the same document or a different document. The is copy and paste model is also the mechanism for data interchange between documents.

This data interchange is illustrated by the following example. Let us assume that a user has data in a LisaGraph document (a bar chart) and wishes to move them to a LisaDraw document to annotate and customize the chart for a presentation. To do this the user selects the entire graph in the LisaGraph document, and then uses the Copy command in the Edit menu to copy the graph to the Clipboard. Next the user opens the LisaDraw document and selects Paste from the Edit menu. The user can then use the capabilities of the LisaDraw tool to add labels, change patterns, etc.

The direction of software integration that we see for Lisa in the future is presented in the following scenario. Lisa provides an environment where one can use LisaTerminal and gather data from a mainframe, copy the data to LisaList and subset them, copy the result to LisaCalc and perform some arithmetic manipulation to analyze the data, copy the resulting data to LisaGraph to make a chart, then copy the chart to LisaDraw to further customize it, and finally copy that customized chart to LisaWrite for inclusion in a report.

This type of integration permits the user to choose the best tools for his task. The user is free to concentrate on his task, not on the mechanics of typing the data or mastering the commands of the application. The model permits the tool's developer to concentrate more on the functionality that has to be provided, and not on extraneous features. For example, the LisaGraph tool can concentrate on drawing the best pie charts, without having to provide all the presentation flexibility (e.g., detached pie segments), since the chart can be copied to LisaDraw where the chart can be customized.

The open nature of the Lisa office system further expands the integration possibilities, The power of an open system becomes apparent when third-party tools can be used as equals in conjunction with the standard tools. This permits the Lisa to be used by a broader range of customers for a wider variety of applications. This is in contrast to closed systems, which are typically one large program, and do not permit integration of other components.

The clipboard

The clipboard provides a common interchange form between documents. There are three distinct interchange forms-text, tables, and graphics. In most cases, the user is unaware of what type of interchange form is employed. The user merely selects the object, and copies or cuts it. The type of object determines the form of the data on the clipboard. In cases where a particular selection is ambiguous, the user is required to further specify his intent. The cut, copy, and paste model does require that it be easy to move data from one tools document to another. In the Lisa environment, this is provided by the multitasking operating system4. Lisa uses a multitasking operating system to permit the concurrent operation of processes. For example, this permits LisaGraph and LisaDraw documents to be both on the screen and in memory. When the user switches from one document to the other, the operation can complete rapidly (one or two seconds if both are in memory already). The clipboard provides for rapid exchange of data to and from the same or different documents. It also provides the ability to undo the last cut or copy. In this way the user can undo a cut operation and then paste the previous clipboard contents. The astute reader will realize that only the last operation is undoable; undo of an undo undoes the undo.

Productivity enhancement

Integrated software of almost any style enhances productivity5. Just as word processors improve productivity by minimizing retyping, integrated software has reduced the time it takes to perform tasks that require the use of several tools.

Several studies have been performed by outside groups that substantiate the assertion that Lisa enhances productivity. Seybold Publications Inc. did a comparison of Lisa, SuperCalc 3, Context MBA, and Lotus 1-2-3. The task was to prepare an operating budget, which included spreadsheet calculations, making graphs, looking up information, and preparing a report. The timings did not include set-up time for the model, nor thinking time, consequently the timings do not represent the total time to complete the task, but only the time necessary to perform the four specific tests. The article reports that the total time it took was 27 minutes for a SuperCalc 3 user, 33 minutes for Context MEA, 47 minutes for Lotus 1-2-3, and 59 minutes for a Lisa user.

We couldn’t understand how it took them so long to do the tasks using Lisa, so we looked into it. It turns out the users were experienced IBM PC users, and the users were inexperienced in using Lisa. We retimed the tests with an experienced Lisa user and found that it took 19 minutes. So the study should have shown it took 19 minutes for an experienced Lisa user, 27 minutes for a SuperCalc 3 user, 33 minutes for Context MBA, 47 minutes for Lotus 1-2-3, and 59 minutes for an inexperienced Lisa user. The disparity of time between the experienced Lisa user and the inexperienced Lisa user is that the inexperienced one was unaware of a mechanism for transferring data from LisaCalc to LisaGraph, and cut and pasted the data cell by cell. Another reason for the disparity was that the inexperienced user did not take advantage of background printing.

This study was chosen because it illustrates several things. The fact that an inexperienced Lisa user was in the ballpark for these tests shows that an inexperienced user can effectively get the job done (especially when the combination of set-up time and thinking time dominates). The other important point that this study illustrates is that a simple user interface leads people to some incorrect conclusions. People wrongly conclude that simple user interfaces are good only for simple things, and that features are not implemented. In the case of this study, the simple user interface led the users to believe that they had mastered the system, so they failed to look up functions in the manual.

Summary

Lisa achieves integration in a variety of ways. It uses an intuitive model using familiar objects that permit direct interaction as opposed to indirect interaction with a command language. In contrast to some systems that always prompt for individual steps, Lisa’s user interface supports users at every point on the learning curve. The uniform user interface also provides for transfer able learning; the user needs to learn how to edit, print, and file only once, and then can apply that knowledge throughout all applications. The combination of gradual and transferable learning results in a system that is many times easier to use. This ease of use has made it possible for individuals to use tools to accomplish tasks that they could not before.

The editing model provides not only for editing information within a document, but also promotes the interchange of data among documents of similar or different types. This interchange is fostered by the ability to have several windows displayed concurrently. The ability to use documents concurrently and interchange data among them makes it possible to use several tools in a cooperative manner to perform a task that one tool alone could not accomplish. Since one of these windows can be connected to a remote computer, this permits exchange of data between mainframes and Lisa documents. In contrast to some systems, Lisa is an open system, permitting third parties to develop additional applications. Third-party developed applications function in a manner that is similar to other Lisa applications with the uniform user interface, and are able to interchange data as well.

The combination of the uniform user interface coupled with multiple tools that operate concurrently, each of which can interchange data with others, provides an environment that increases office worker productivity. Workers are free to concentrate on their tasks, not on how to accomplish them.

by Edward W. Birss
Apple Computer, Inc.
Cupertino, California

References

  1. Goldberg, A., and D. Robson. “SMALLTALK-80: The Language and its Implementation.” Reading, Mass.: Addison-Wesley, 1983.
  2. Zloof, M. “Query by Example.” AFIPS, Proceedings of the National Computer Conference (Vol. 44), 19175, pp. 431-437.
  3. Smith, D.C., C. Irby, R. Kimball, and E. Harslem. The STAR User Interface. AFIPS, Proceedings of the National Computer Conference (Vol. 51), 1982, pp. 515-528.
  4. Daniels, B. Lisa’s Alternative Operating System. Computer Design, 22 (1983), pp. 159-166.
  5. Uttal, B. “The Best Software for Executives.” Fortune, December 26, 1983, pp. 136-142.

Page added on 22nd January 2005.

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