Tech —

Y Combinator’s Xerox Alto: restoring the legendary 1970s GUI computer

Steve Jobs famously saw one and was inspired to create the Lisa, then the Mac.

Y Combinator’s Xerox Alto: restoring the legendary 1970s GUI computer
This article originally appeared on the blog of author Ken Shirriff and is reprinted here with his permission.

Alan Kay recently gave his 1970s Xerox Alto to Y Combinator, and I'm helping with the restoration of this legendary system.

The Alto was the first computer designed around a graphical user interface, and it introduced both Ethernet and the laser printer to the world. The laser printer was invented at Xerox by Gary Starkweather, and networked laser printers were soon in use with the Alto. Y Combinator's Alto is an "Orbit" model with slots for the four boards that drive the laser printer, laboriously rendering 16 rows of pixels at a time.

The Alto was also one of the first object-oriented systems, supporting the Mesa and Smalltalk languages. Designed by computer pioneer Chuck Thacker, the Alto was revolutionary when it came out in 1973.

Xerox built about 2,000 Altos for use at universities, research labs, and in-house, but the Alto was never sold as a product. Xerox used the ideas from the Alto in the Xerox Star, which was expensive and only moderately successful. The Alto’s biggest impact came in 1979 when Steve Jobs famously toured Xerox. When Jobs saw the advanced graphics of the Alto and the Star, he was inspired to base the user interfaces of his Lisa and Macintosh systems on Xerox's ideas and bring GUI to the mass market.

(Malcolm Gladwell describes Steve Jobs' visit to Xerox in detail in his New Yorker piece, "Creation Myth." The article claims that Xerox licensed its technology to Apple, but strangely that license wasn't mentioned in earlier articles about Xerox's lawsuit against Apple. The facts here seem murky.)

How did Y Combinator end up with a Xerox Alto? Sam Altman, president of Y Combinator, is fascinated with the Alto and its place in computer history. When he mentioned to Alan Kay that it would be fun to see one running, Alan gave him one.

This article will focus on the Alto, its impact, and how it was implemented. Later articles will discuss how we fix components that have broken over the decades and get the system running.

The Alto has an unusual portrait-format display, intended to match an 8.5x11" page of paper. Most displays of the time were character-oriented, but the Alto had a bitmapped display, with each of the 606x808 pixels controlled independently. This provided unprecedented flexibility for the display and allowed WYSIWYG (what-you-see-is-what-you-get) editing. The bitmapped display memory used almost half the memory of the original Alto, however.

Xerox designed the Alto’s user interface around the three-button mouse that sits in front of its keyboard. The disk drive at the top of the cabinet takes a removable 2.5 megabyte cartridge. The small capacity of the disk was a problem for users, but files could also be accessed from file servers over the Ethernet. The lower part of the cabinet contains the computer's circuit boards and power supplies, which will be discussed below.

Dynabook and the vision of the Alto

The motivation for the Alto was Alan Kay's Dynabook project. In 1972, he wrote "A Personal Computer for Children of All Ages," setting out his vision for a personal, portable computer for education or business that could access the world's knowledge. In effect, Alan Kay presented a detailed vision for the touchscreen tablet decades before it was practical. (Amazingly, his paper even predicted ad blocking: "One can imagine one of the first programs an owner will write is a filter to eliminate advertising!")

Alan Kay with a mockup of the Dynabook. Although the Dynabook was proposed years before the necessary hardware was available, the ideas could be tried out on the Alto, an "interim Dynabook".
Enlarge / Alan Kay with a mockup of the Dynabook. Although the Dynabook was proposed years before the necessary hardware was available, the ideas could be tried out on the Alto, an "interim Dynabook".

The Dynabook (seen in mockup above) was to be a low-cost, battery-powered, portable computer with a touchscreen, graphics, and the ability to access information over a network. The system would be interactive and programmable in an object-oriented language. Voice input could be used as well as the keyboard. Books could be downloaded and purchased.

Since the necessary hardware was science fiction when the Dynabook was proposed, the Alto was built as an "interim Dynabook" for research. Butler Lampson's 1972 memo entitled "Why Alto" proposed using the Alto for research in distributed computing, office computing, graphics, and personal computing. "If our theories about the utility of cheap, powerful personal computers are correct,” he wrote, “we should be able to demonstrate them convincingly on Alto."

For its part, Xerox called the Alto "a small personal computing system." The official manual, ALTO: A Personal Computer System Hardware Manual, clarified further. "By 'personal computer' we mean a non-shared system containing sufficient processing power, storage, and input-output capability to satisfy the computational needs of a single user." (Since the concept of "personal computer" is ill-defined, I won't argue whether the Alto is really a personal computer or not. But costing tens of thousands of dollars, the Alto was much more expensive than what people usually think of as a personal computer.)

Software

The Alto had quite a collection of software, largely implemented in the BCPL (predecessor to C), Mesa, and Smalltalk languages. The Bravo text editor (see below) is considered the first WYSIWYG editor, with formatted text on the screen matching the laser printer output. Also below is the Draw illustration program which used the mouse and an icon menu to create drawings. Other significant programs included email, file transfer (FTP), and an integrated circuit editor. The Alto also ran some of the first networked multiplayer games such as Alto Trek and Maze War.

Bravo was the word processor for the Xerox Alto, providing WYSIWYG text editing. The Draw program for the Xerox Alto uses the mouse and icons for drawing. The Alto simulator Salto was used for these images.
Bravo was the word processor for the Xerox Alto, providing WYSIWYG text editing. The Draw program for the Xerox Alto uses the mouse and icons for drawing. The Alto simulator Salto was used for these images.

Channel Ars Technica