Home | Why? | Collections | Stories | Help! | Links | Friends | Lets Talk! | Events & Visiting
Damer's Personal Histories of the Desktop User Interface
A re-visiting and revising the famous Bushy Tree diagram of the lineage of visual interactive computing systems
The Newly Inspired Bushy Tree
(click on many of the "leaves" to bring up associated web resources)
In 1999, John Redant, then a student at university in Canada, with input from DigiBarn curator Bruce Damer and others filled out the original "bushy tree" diagram of the lineage of visual computing systems (mostly software). The goal was to bring this diagram up to the year 2000. You can understand this diagram in the context of John's wonderful article Contributions and Downfall the Xerox Star. Many of the "leaves" in the tree above are clickable and will bring up associated web resources.
Footnotes about the new "Bushy Tree"
From Randy Gobbel (paraphrased):
About the thick line running from BravoX to MS Word
Charles Simonyi and most of the BravoX team left Xerox for Microsoft as a group, around about 1982 or 1983. The first version of MS Word, which appeared maybe a year later, was essentially just a port of BravoX to MS-DOS. If you read the BravoX manual, you can see that it already has MS Word features such as Styles. MS Word also shows its ancestry in its native file format. Bravo and BravoX stored out files by essentially just dumping the memory heap. This made saving and loading documents very fast, but it also meant that a) the file format was not at all easy to decode, and b) some strange stuff, such as previously deleted text, is stored out along with live text. These idiosyncrasies of the file format are still present in the current version of MS Word.
Originally Inspiring Bushy Tree
The original version of the figure (8) from The Xerox "Star": A Retrospective, a paper appearing in IEEE Computer, September 1989 and also in the book Human Computer Interaction: Toward the Year 2000 by Morgan Kaufman.
An excerpt from this paper follows, explaining Fig. 8 -- How systems influenced later systems.
This graph summarizes how various systems related to Star have influenced one another over the years. Time progresses downwards. Double arrows indicate direct successors (i.e., follow-on versions). Many "influence arrows" are due to key designers changing jobs or applying concepts from their graduate research to products.
Although Star was conceived as a product in 1975 and was released in 1981, many of the ideas that went into it were born in projects dating back over three decades.
Memex -- The story starts in 1945, when Vannevar Bush, a designer of early calculators and one of President F.D. Roosevelt's science advisors, wrote an article describing his vision of the uses of electronics and information technology. At a time when computers were new, room-sized, and used only for military number-crunching, Bush envisioned a personal, desktop computer for non-numerical applications, and called it the Memex. Due to insufficient technology and insufficient imagination on the part of others, Bush's ideas languished for fifteen years.
SketchPad -- In the Sixties, people began to take interactive computing seriously. One such person was Ivan Sutherland. He built an interactive graphics system called Sketchpad that allowed a user to create graphical figures on a CRT display using a light pen. The geometric shapes users put on the screen were treated as objects: after being created, they could be moved, copied, shrunk, expanded, and rotated. They could also be joined together to make larger, more complex objects that could then be operated upon as units. Sketchpad influenced Star's user interface as a whole as well as its graphics applications.
NLS -- Also in the Sixties, Douglas Engelbart established a research program at Stanford Research Institute (now called SRI International) for exploring the use of computers "to augment the knowledge worker" and human intellect in general. He and his collegues experimented with different types of displays and input devices -- inventing the mouse when other pointing devices proved inadequate -- and developed a system commonly known as NLS.2* NLS was unique in several respects. It used CRT displays when most computers used teletypes. It was interactive (i.e., on-line) when almost all computing was batch. It was full-screen-oriented when the few systems that were interactive were line-oriented. It used a mouse when all other graphic interactive systems used cursor keys, light pens, joy sticks, or digitizing tablets. Finally, it was the first system to organize textual and graphical information in trees and networks, which today would be called an "idea processor" or a "hypertext system".
The Reactive Engine -- While Engelbart et al were developing ideas, some of which eventually found their way into Star, Alan Kay, then a graduate student, was doing likewise. His dissertation, The Reactive Engine, contained seeds of many ideas that he and others later brought to fruition in the Smalltalk language and programming environment, which, in turn, influenced Star. Like the designers of NLS, Kay realized that interactive applications do not have to treat the display as a "glass teletype" and can share the screen with other programs.
In 1970, Xerox established a research center in Palo Alto to explore technologies that would be important not only for the further development of Xerox's then-existing product line (i.e., copiers), but also for Xerox's planned expansion into the office systems business. The Palo Alto Research Center (abbreviated "PARC") was organized into several laboratories, each devoted to basic and applied research in a field related to the above goals. The names and organization of the labs have changed over the years, but the research topics have stayed the same: materials science, laser physics, integrated circuitry, CAD/CAM, user interface (not necessarily to computers), and computer science (including networking, databases, operating systems, languages and programming environments, graphics, document production systems, and artificial intelligence).
Alto -- PARC researchers were fond of the slogan: "The best way to predict the future is to invent it." After some initial experiments with time-shared systems, they began searching for a new approach to computing. Among the founding members of PARC was Alan Kay. He and his collegues were acquainted with NLS and liked its novel approach to human-computer interaction. Soon, PARC hired several people who had worked on NLS and in 1971 signed an agreement with SRI licensing Xerox to use the mouse. Kay and others were dedicated to a vision of personal computers in a distributed environment. In fact, they coined the term "personal computer" in 1973, long before microcomputers started what has been called the "personal computer revolution". One result of the search for a new approach was the Alto (see Fig 9).
The Alto was a mini-computer that had a removable, 2.5 mega-byte hard disk pack (floppy disks did not exist at the time) and 128 to 256 kbytes of memory. Unlike most machines of its day, the Alto also had a microprogrammable instruction set, a "full-page" (10 1/2 x 8 1/4 inch; 600 x 800 pixel) bitmapped graphic display, about 50 kbytes of high-speed display memory, and a mouse.
The first Alto was operational in 1972. At first, only a half-dozen or so Altos were built. After software that exploited the Alto's capabilities became available, demand for them grew tremendously, spreading beyond PARC into Xerox as a whole and even to external customers. Eventually, over a thousand Altos were built.
Ethernet -- Another product of the new approach was the Ethernet. With its standardized, layered communications protocols, Ethernet provides a way of connecting computers much more flexibly than had been previously possible. Soon after the first Altos were built, they were networked together. Eventually, the network grew to thousands of workstations (Altos and Alto-successors) within Xerox's worldwide organization, giving Xerox millions of person-hours of experience with networked personal computers and servers.
Smalltalk -- Alan Kay had been one of the main advocates of the Alto. His Learning Research Group (LRG) began using the Alto to build prototypes for a personal computing system "of the future": a portable machine that would provide -- rather than a canned set of applications -- the building blocks necessary for users to build the tools and applications they need to solve their own information processing problems. The technologies needed to build a lap computer with the power of the "DynaBook" (as the envisioned system was called) were unavailable at the time, and still are. The prototypes developed by Kay's group evolved into the Smalltalk language and programming environment. They further promoted the notion of personal computing, pioneered complete, interactive programming environments, and refined and solidified concepts of object-oriented programming that had been extant only in vestigial form in previous systems. Most importantly for Star, they demonstrated the power of graphical, bitmapped displays, mouse-driven input, windows, and simultaneous applications. This is the most visible link between Smalltalk and Star, and is perhaps why many people wrongly believe that Star was written in Smalltalk.
Pygmalion -- The first large program to be written in Smalltalk was Pygmalion, the doctoral thesis project of David Smith. One goal of Pygmalion was to show that programming a computer does not have to be primarily a textual activity: it can be accomplished, given the appropriate system, by interacting with graphical elements on a screen. A second goal was to show that computers can be programmed in the language of the user interface, i.e., by demonstrating what one wants done and having the computer remember and reproduce it. The idea of using icons -- images that allow users to manipulate them and in so doing act upon the data they represent -- came mainly from Pygmalion. After completing Pygmalion, Smith worked briefly on the NLS project at SRI before joining the Star development team at Xerox.
Bravo, Gypsy, and BravoX -- At the same time that LRG was developing Smalltalk for the Alto, others at PARC, mainly Charles Simonyi and Butler Lampson, were writing an advanced document editing system for it: Bravo. Because it made heavy use of the Alto's bitmapped screen, Bravo was unquestionably the most WYSIWYG text editor of its day, with on-screen underlining, boldfacing, italics, variable font families and sizes, and variable-width characters. It allowed the screen to be split, so that different documents or different parts of the same document could be edited at once, but did not operate in a windowed environment as we use the term today. Bravo was widely-used at PARC and in Xerox as a whole.
In 1976-78, Simonyi and others rewrote Bravo, incorporating many of the new user-interface ideas floating around PARC at the time. One such idea was modelessness, promoted by Larry Tesler3 and exemplified in Telser's prototype text editor Gypsy. They also added styles, enhancing users' ability to control the appearance of their documents. The new version was called BravoX. Shortly thereafter, Simonyi joined Microsoft, where he led the development of Microsoft Word, a direct descendent of BravoX. Another member of the BravoX team, Tom Malloy, went to Apple and wrote LisaWrite.
Draw, SIL, Markup, Flyer, and Doodle -- Star's graphics capability (i.e., its provisions for users to create graphical images for incorporation into documents, as opposed to its graphical user interface) owes a great deal to several graphics editors that were written for the Alto and later machines.
Draw, by Patrick Baudelaire and SIL (for Simple Illustrator) by Chuck Thacker (main designer of the Alto) were intellectual successors of Sutherland's Sketchpad (see above): graphical object editors that allowed users to construct figures out of selectable, movable, stretchable geometric forms and text. In turn, Star's graphic frames capability is in large measure an intellectual successor of Draw and SIL.
Markup was a bitmap graphics editor (i.e., a paint program) written by William Newman in BCPL for the Alto. Flyer was another paint program, written in Smalltalk for the Alto by Bob Flegel and Bill Bowman. These programs inspired Doodle, a paint program written for a later machine by Dan Silva. Doodle eventually evolved into ViewPoint's Free-Hand Drawing application. Silva went on to write DeluxePaint, a paint program for PCs.
Laser Printing -- Fancy graphics capabilities in a workstation are of little use without hardcopy capability to match it. Laser printing, invented at PARC, provided the necessary base capability, but a way was needed for computers to describe output to laser printers in a uniform way. For this purpose, Bob Sproull developed the Press page-description language. Press was heavily used at PARC, then further developed into Interpress, Xerox's product page-description language and the language in which Star encodes printer output. Some of the developers of Interpress later formed Adobe Systems and developed Postscript, a popular page description language.
Laurel and Hardy -- A network of personal workstations suggests electronic mail. Though electronic mail was not invented at PARC, PARC researchers (mainly Doug Brotz) made it user-friendly for the first time by creating Laurel, a display-oriented tool for sending, receiving, and organizing e-mail. The experience of using Laurel, which was named after a tree, inspired others to write Hardy, named after Laurel, for an Alto successor machine. Laurel and Hardy were instrumental in getting non-engineers at Xerox to use e-mail. The use of e-mail spread further when Star and ViewPoint spread throughout Xerox. Today, Xerox employees depend heavily upon the company's global e-mail network for communication, both work-related and otherwise, with other employees.
OfficeTalk -- One more Alto program that influenced Star was OfficeTalk, a prototype office automation system written by Clarence "Skip" Ellis and Gary Nutt. OfficeTalk supported standard office automation tasks and tracked "jobs" as they went from person to person in an organization. Experience with OfficeTalk provided ideas for Star because of the two systems' similar target applications
end of excerpt.
See also: The Computer Tree
Large systems from ENIAC on up to the early 1960s.
From Electronic Computers Within the Ordnance Corps , by Karl Kempf. "U.S. Army Diagram" (specific description of the diagram is here)