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

Alan Kay recently gave his 1970's 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 introduced Ethernet and the laser printer[1] to the world. The Alto also was one of the first object-oriented systems, supporting the Mesa and Smalltalk languages. The Alto was truly revolutionary when it came out in 1973, designed by computer pioneer Chuck Thacker.

Xerox built about 2000 Altos for use in Xerox, universities and research labs, 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 biggest impact of the Alto was in 1979 when Steve Jobs famously toured Xerox and saw the Alto and other machines. When Jobs saw the advanced graphics of the Alto and Star, he was inspired to base the user interfaces of the Lisa and Macintosh systems on Xerox's ideas, making the GUI available to the mass market.[2]

How did Y Combinator end up with a Xerox Alto? Sam Altman, president of Y Combinator has a strong interest in 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 gives an overview of the Alto, its impact, and how it was implemented. Later articles will discuss the restoration process as we fix components that have broken over the decades and get the system running.

The Xerox Alto II XM computer. Note the video screen is arranged in portrait mode. Next to the keyboard is a mouse. The Diablo disk drive is below the keyboard. The base contains the circuit boards and power supplies.

The Xerox Alto II XM computer. Note the video screen is arranged in portrait mode. Next to the keyboard is a mouse. The Diablo disk drive is below the keyboard. The base contains the circuit boards and power supplies.

The photo above shows Y Combinator's Alto computer. The Alto has an unusual portrait-format display, intended to match an 8½" by 11" page of paper. Most displays of the time were character-oriented, but the Alto had a bitmapped display, with each of the 606x808 pixels controllable 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

In front of the keyboard is the three-button mouse. Xerox made the mouse a fundamental input device for the Alto and designed the user interface around the mouse. The disk drive at the top of the cabinet takes a removable 2.5 megabyte disk cartridge. The small capacity of the disk was a problem for users, but files could also be accessed over the Ethernet from file servers. 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), with access to the world's knowledge. In effect, Alan Kay presented a detailed vision for the touchscreen tablet decades before it was practical.[3]

Alan Kay with a mockup of the Dynabook. Photo by Marcin Wichary,  CC BY 2.0.

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". Photo by Marcin Wichary, CC BY 2.0.
The Dynabook (seen in mockup above) was to be a low-cost, battery-powered, portable computer with a touchscreen and graphics, able to access information over the network. The system would be highly interactive and programmable in an object-oriented language. As well as the keyboard, voice input could be used. 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. He stated, "If our theories about the utility of cheap, powerful personal computers are correct, we should be able to demonstrate them convincingly on Alto." Xerox used the Alto to research and develop the ideas of personal computing.[4]

Software

The Alto had a large collection of software, largely implemented in the BCPL (predecessor to C), Mesa and Smalltalk languages. The Bravo text editor (seen 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.

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.

Hardware

The Alto was introduced in 1973. To understand this time in computer hardware, the primitive 4004 microprocessor had been introduced a couple years earlier. Practical microprocessors such as the 6502 and Z-80 were still a couple years in the future and the Apple II wouldn't be released until 1977. At the time, minicomputers such as the Data General Nova and PDP-11 built processors out of hundreds of simple but fast TTL integrated circuits, rather than using slow, unreliable MOS chips. The Alto was built similarly, and is a minicomputer, not a microcomputer.[5]

The Alto has 13 circuit boards, crammed full of chips. Each board is a bit smaller than a page of paper, about 7-5/16" by 10", and holds roughly 100 chips (depending on the board). For the most part, the chips are bipolar TTL chips in the popular 7400 series. (The MOS memory chips are an exception.) The image below shows the Alto's card rack and some of the boards.

The Xerox Alto contains 21 slots for circuit boards. Each board is crammed with chips, mostly TTL.

The Xerox Alto contains 21 slots for circuit boards. Each board is crammed with chips, mostly TTL.

The Alto's CPU consists of three boards. The Control board is the heart of the processor: it manages the 16 microcode tasks and contains microcode in PROM. The ALU board performs arithmetic and logic operations, and provides the main register storage. The Control RAM board provides additional microcode storage in RAM and additional processor registers. (Note that in a few years, a single chip microprocessor could replace these three boards.)

The photo below shows the ALU board. The 16-bit addition, subtraction and Boolean operations are performed by four of the popular 74181 ALU chip, used in many other processors of the era. Each 16-bit register requires multiple chips for storage. The 32x16 register file is historically interesting as it is built from i3101 64-bit bipolar memory chips, Intel's first-ever product.

The ALU board from the Xerox Alto.

The ALU board from the Xerox Alto.

The Alto came out at a time when memory was expensive and somewhat unreliable.[6] In 1970, Intel introduced the first commercially available DRAM memory, the 1103 chip, holding 1 kilobit of storage and making magnetic core memory obsolete. The original Alto used 16 boards crammed full of these chips to provide 128 kilobytes of memory. The Alto we have is a more modern Alto II XM (eXtended Memory) with 512 kilobytes of storage on four boards. Even so, the limited memory capacity was a difficulty for programmers and users. The photo below shows one of the memory board, packed with denser 16 kilobit chips.

A 128KB memory card from the Xerox Alto.

A 128KB memory card from the Xerox Alto. It uses eighty 4116 memory chips, each with 16 kilobits of storage.

Microcode

The Alto hardware provides a simple micro-instruction set and uses microcode to implement a full instruction set on top of this,[7] including some very complex instructions. The Alto introduced the BITBLT graphics instruction, which draws an arbitrary bitmap to the display in a variety of ways (e.g. paint over, gray stipple or XOR). "Blitting" became a standard graphics operation, still be found in Windows.

The Alto takes microcode further than most computers, implementing many functions in microcode that most computers implement in hardware, making the Alto hardware simpler and more flexible.[8] Microcode tasks copy every pixel to the display 30 times a second, refresh dynamic memory, read the mouse, handle disk operations, drive Ethernet — operations performed in hardware on most computers. Much of the Alto microcode is stored in RAM, so languages or even user programs can run custom microcode.

Next steps

The first step to getting the system running will be to make sure the power supplies work and provide the proper voltages. The Alto uses four complex but highly efficient switching power supplies: +15V, -15V, +12V, and +/-5V.[9] (Most of the chips use +5V, but the memory chips and some interfaces require unusual voltages.)

The power supplies are mounted in the cabinet behind the card cage, as you can see in the photo below. The +/-5V supply is on the right, and the three other power supplies are on the left.

Looking into the back of the Alto, you can see the four switching power supplies (blue). The card cage is behind them. The disk drive has been removed from the top of the cabinet. On the back of the cabinet, connectors to the display, Ethernet, and other devices are visible.

Looking into the back of the Alto, you can see the four switching power supplies (blue). The card cage is behind them. The disk drive has been removed from the top of the cabinet. On the back of the cabinet, connectors to the display, Ethernet, and other devices are visible.

Restoring this systems is a big effort but fortunately there's a strong team working on it, largely from the IBM 1401 restoration team. The main Alto restorers so far are Marc Verdiell, Luca Severini, Ron, and Carl Claunch. Major technical contributions have been provided by Al Kossow (who has done extensive Alto restoration work in the past and is at the Computer History Museum) and the two Keiths (who have restored Altos at the Living Computer Museum). For updates on the restoration, follow kenshirriff on Twitter.[10]

Notes and references

[1] 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.

[2] Malcolm Gladwell describes Steve Jobs' visit to Xerox in detail in 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.

[3] Amazingly, Alan Kay even predicted ad blockers in his 1972 Dynabook paper: "One can imagine one of the first programs an owner will write is a filter to eliminate advertising!" I thought that Alan Kay missed WiFi in the Dynabook design, but as he points out in the comments, wireless networking was a Dynabook feature.

[4] Xerox called the Alto "a small personal computing system", saying, "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." (See ALTO: A Personal Computer System Hardware Manual.) Xerox's vision of personal computing is described in the retrospective Alto: A personal computer.

Since the concept of "personal computer" is ill-defined, I won't argue whether the Alto is really a personal computer or not. Costing tens of thousands of dollars, the Alto was much more expensive than what people usually think of as a personal computer. The book Fumbling the Future: How Xerox Invented, then Ignored, the First Personal Computer calls Xerox the inventor of the personal computer. (Or you can read Datapoint: The Lost Story of the Texans Who Invented the Personal Computer Revolution, which makes a convincing case for the Datapoint 2200 as the first personal computer.) For a long list of candidates for the first personal computer, see blinkenlights.com.

[5] The Alto documentation refers to the microprocessor, but this term describes the microcode processor. The Alto does not use a microprocessor in the modern sense.

[6] Since memory chips of the era were somewhat unreliable (especially in large quantities), the Alto used parity plus 6 bits of error correcting code to improve reliability. As well as the four memory boards, the Alto has three memory control boards to decode addresses and implement error correction.

[7] The Alto's microcode instructions and "real" instructions (called Emulated Instructions) are described in the Hardware Reference. The Alto's instruction set is similar to the Data General Nova.

[8] The Alto has 16 separate microcode tasks, scheduled based on their priority. The Alto's microcode tasks are described in Appendix D of the Hardware Manual. The display task illustrates how low-level the microcode tasks are. In a "normal" computer, the display control hardware fetches pixels from memory. In the Alto, the display task in microcode copies pixels from memory to the display hardware's 16 word pixel buffer as each line is being written to the display. The point is that the hardware is simplified, but the microcode task is working very hard, copying every pixel to the display 30 times a second. Similarly the Ethernet hardware is simplified, since the microcode task does much of the work.

[9] Steve Jobs claimed that the Apple II's use of a switching power supply was a revolutionary idea ripped off by other computer manufacturers. However, the Alto is just one of many computers that used switching power supplies before Apple (details).

[10] Many sources have additional information on the Alto. Bitsavers has a large collection of Alto documentation. DigiBarn has photos and more information on the Alto. The Computer History Museum has a large collection of Alto source code online here. The Alto simulator Salto is available here if you want to try out the Alto experience. Wikipedia has a detailed article on the Alto.

24 comments:

Anonymous said...

“Amazingly, Alan Kay even predicted ad blockers in his 1972 Dynabook paper”

Ted Nelson predicted a web full of ads already in a talk he gave in 1965. A copy of the slide depicting this prediction can be found in his biography “Possiplex”.

sudos said...

So far as I know, the Boston Museum of Science, last time I visited in 2011, had one of these in their technology section in a small room that couldn't be accessed by anyone except employees. I don't know if this is the same system or not, but there is one of them out there in the wild if more parts are needed. the question is, does it still exist there, and if it does, would they be willing to part with it?

it would be very interesting to see two working Altos, perhaps one on each side of the country, connected to make communication with each other over the modern Internet. they technically at that point would possibly be the oldest connected GUI-based computer on the Internet itself. Having become a product only a handful of years after ARPANET went online in 1969, I would expect the Alto to be able to speak some form of TCP/IP, and even then, there should be native Serial available to connect it to a Raspberry Pi if need-be.

Anonymous said...

The Living Computer Museum has two running Altos

Ken Shirriff said...

sudos: there are multiple working Altos around (it's not a particularly rare machine) so I'm hoping to do some network stuff with it, maybe even run its multiplayer games. The Alto uses its own protocol PUP (Parc Universal Packet); I'm not aware of a TCP/IP stack for it. The Alto uses 3 megabit/s Ethernet, which isn't compatible with modern Ethernet. So networking isn't as easy as you'd hope. But I've been talking with the Living Computer Museum about a network gateway, so stay tuned.

Anifibous said...
This comment has been removed by the author.
Anifibous said...

Steve Jobs also described his visit to Xerox in an interview available on Netflix - "Steve Jobs: The Lost Interview"

www.netflix.com/title/70243590

Alan Kay said...

Chuck Thacker was the main designer and builder of the Alto, and cannot be too highly praised.

If you take a look at the 1972 Dynabook paper you will see a drawing of two children playing a collaborative SpaceWar game they programmed themselves (the Dynabook did have wireless networking in its specs, and ARPA (via SRI) had already successfully experimented with wireless nodes on the ARPAnet).

Ken Shirriff said...

Alan Kay, thank you for your comments. I've added text about Chuck Thacker and changed the remark about WiFi. (I know the drawing of kids with Dynabooks you mentioned; the text said "their DynaBooks hooked together" so I assumed a physical connection.) Do you have any history on the particular Alto you provided to Y Combinator?

The Parks said...

Hi, FYI, I have a Visual 1050, still in its boxes. and also an Osborne One , also still in its box ,with diskettes. Regards Mark [inman230@gmail.com]

Alan Kay said...

Hi Ken,

I wound up with 6 Altos some years ago by various routes. We have one in the Viewpoints Research Institute offices in Westwood, and I've donated the other 5 to various causes (including the one in the Boston Museum of Science -- which it now sounds as though we should get back and put to better use).

It's likely that the one you are working on came as part of 3 that Stanford gave me, that were used for many years as printer servers.

The idea of wireless networking was "in the air" during the whole ARPAnet development period in the mid-to-late 60s, and was carried out for ARPA at SRI (using a Ford "bread-truck-van to hold the rather large gear -- this was used to send a report on it to ARPA from one of the local outdoor beer joints: "Rossoti's). The "bread truck" is now at the Computer History Museum in Mountain View.

An early use of wireless, packet switching, and randomized delays was the "ALOHAnet" by the U of Hawaii in the early 70s -- this was one of the inspirations for the "EtherNet" at PARC (given that a a coax cable is a "captive ether").

So it was quite natural to posit wireless networking in the Dynabook design, and also to have a cable connection when more bandwidth was needed (to get eBooks from "eVending machines", as described in the Dynabook paper scenario, etc.).

Larry Stewart said...

There were a few Altos with wireless networking! Around 1978 there was a DARPA packet radio project, run by SRI. The radios were almost the size of the Alto and ran at 100 or 400 Kbps. The computer side interface was the famous BBN 1822, the same as used by the Arpanet IMPs.

At the time I was a Stanford graduate student and designed an 1822 interface for the Alto, which was used to put a few Altos on the Bay Area Packet Radio netowrk. There's a PARC Blue and White report about the effort. SSL-79-7 Internetwork Experiements with the Bay Area Packet Radio Network.

Mike Wilson said...

I would suppose that blitting reached back to the Block Transfer (BLT) instruction of the PDP-6/PDP-10.

Mark Miller said...

The inspiration for the Lisa and Mac's GUIs came from Xerox, but it wasn't just from Jobs's visit. It's my understanding from my historical research that Apple had already developed a crude GUI for the Lisa by the time Apple engineers came to visit PARC. The idea of a GUI was not a secret at Xerox, contrary to popular lore. They had been giving public demonstrations of things like the Bravo word processor for anyone who wanted to see it. What some at Xerox PARC wanted to keep under wraps was the Smalltalk system, with its multi-window "desktop" metaphor, and perhaps other capabilities. The Xerox Star was in development, and it seemed they considered that technology a trade secret, though the top brass at Xerox thought otherwise. There were two or more visits in 1979 from Apple engineers, with at least one where they got to see Smalltalk in action. The details of what Jobs got from seeing the Smalltalk demo are vague. What I could tease out is that he found inspiration in the multi-window interface, allowing the user to have several projects open at the same time, and the idea of multimedia, combining text, graphics, and animation in the same project. At one point he burst out with, “Why hasn’t this company brought this to market?! What’s going on here? I don’t get it!” That's a long story...

The inspiration seemed to be summed up by saying that Jobs realized the GUI could not only be utilitarian, it could be "fun." What is clear is Apple drew inspiration from those visits to make the Lisa's GUI better.

Alan Kay said...

On BLTing ... instructions for "Block Transfers" were on many computers in the 60s. (Skipping some interesting intermediate history) Dan Ingalls did "BitBlt" on the Alto in microcode, and in a very comprehensive way: not just completely ignoring word boundaries, but as a 2D operator for any rectangles of pixels (I'm pretty sure this was the first time this had been done). It was very efficient and wound up being a standard for most Alto software (not just for its original Smalltalk use). Dan got the "Grace Hopper Young Scientist Award" from the ACM for this work.

On the Jobs visit ... thousands of people had seen the Alto by the time Steve visited in 1979 (this was 6 years after the Alto started working in 1973 -- 3 years before there was an Apple). And the visitors over the years had seen pretty much everything, including many versions of Smalltalk with its overlapping window and icon GUI, etc. Most of the "lore" on this visit is at best distorted. You can tell from the later video of Steve recounting his "blindness" that he -- in typical Steve fashion -- had a difficult time with even what he saw, not just missing Smalltalk programming and the Ethernet.

This points up Steve's limitations as a technologist -- he just wasn't very technologically savvy. Besides all the usual things people today are used to in a GUI, he was also shown the "unlimited persistent desktops" of Smalltalk -- called "projects" -- this was really important, and got completely missed (to this day!). Another part of the demo he didn't get -- but which almost made his programmers faint -- was when he complained about the non-smooth scrolling, and either Larry or Dan just wrote a few lines of live code and made it smooth instantly. Then he complained about the complementing for selections (what is used today) and asked "couldn't it be an outline?", and Dan was able to do this in just a few seconds even though this hadn't been prepared. I loved Dan's insight: if you can complement a selection, then you'll get a nice outline of the selection if you complement twice with a two bit offset in x and y for the second one -- this was a beautiful example of being able to have a very safe system in which everything was dynamically available and instantly changeable.)

Jim Goldsmith said...

I worked on the follow on system, a Xerox 6085, quite a bit. Are there any of these beasties still around? The graphic design of icons and fonts was exquisite on this box.

fireman said...

Jim - 6085s aren't that rare; I'm aware of quite a few people who have them. I have around 6 of them - running Viewpoint and Lisp. And an 8090 server and an 8010 server and a Star. In fact the only thing I *don't* have is an Alto! There was an Alto on eBay recently but it was far too rich for me; I don't have the deep pockets of a lot of Silicon Valley folks.

Recently did a bunch of 6085 restoration. Found about a 50-60% board failure rate. Treatment: bake in a warm over for a few hours then remove all socketed chips and contact cleaner on the sockets. Got around 80% of failed boards working again! Disk drives replaced with Dave Gesswein's MFM emulator.

- Mike Ross - corestore.org

fireman said...

^ warm *oven*!

David Moon said...

Re BITBLT

I think I was the one who wrote bitblt microcode for the MIT CONS Lisp Machine in the late 1970s based on what we had heard about bitblt on the Alto. It seemed like a good idea. I don't think Xerox loaned or gave us an Alto until later.

We also successfully imitated the idea of "a very safe system in which everything was dynamically available and instantly changeable." I still miss that type of system, which the industry is slowly groping towards some subset of.

Les Tyrrell said...

Alan,

I'm not so inclined to be so hard on Steve Jobs- I ran into that exact same phenomena way back in the late 80's, very early 90's, back when I was finally able to use Digitalk's Smalltalk/V for IBM PC compatibles. It wasn't Smalltalk 80, but it was a very reasonable dialect at that time. Every time I tried to show anyone what a wonderful thing this was, they literally just could not see it.... and these were very sharp people ( Aerospace Engineering grad students ). They'd say "it's a text editor... ho hum" or similar, their short attention spans and lack of preparatory context and their own interests and biases just blinded them completely. AFAIK, they never did understand what I was doing with it. Nothing I ever tried worked to convince, or even educate them.. they were too entrenched in what they were used to on their DEC workstations or PC compatibles- programs were a bunch of files, written in either C or Fortran, that you edited using VIM or EMACS, compiled and linked from the comamand line or via a Makefile... and that was it, as far as they were concerned.

To his credit, Jobs DID ultimately realize he'd missed a few things, and in my opinion I'd have to say that his efforts to commercialize Next ( including the fact that Next became the only company in the world capable of saving Apple via merger ) were quite a bit more successful than anything Xerox did with your original work. I of course wish there had been a different language involved, but Jobs had his reasons for his choices and I think we could learn a bit from those decisions.

OTOH, the many others you say who saw it.... what did they see? As far as I can tell, nothing that touched them as deeply as what Steve had seen, even if it was only a part of the puzzle. At least, noone in a position to actually effect dramatic change in their own organizations seemed to respond as strongly as Steve... otherwise, surely we would have seen something come out of that other than what happened at Apple with the Macintosh's UI.

Admittedly, just been going through a bunch of "Steve Jobs" YouTube in the past few days, so perhaps I'm being a bit more pro-Steve than usual... still, I'm impressed with how consistent his ( at least stated, and I'm inclined to believe quite sincere ) purpose in life was, right from the early days of Apple until his untimely passing - the ongoing pursuit to "amplify" ( practically echoing Englebart, though Englebart wasn't his inspiration for this ) the human intellect.

Anyway, nice to see that history is being preserved.... there's quite a lot to learn from that as well, even now, sadly. On the other hand, I've enjoyed being a Smalltalk ( VisualWorks ) programmer my whole professional life, so still holding out the hope that eventually the world will wake up and understand, finally :)

Mark Miller said...

@Les Tyrrell:

I meant to return to this subject once I saw Alan's reply.

When I looked back over Jobs's work life, what I saw with him was he wasn't much of an inventor. He had a taste for design and aesthetic in packaging, and in that way he was an innovator, when you look at what commercial computing was like prior to what he helped create. What I credit him with is he gave certain ideas a chance in the commercial marketplace when no one else seemed to notice them. Or if they did, they didn't think they were important or practical. He did miss some things. What Jobs literally said was he was "so blinded by the graphical user interface" when he visited PARC that when they showed him object-oriented programming, and networking, he said, "I didn't even see that."

At first, Jobs didn't want to take up Xerox's offer to do a trade that would allow him to see what PARC had been doing. He got talked into it by Jef Raskin, who had worked at Xerox prior to coming to Apple. I forget exactly when this was. My impression is it was when they were designing the Macintosh. Jobs was adamantly opposed to adding networking capability to it, because he envisioned that people would plug them into mainframes, which would take away their "independence." His complaints about IBM were not just for show. He had a real beef with them, and their attitude toward computing, but I think that blinded him to what else was going on. He didn't have the vision to see the development of the internet before it came online, even though PARC had shown him something just like it a few years earlier. He didn't really get the importance of networking until he got NeXT going. To his credit, with that venture, he saw some potential in digital media on the internet long before a lot of other people in the industry did, though I'd say a few of the ideas that developed for it on that platform were interesting, and some of them were bad. Nevertheless, I'm sure they looked very impressive to people who hadn't seen these ideas presented before.

Re. Smalltalk

Something that shocked me is once I got into puttering around in Squeak, and started realizing what it really was, I ran into people who said they had been working with Smalltalk for several years, but I saw quickly they had a very different view of it than I did. They complained that, "It's all about itself," and that it "wouldn't 'play ball' with anything else." They totally missed the concept of it as an operating system. I wondered how that was possible. They'd been working with it longer, and more intensely than I had, and yet I'd go so far as to say they had completely missed the point. It was sad.

Alan Kay said...

Hi Les,

Steve and I got along fine -- and you are right that most people (via human genetics) are so locked into their beliefs and local cultural views that they "are blind".

On the other hand, we have been living in a world that has in a part of it established "real science" -- and the primary key to its door is to realize that "the world is not as it seems" and that this has to be a constant front burner heuristic during attempts to think and judge.

And, sure, sometimes people eventually get around to seeing more. I was quite amused that Fortune praised Bill Gates lavishly for finally creating a MS strategy around the Internet in 96 or 97. That same article as I recall forgot to praise Licklider for thinking it up and the ARPA community for doing it starting ca 1968-9!

Similarly, if you want to praise Steve, how much praise should you really lavish on Doug Engelbart, or the GRAIL guys at RAND (with their beautiful gesture based tablet-stylus based system in the mid-60s (and they had to invent the table hardware from scratch to do this!)).

I'm lots more impressed by how a lot of the real pioneers got it really right from the time they started to think about it (people should try to understand more how they did it, and why they weren't "just lucky"). I'm not at all impressed with a so-called educational system in the US that fails to help children get around "what seems to be obvious" (that is really just distracting them away from the kind of thinking that is generally needed in the 20th and 21st century).

Rick DeNatale said...

Alan,

Dan Ingalls did some very interesting thing with BitBLT, like character recognition. I attended a class on raster graphics at SIGGRAPH 84, taught by Dan, Rob Pike, and Leo Guibas. Dan talked about the recognition use case.

Bill Atkinson was sitting several rows ahead of me in that class, and I remember seeing his head snap up when Rob Pike mentioned a dynamic programming trick he'd used in his BitBLT implementation.

I also remember being at the Lucasfilm/ILM booth at that conference when Bill Beausoleil, who was an IBM fellow specializing in graphics entered, and I overheard someone, maybe Ed Catmull, said to him, "I think George (Lucas) wants to sell us. Do you think IBM would be interested?"

Apropos Les bringing up Smalltalk/V, I understand from George Bosworth that you were instrumental in Digitalk renaming Methods to Smalltalk/V. I was the liaison between Digitalk and IBM, after using Smaltalk/V to write a demo which convinced my management to include Smalltalk as part of IBMs development portfolio.

One of my prized possessions is a copy of the addendum manual for Smalltalk/V PM given to me at the first Smalltalk/V developers conference with autographs by all the Digitalk folks, with your addition "To the least IBM-like IBMer I've ever met."

Mark Miller said...

Since I'm following this discussion thread, I received an e-mail of a new comment posted here from "Anonymous" introducing themselves as someone who had learned Smalltalk-76 at PARC in the late '70s. For whatever reason, the comment doesn't appear here.

One quote from it jumped out at me:

"The weakest point of the Alto hardware was the Diablo Series 30 disc drive. The air filter is a very compact design below the front door, but in my experience it was not adequate to protect the drive's inner mechanism. Head crashes on the removable cartridge discs were a frequent problem.

Once crashed, a disc cartridge was junk"

It brought to mind a passage from a short paper that was forwarded to me by a friend a few years ago who'd had some exposure to the Alto during his college days at CMU. The paper was called, "A Creative Programming Environment, Remixed," by Henry Lieberman, which talked about the Pygmalion environment, written by David Canfield Smith. If it wasn't the first visual programming environment, it was one of the first. It was where the idea of drag-and-drop came from, and probably more. Lieberman wrote about an encounter he had with Smith in 1979, where he got to see Pygmalion in action. A sad note at the end of it read:

"'Would it be possible for me to actually see Pygmalion running?' I asked. He said he would try. He hadn't touched it in a long while, and he needed to revert the microcode of the Alto machine on which it ran, to an older version compatible with the program. He reached up to the top shelf, dusted off an old disk-pack, and fired it up. It ran, though a little slowly, and he demonstrated how to do Factorial of 3, that E. coli of programming language demonstrations. Then he said, 'and now we'll try Factorial of 6'. And it crashed. The disk had a head crash. There were no backups. I believe I am the last person (other than Smith himself) ever to actually see the program live."

Smith's thesis, "Pygmalion: A Creative Programming Environment," still exists, though.

Anonymous said...

Hello Ken,

I'm hoping to make contact to offer our support on behalf of the Palo Alto Research Center. We've got quite a few good Alto parts and pieces that you may find useful.

Best regards,

Tim Curley, Palo Alto Research Center (PARC). You can reach me through our main number at 650-812-4000.