Butler Lampson

Any problem in computer science can be solved with another level of indirection.
Butler Lampson

Butler W. Lampson (born 23 December 1943)
Butler Wright Lampson (born 23 December 1943)

The Xerox Alto computer, developed at Xerox PARC (Palo Alto Research Center) in 1972, was a remarkable machine. The Alto greatly influenced the design of personal computers in the following decades, notably the Macintosh and the first Sun workstations. It was not a commercial product, but several thousand units were built and were heavily used by the US government, PARC, other Xerox facilities, and several famous universities for many years.  The Alto was the first system to bring together all of the components of the modern Graphical User Interface (GUI), and it was the first to implement the LAN technology, named Ethernet. The first WYSIWYG word processor was produced for the Alto.

The Alto was first conceived in a December 1972 memorandum written by the PARC scientist and manager Butler Lampson (see the Memorandum for Xerox Alto), who requests support from the Xerox Corporation for the construction of a number of Alto personal workstations.

Alto was inspired by the On-Line System (NLS) produced by Douglas Engelbart at Stanford Research Institute (SRI), and Alan Kay’s Dynabook, and was designed primarily by Charles “Chuck” Thacker (1943-2017), the project leader. Manufacturing was subcontracted to Clement Designlabs, whose team included Carl J. Clement, Ken Campbell, and Fred Stengel. An initial run of 80 units was produced by Designlabs (initially an Alto cost some $10000 to build, and it was not typically purchased by someone working based on a personal budget), working with Tony Ciuffini and Rick Nevinger at Xerox El Segundo, who were responsible for installing the Alto’s electronics. Due to the success of the pilot run, the team went on to produce approximately 2000 units over the next ten years.

The revolutionary Xerox Alto
The revolutionary Xerox Alto

The original Altos (see the nearby image) incorporated:
• Bit-mapped black and white display sized 606×808 (the same dimensions as a regular (8.5″x11″) sheet of paper, aligned vertically)
• 5.8 MHz CPU
• 128KB of memory (at the cost of $4000)
• 2.5MB removable cartridge hard drive
• Three-button mouse
• 64-key keyboard and a 5-finger key set
Development proceeded for the Alto for most of the 1970s, contributing progressive new features in hardware and software. The PARC Altos were connected together in a local area network, using a new networking technology named Ethernet. Early software for the Alto was written in the BCPL programming language, and later in the Mesa and Smalltalk programming languages, which were not widely used outside PARC, but influenced several later languages, such as Modula (see the Users Handbook of Xerox Alto).

The following are a few of the programming facilities and software applications, available for the Alto:
• Many programming languages, including BCPL, LISP, Smalltalk , Mesa, and Poplar
• Bravo and Gypsy—the first WYSIWYG word processors
• Laurel and its successor Hardy—Network E-mail clients
• Markup and Draw—Painting and graphics manipulation (bitmap editors)
• Neptune—File manager
• FTP and chat utilities
• Games—Chess, Pinball, Othello, and a Alto Trek game by Gene Ball
• Sil—vector graphics editor, used mainly for logic circuits, printed circuit
• Officetalk—an experimental forms-processing system
The brain of Alto was a bit-slice processor based on the Texas Instruments’ 74181 chip, a ROM control store with a writable control store extension and 128 (expandable to 512) kB of main memory. It had a hard disk that used a removable 2.5 MB single-platter cartridge (manufactured by Diablo Systems, a company Xerox later bought), all housed in a cabinet about the size of a small refrigerator. The Alto’s CPU was a very innovative microcoded processor, which used microcode for most of the I/O functions, rather than hardware. The microcode machine had 16 tasks, one of which executed the normal instruction set, with the others used for the display, memory refresh, disk, network, and other I/O functions.

The input devices of Alto were a custom detachable keyboard, a three-button mouse, an optional 5-key chord keyset, as well as several other I/O devices—a TV camera, the Hy-Type daisywheel printer, and a parallel port, although these were quite rare. The mouse and chord keyset had been introduced by SRI’s On-Line System; while the mouse was an instant success among Alto users, the chord keyset never became popular.

In the early mice, the buttons were three narrow bars, arranged top to bottom rather than side to side. The motion was sensed by two wheels perpendicular to each other. These were soon replaced with ball-type mice. These were photo-mechanical mice—first using white light and then using IR to count the rotations of wheels inside the mouse.

Children were fascinated by Alto
Children were fascinated by Alto (Courtesy of the PARC Library)

The keyboard was interesting in that each key was represented as a separate bit in a set of registers. This characteristic was used to alter where the Alto would boot from (it could be booted from either a local disk or the network.) The keyboard registers were used as the address on the disk to boot from, and by holding specific keys down while pressing the boot button, different microcode and operating systems could be loaded. This gave rise to the expression “nose boot” where the keys needed to boot for a test OS release required more fingers than you could come up with. Nose boots were made obsolete by the “move2keys” program that shifted files on the disk so that a specified key sequence could be used.

By the beginning of 1978, Altos were being utilized in four test sites: the White House, the U.S. House of Representatives, the Atlantic Richfield Company, the Santa Clara, California, and the offices of Xerox’s copier sales division. Xerox donated a total of 50 Altos to outstanding universities—Stanford, Carnegie Mellon, MIT, and the University of Rochester, including IFS file servers (the file server was a common application for the machine) and Dover laser printers. Xerox management rejected creating a commercially obtainable version of the Alto for many years. The Xerox Star, the first commercial product to use many of Alto’s ideas was released in 1981, just prior to the first IBM PC, at the cost of $16000, but it was too late.

In December 1979, Apple Computer’s founder Steve Jobs visited Xerox PARC, where he was shown the Smalltalk-80 programming environment, networking, and most importantly the WYSIWYG—the mouse-driven graphical user interface provided by the Alto. He was not impressed by the first two, but was excited by the last one, and promptly integrated it—first into the Apple Lisa and then into the Macintosh, inviting several key researchers from PARC to work in his company.