This article is more than 1 year old
The Stonehenge of PC design, Xerox Alto, appeared 50 years ago this month
We all owe three things to this pioneering machine – two more than you might think
Feature Although it only gets credited with one of them – because Steve Jobs slipped up* – all modern end-user computers owe three defining aspects of their design to the Alto.
Modern computers get many influences from many sources, but one of them far outshines all the others. Its signficance, though, is "more honoured in the breach than in the observance", as Shakespeare put it. More retellings distort the history than do it justice.
Behold, the Xerox Alto
At the Reg, we do try to pay due respect. 40 years after it was founded, we talked about the history of Xerox PARC. We covered the release of the Alto source code in 2014. Earlier, in our History of personal computing in 20 objects, here's how Tony Smith described object № 1:
The Alto was an experimental machine built by boffins in Xerox's Palo Alto Research Centre (PARC) in the early 1970s to explore new thinking in user interface design, and while never made available commercially – Xerox would sell the Star, a version of the Alto, in 1981 – a couple of thousand were made for use by Xerox staff and some were donated to universities and research facilities. Arguably the first personal computer – though some historians consider it a minicomputer – it was also the first to feature a graphical interface controlled by a mouse and to incorporate networking.
He mentions two of the three defining features of the machine: it was the first single-user GUI-driven machine, but also, it was the first networked workstation. Before even the concept of the "personal computer" had been dreamed up, and at around the same time as Intel was building the first microprocessors, the giant brains at PARC were not only designing the personal GUI workstation, they were also building a local-area network to link them up. The Alto's network became Ethernet, co-designed by 3Com founder Bob Metcalfe, along with the late David Boggs and the late Alto hardware designer Chuck Thacker.
Xerox PARC's world-changing Alto
Our former vulture Tony also mentioned something else important: the Alto wasn't a flop, as it's sometime called, because it wasn't a commercial product in the first place. Its successor the Star was the commercial version, so that was the flop, not the Alto. The other thing about the later machine that's often overlooked is that it was the Star that introduced the desktop metaphor. The Alto had no "desktop", and indeed, almost no elements of the familiar GUI we all know today.
The third significant thing about the Alto was that it was the machine that made object-oriented programming mainstream. These were the three significant aspects of the machine: the first GUI PC, the first networked PC, and the machine that drove OOPS into the mainstream. That is according to Steve Jobs, anyway:
They showed me, really, three things, but I was so blinded by the first one that I didn't really see the other two. One of the things they showed me was object-oriented programming. They showed me that, but I didn't even see that. The other one they showed me was really a networked computer system. They had over 100 Alto computers all networked, using e-mail, etc., etc. I didn't even see that. I was so blinded by the first thing they showed me, which was the graphical user interface. I thought it was the best thing I had ever seen in my life. Now, remember it was very flawed. What we saw was incomplete. They had done a bunch of things wrong, but we didn't know that at the time. Still, though, the germ of the idea was there, and they had done it very well. And within ten minutes it was obvious to me that all computers would work like this, someday.
The programming language that came directly out of the Alto project was Smalltalk, although the Alto itself wasn't programmed in it. Most of its system software was written in BCPL, better known as the language that begat C. As that article also describes, Niklaus Wirth, the inventor of the Pascal language, spent two sabbaticals at PARC. The first visit led him to create Modula-2, and the second one, Modula-2's descendant Oberon, both of which are still around today.
- The crime against humanity that is the modern OS desktop, and how to kill it
- PC, Ethernet and tablet computer pioneer 'Chuck' Thacker passes
- PARC Alto source code released by computer history museum
- A history of personal computing in 20 objects part 1
- Happy birthday, Lisa: Apple's slow but heavy workhorse turns 30
Meanwhile, over at Apple, their team was adding object orientation to Pascal to turn it into Clascal, which later turned into Object Pascal, best known in its incarnation as Borland Delphi.
The Xerox Smalltalk UI environment
We have to concede that it is true that most of the industry doesn't make a lot of use of Smalltalk, but the design of Smalltalk influenced almost every language that came after it, from Javascript to Python. It wasn't the first object-oriented language – that was Simula – but it was the most influential one.
The greatest myth about the Alto, though, is that some Apple staff just dropped in one day, saw the machine and its amazing GUI technology, and stole it. That is not what happened. The Lisa and Mac projects were already underway before the visit, and the Mac's original designer Jef Raskin had already spent time at PARC before he worked at Apple. There were two visits, heavily negotiated, and Apple paid for them with 100,000 shares of Apple stock… which Xerox, foolishly, sold on almost as soon as it could.
Apple added a huge amount to the early windowing GUI concept that Jobs and his staff saw in 1979. Compare the few screenshots of the Alto's Smalltalk GUI and it's very primitive stuff. No menu bars anywhere, no controls on window title bars, no standard dialog boxes. By 1983, Apple's Lisa OS 1.0 looked much more like today's GUIs. Even the Xerox Star, from 1981 – two years before the Lisa – looks strange by modern standards.
If you want to try it, the Lisa's source is now available, and there's an emulator too. Feeling intrepid? There's Salto, a standalone Alto emulator, or ContrAlto, which you can try right in your browser. If it's not impressive, remember that this appeared the year before CP/M. ®