Features —

A History of the GUI

Have you ever wondered about the genealogy of the graphical user interface you …


Xerox PARC

Douglas Englebart's demonstration in 1968 amazed many people and overwhelmed many more. It opened people's eyes to what could be possible in the future — a future where people all over the world collaborated on electronic documents displayed on computer screens and transmitted instantly over networks to other users. Such a future did not bode well for a company that had made its fortune selling photocopiers.

Xerox upper management, fearing the inevitable demise of their paper-based company in the "paperless" future, decided that they had better make sure they controlled this new technology. They formed the Palo Alto Research Center, or PARC, in 1970.


The Xerox Alto.

People came to PARC to work on five-year projects that were their dreams, and were given great freedom and latitude to do whatever interested them. This allowed the group to attract the top computer science researchers in the country. The atmosphere was relaxed, yet charged with excitement. PARC researchers truly believed they were inventing the future of computing, and they ended up doing just that.

One of the first things they invented was the laser printer, a natural complement to Xerox's copier business. But such a printer demanded a more graphical way for a computer to prepare documents to begin with. Since there were no such computers at the time, PARC invented their own. This was dubbed the Alto, and was first completed in 1973.

The Alto was not a microcomputer as such, although its working components did fit in a minibar-sized tower that fit under the desk. Its most striking feature was its display, which was the same size and orientation as a printed page, and featured full raster-based, bitmapped graphics at a resolution of 606 by 808. Each pixel could be turned on and off independently, unlike typical terminals of the time which could only display fixed text characters, and unlike the vector-based NLS which could only display text and straight lines. It also had a keyboard and a modernized version of Englebart's mouse, again with three buttons. The mouse cursor itself became a bitmapped image, and for the first time took the familiar diagonal-pointing arrow shape we know today, as well as morphing into other shapes depending on the task being performed.


The Alto File Manager.

The first software written for the Alto was rather crude, and only slightly graphical. For example, the file manager displayed directory listings in two columns (like Norton Commander) surrounded by boxes, but there were no "windows" as we know them today. A graphical word processor, called Bravo, was developed that could display different fonts and text sizes on the screen at the same time, but it had a slightly different user interface with menus on the bottom rather than on the top. (The author of Bravo, Charles Simonyi, would eventually join Microsoft and recreate his work as the original Word for DOS.) There was a bitmapped graphics editor that worked a lot like Paint does today, but it too had its own, different user interface. The PARC researchers realized that what was needed was a consistent user interface for new applications, and to make that happen a whole new visual code development environment would have to be invented. This was Smalltalk, the first modern GUI.

Smalltalk

Smalltalk was conceived as a programming language and development environment so easy to use that a child could understand it, and in many respects was successful in this goal. Smalltalk was the world's first object-oriented programming language, where program code and data could be encapsulated into single units called objects that could then be reused by other programs without having to know the details of the object's implementation. It also had modern, Java-like features like automatic memory management, to take some of the hard work away from the programmer. The development environment of Smalltalk was also the user interface that Smalltalk programs ran in, and introduced many modern GUI concepts. It first began to take shape around 1974, and was continuously updated and enhanced.

SmallTalk was a graphical development environment (like a modern visual IDE), but it was also the environment that it ran under. It was kind of like if Microsoft had developed Visual Studio as a single application that was itself Windows. You would launch Smalltalk from the file manager just like a regular application, but once it launched it took over the whole way the Alto's environment was presented.


The SmallTalk development and GUI environment

Individual windows in Smalltalk were contained by a graphical border, and stood out against the grey pattern of the background below them. They each had a title bar on the top line of each window which could be used to identify the window and move it around the screen. Similar to BeOS, the title bar did not stretch the full length of the window, but started at the top left and only extended as far as the title itself. Windows could overlap other windows on the screen, and a selected window would move itself to the top of the "stack." The concept of "icons" was also invented at this time — small iconic representations of programs or documents that could be clicked on to run them or manipulate them. Popup menus were also invented at the same time — the user would click one of the mouse buttons and hierarchical, graphical menus based on the task at hand would appear at the last position of the mouse cursor. Also appearing for the first time were scroll bars, radio buttons and dialog boxes.

The combination of Smalltalk and the Alto was essentially a modern personal computer with a very similar graphical user interface to the ones we use today. Altos had networking and could send e-mail to and receive it from one another, and seemed ideal for an office environment. Many of the PARC team wanted Xerox to market the new, cost-reduced Alto III as a commercial product (the original Alto was never available for sale) but Xerox management declined.

Eventually, a stripped-down version of the Alto, the Xerox Star 8010 Document Processor, was released to the public in 1981 for US$17,000. The Star had some differences from the Alto, most significantly the ability to overlap windows was removed as it was thought too confusing for the general public. Instead, the Star used tiled windows. As significant as the Star's release was, it was too little and too late for Xerox, who had by that time lost most of its top researchers to other companies.


Screenshot from the Xerox Star. Note the tiled application windows.

Channel Ars Technica