Advocacy

  Myths
  Press

Dojo (HowTo)

  General
  Hack
  Hardware
  Interface
  Software

Reference

  Standards
  People
  Forensics

Markets

  Web

Museum

  CodeNames
  Easter Eggs
  History
  Innovation
  Sightings

News

  Opinion

Other

  Martial Arts
  ITIL
  Thought


Innovation: Desktop Metaphor
Who innovated what

By:David K. Every
©Copyright 1999


I mentioned that Apple invented the Desktop Metaphor and got a dozen friendly corrections -- and some great links -- that varied from misinformation, spun information, partial information, or good information. I don't believe I made a mistake -- though things aren't always clear. So it's time to put this dog down! Here's my understanding of what happened.

Remember, when I say created for Mac, I may mean for either the Mac or Lisa project -- they were separate projects, but they borrowed from each other in people, code and some design.

Didn't Xerox PARC create the Desktop Metaphor?

Many people did research on things we call UI, HI, MMI (User Interface, Human Interface, or Man-Machine Interface) well before Xerox PARC.

There was some early research in concepts (and papers) about where computing might go, like Vannevar Bush's conceptual paper on the Memex (1940's) describing a personal desktop computer. The 60's saw a surge in innovation in Computer-User Interface. Ivan Sutherland did an interactive computing program, SketchPad, which used light pens to do a simple drawing app, where you could resize shapes. Douglas Englebart dinked with all sorts of input like cursor keys, joysticks, digitizing tablets, trackballs, and upside down trackballs (mice). He also went on a worked on something that was sort of a hypertext like system (linked information in a tree). Alan Kay was working on something called the reactive engine (something that influenced Smalltalk environment), and his theoretical dream supercomputer laptop called the "Dynabook". Jef Raskin did a thesis on the "Quick Draw Graphics Engine" -- which was about creating a library of graphical routines for drawing on a computer. And there was so much more as well. Xerox didn't create this stuff -- they didn't hold exclusive license to it either -- they just took what was there, brought some people together and furthered it.

Xerox PARC (Palo Alto Research Center)

In the 70's, Xerox got a lot of these researchers together, and had them further their ideas in a research environment. This was about integrating some ideas that were already out there, creating new ideas, creating more papers and working mockups. It was not about creating products, but instead about ideas.

Xerox had to put together their own hardware (Alto) to do their exploration (as many had before them). This was not a commercial product -- but a research engine. It was a bit-sliced minicomputer, that they later sold to a few research institutions for about $16,000 each (when a couple thousand would buy you a very nice car). It had a 2.5 Megabyte hard disk pack, 256K of memory (a huge amount back when 2K and 4K personal computers were the rage), it had a processor that had a micro programmable instruction set, and a full page display with bitmap graphics (8 1/4" x 10.5 -- 600 x 800 pixels) and a 3 button mouse (which they licensed -- Xerox was not the first to use a mouse). My understanding was that the typing input was a chorded keyboard -- so that you typed with one hand (your left) and used the right hand on the mouse. Many didn't like that, and instead used a traditional keyboard. It was an expensive machine, large, and not really manufactured but more handmade -- but it was a great research vehicle to work from (for its time). From this hardware, came a lot more tests and sample Applications to demonstrate various concepts, extend others, and to play.

  • Charles Simonyi and Butler Lampson wrote Bravo a simple WYSIWYG like text editor (that didn't support windows and many other concepts -- but was a good start). Larry Tesler was promoting the concept of modelessness (later the foundation concept of the Mac UI -- and borrowed by Windows), and he created a text editor called Gypsy, that demonstrated those ideas and added some other features. Bravo got revved later again, with even more WYSIWYG features. Later Simonyi went to Microsoft (where he worked on Word and Windows) and Tesler went to Apple where he worked on LisaWrite (the forerunner to MacWrite). Both had long careers at each company.
  • Draw, Markup, Flyer, Doodle and some other graphics programs were created to demonstrate the graphic capabilities of the Alto. Basically, these were follow-ons of Sutherland's Sketch program, but they explored drawing, painting and illustration -- different aspects of computer graphics.
     
  • Smalltalk (an Object Oriented Language which had it's own evolution path which included ALGOL and Simula) came out as a language, and an interface to control the computer. It had a lot of graphical demonstrations and used some windows and icons (buttons -- for actions).
      
  • Networking exploration. Xerox didn't create networking -- but they did a bit to further it in an office computer by exploring email (which had existed before), file transfer (which existed before), device sharing (which existed before), and so on. Metcalfe and Boggs created the Ethernet network while at Xerox to standardize their network.
     
  • Printing work was done on a page description language (JAM) for laser printers (done by John Warnock, Martin Newell, and Chuck Geschke) that later evolved into PostScript.

Remember, a lot of ideas (concepts) existed before -- but a lot of ideas got furthered while there as well.

Apple stole?

Xerox was about research -- Apple was about creating a product. Research isn't the same as a production environment where you have to work with realities of making a commercial a product -- which takes things much further. This is why, when Apple started working on the Lisa and the Mac, so many researchers jumped ship and took the opportunity to create product. Steve Jobs used to say, "Real Artists Ship!" It wasn't about just theory, it was about all the details necessary to finishing things off and make it useful. They had to create a lot of new concepts to do this.

Apple was working on a couple of computers -- the Lisa was one, and Jef Raskin wanted to do the Macintosh. His Mac was a little semi-portable (not completely unlike an Apple][c with a small display) -- this $500 computer would be used for basic word-processing, and maybe a spreadsheet or two -- just basic entry level document stuff. To advocate his ideas for interface to Jobs, Raskin got Jobs to go to Xerox PARC to see the Alto / Smalltalk demos (to influence things in the directions Raskin wanted to go). Jobs was impressed with what he saw (some basic windowing, graphics, and WYSIWYG like word processor). Apple negotiated a deal -- for giving Xerox some of Apple's stock options, Apple got to bring some developers back to see this work (and implied rights to use it). Apple was about to make their initial public offering (IPO), and those stock options turned out to be worth $1,000,000. Xerox agreed, and Apple got to see the demos again, with basic windows, a mouse, graphics, WYSIWYG bitmapped display, Smalltalk, and some networking. No theft there.

There is a rumor that Jobs and some others on the visit had decided to drop acid (LSD) before going on this "trip", and that they couldn't have remembered that much since they were literally flying around the place. While an amusing story, and it fits in the spirit of the 70's (and maybe even early Apple and some personalities involved), I don't exactly buy the story myself -- I only mention it because I've just heard it repeated by more than one person. But I think of it as urban myth myself.

Lisa and Macintosh projects both got redirected a bit after that visit. They were already working on graphics and some of the concepts to improve the UI -- but they veered stronger towards all bitmap path and many of the concepts seen at Xerox. Apple had their own Human Interface people, and they started pushing hard with lots of studies, tests and and adding ideas. Apple and Jobs were about "creating art" and "making a dent in the universe". They weren't about copying everything, but not above copying a few things. The rapid development with the two teams (Lisa and Mac) developing independently of each other, and borrowing a bit (especially conceptually) back and forth made for some serious rapid development and taking the best ideas from each other. It wasn't a research environment, and while they were coding, they had others showing demos, asking questions, getting feedback, graphic artists laying out the design and visual language and so on. It wasn't just slap a demo to show management to get more time/money -- that is why Apple did so much more, so much faster than Xerox.

Jobs personally took over the Mac product, and decided to make it into a little "Open" Lisa. Lisa was going to be an integrated solution (with 7/7, seven built in Applications), and the Mac was going to be an open, less expensive personal computer that used 3rd party Applications. Jobs taking over and the new direction pissed off Raskin enough that he quit (it wasn't going where he wanted, and wasn't controlled by who he wanted).

Later Raskin went on to do the Canon Cat -- which is what the Mac would have been if Raskin had his way. Some try to credit Raskin with too much of the Mac. He did contribute (of course) -- but the Mac really had at least as much of Jobs and others on the teams influence as Raskin's. Raskin got the snowball rolling down the hill -- and then it grew and changed on its own. Not one of the people influencing the Mac wanted to make an "Alto" clone and (most) involved hadn't even seen one. -- and it is doubtful that they saw the Star until most of the critical decisions were already made (if at all). The Mac and Lisa teams were about creating something new -- a useful personal computer with a GUI.

Cross pollination

More and more people came over under the excitement of the Mac and Lisa teams (both from inside of Xerox and from elsewhere). From Xerox, Apple got Larry Tesler, Bruce Horn, Dan Ingalls, Ted Kaehler, Steve Capps, Owen Densmore, Alan Kay, and more. Many took some basic ideas about interface concepts and their experience from PARC -- but if you ask any of them about it they will tell you how much they did at Apple, and how much new was being created by Apple.

I've personally talked with quite a few people on the Mac team at various times, and they all talk about how much further Apple went that was done before. None of them disparage the work done at Xerox, and all value the research and their experiences. But a few get tweaked that some at Xerox, or outside, trying to take all the credit for work that went on before, after and outside of PARC. Just like the Xerox people get tweaked by those that claim that Apple did it all and forget to mention foundation work done at Xerox.

Apple was doing the same thing as Xerox (taking ideas done before, and furthering them as well as adding more) -- just in an accelerated development mode, instead of research mode. Of course there were friends and acquaintances at both companies, and ideas got borrowed back and forth -- but less than many might think. You don't always talk about specifics of work with others, and the Mac and Lisa teams were in fevered development mode which left less time for socializing. There was some parallel innovations as well (I'm sure) -- some ideas were just obvious, or if you have enough people thinking about it, will become obvious. Because the architectures were so dramatically different, the programmers couldn't just leverage what they did over at PARC -- because everything was new (architecturally). So they got the experience of having done something not completely dissimilar before, but it is like leveraging your lawnmower repair experience in designing and building a helicopter (or the other way) -- relevant, but not nearly identical, and different products for different markets. The Star (and Alto where most got their experience) was about email, networking, and sharing documents, all with a minicomputer class Smalltalk engine, as a couple of turnkey solutions, designed for office workers -- the Mac was about a low cost microcomputer done in Assembler and Pascal, to create open productivity Apps, in a consistent GUI, and designed for home users.

In many ways the object oriented nature of Smalltalk and an integrated dynamic development environment, built in Ethernet, larger memory, a hard drive, and so much more, empowered the Alto research engine to do more than many other systems to this day. They had the advantage of tight integration and being in control of everything -- and trying to do a little of everything. In other ways, Alto was a series of isolated little island projects that weren't going to get out of Xerox -- but concepts that were borrowed by the Star. The Mac and the Star share the same ancestors -- but the Mac is not a descendant (or ancestor) of the Star. There is no doubt that PARC (and people there) contributed a hell of a lot to what we know about User Interface (which had existed before Xerox as well) -- and just as surely there is also no doubt that Apple did as well. Overall, I give a little more in loose concepts to Xerox, and I give a lot more in subtleties and implementation (details) to Apple. Either contributed 1,000 times more than Microsoft -- but even Microsoft contributed a bit (some good, lots bad).

Remember what Apple saw and what was going on (mostly) at Xerox -- Smalltalk. A development environment. It had windows (with scrollers that looked and worked quite different to the Mac), and it didn't have all the controls that you know (like zoom, maximize, reduce, resize). There were some demos without menus, and some with out -- often menus were just controls (buttons) or modes that would come across the top of the window (like the original Lotus 1..2..3 for those that remember). There was another demo I saw that had one menu in each window -- but there was no "menu bar" as we know it. Some work was on tiled interfaces, (like the first version of Microsoft Windows), and other stuff was on overlapping windows (like the Mac). Remember, most of the rules of a User Interface hadn't been defined -- just lots of controls and demos. There was no Finder -- there was a CLI that operated in a window, and you could click on the CLI commands from a list (instead of typing them). Icons were used -- but icons were usually used as controls -- click on them to do things (buttons), they weren't objects on their own. In some areas there was direct manipulation (move an object in a drawing by just dragging it), in most places it wasn't used much yet -- Tesler was a big direct manipulation advocate and he went to Apple. I saw one demo (Alto I think) that had moving or resizing windows by entering X,Y pixel position in a dialog. The Windows on the Alto couldn't even update (repair) on their own (you had to click in the content), and there was no ability to draw in background windows, no multitasking, and so on. It was a very rough and primitive, with each demo being almost it's own world.

What did Apple create?

The biggest thing Apple did is create consistent rules for Applications and for the OS itself. Things like making a menubar, defining all the controls and so on. I seem to remember sliders, List Box, Radio Buttons, Checkboxes, and dialog buttons (as well as dialog boxes) as we know them were all Apple. (I think at Xerox it was more common for your windows to just repaint their content with the modal choices you had to make, then it went back when your choice was entered). Xerox did create many controls as well like text edit, popout menus / combo-box, chicklet buttons (direct buttons / icons), and had a table item picker where you clicked on the word you wanted selected (to behave like a radio button). And a few controls had been done elsewhere as well. Suffice it to say that when you look at a modern UI and interact with it, it looks and feels far, far, far more like a Mac than a Star. And remember the Alto was a collection of Apps -- not an integrate OS as we understand it (though people were using Smalltalk like an OS) -- that was why Apple had to refine, implement and finish so much.

The entire concept of Resources, layout, desk accessories (all of them), control panels, redundantly type data for the clipboard, pull down menus, QuickDraw, regions. Thousands of subtle concepts like contextual cursor, or the cursor disappearing when you type, menus that highlight when you issue a command, and so on. Much of the details on focus (for controls and windows). What Apple saw in the Alto demo was that you could select text in Bravo editor, you usually used one mouse button to set the start of a text block, a different mouse button to select the end of a text block, then you issues a command on that selected block. The idea of dragging the mouse over a range of text was Larry Tesler's (for the Gypsy editor at Xerox), and he brought it with him from Xerox to Apple. And it got refined and used more often, and the drag concepts grew in usage -- there was very little use of the drag behavior before Apple. Then drag and drop file behavior was Apple's, and so on and so forth. When Apple created the single button mouse, they created behaviors like double-click and drag behaviors to compensate for the lack of other buttons. Many or the rules for dialogs were Apple. The way focus is displayed. The recoverable trashcan. Keyboard shortcuts in menus (with the keys shown). The list goes on and on. Apple created much, and furthered things a whole lot.

Star

Many people think that Apple got the Desktop Metaphor from Xerox (the Star). Remember, Apple only saw the Alto. The Star was released in 1981 (before Lisa or Mac was released -- but both products were already in development) -- the desktop metaphor in the Star is not recognizable as the one used in the Mac. In fact, the more common way to work with the Star was a CLI with a button for each command. Those on the Mac team claim that they never say the Star before the Mac was released -- which is quite possible (they were following their own path) -- so even the few similarities (and many differences) can be attributed to parallel development. Those that think the Mac is just like the Star, are just wrong.

The Star used a lot of verb controls or noun-verb relationships (and less direct manipulation). At Xerox icons were usually controls -- not objects. Even on the Star's desktop, they had files and folders -- with far fewer rules and subtleties on behavior, look, and interaction -- like had been defined on the Mac. The files and folders weren't really those files -- they were pointers to files (basically shortcuts or aliases) -- more like Windows 1 to Windows 3. There wasn't much direct manipulation -- to print, move, copy, rename, or delete a file, you selected the icon, and then pressed the appropriate key (they had a special key for each of those behaviors). Many keys had tenuous behaviors, like to send email you "moved" it. Selecting a file, then hitting a "move" key to relocate it on the virtual desktop is nothing like your real desktop (not a good imitation of the metaphor you were supposed to be using). On your real desktop, you just grab a folder or file and move it -- direct manipulation -- on the Mac you just dragged the file around.

The concept of multiple disks, dragging to move or copy (including just rearranging the hierarchy), dragging to the trashcan to delete, selecting the text to rename, and so on, were all absolutely Apple innovations. Dragging to a printer to print? Apple. Double clicking a folder to open? Apple. Double clicking (or single clicking) an App to run it? Apple. The list view in the desktop? Apple. Much of the information about what was in a folder (size, item count and so on) was Apple. The list goes on and on (and on). Xerox did call their interface a "desktop metaphor" -- but it wasn't close to what people think of today when they use icons on the desktop on a Mac or PC. The same for windows, menus, and the most basic of behaviors. Xerox started it, they did a lot conceptually -- but Apple did 95% of the spit and polish required to make those concepts usable as we know them. A Mac or Windows user could probably figure out how to use a Star -- but Windows, BeOS, Amiga and all the other microcomputer GUIs look, feel and behave a lot more like the Mac than a Star. Other users would look at a Star and think, "where are the menus?", or "this scrollers looks and behaves weird". Even the text for an icon had to be contained inside the icon itself (not below it like on the Mac). The Star is an unusual and unfinished UI experience -- and that was far more complete than the Alto which came before it.  

Conclusion

Xerox innovated a lot. I'm not trying to take that away from them. They took what was out there before (research and ideas), and did more research and came up with more ideas. They deserve to be congratulated and remembered for that work -- just like those that came before them.

Apple innovated a lot as well. Far more of the details that you know as a "GUI", desktop metaphor, or WIMP Interface (Windows, Icons, Menu and Pointing-Device) are from the Mac. Even many of the most basic behaviors like double-click or dragging files, are from the Mac. So to credit Xerox with everything, or short change Apple and the Mac by claiming that the Mac was just a clone of the Star or Alto, is just ignorance. Apple deserves their credit as well.

Time hasn't stood still -- it seldom does -- and there have been refinements of the interface. Many of those have come from Apple as well. Certainly some refinements have come from outside Apple. For example NeXT did a lot to improve interface after Apple -- but much of what they built was still on what Apple had built before them (and what Xerox had built before that). But many are out to NOT credit Apple with anything -- they want to see Apple as this proprietary villain, when by Apple's nature when you do things first, there are no standards defined it yet. But once Apple has done it, there is a standard (and often advocates their way as "standard"). Microsoft often comes along later and does something different and nonstandard (because now a standard DOES exist), and Apple gets the blame for not being the same as Microsoft.

Part of the problem is that many people just don't know what is going on, or has gone on at Apple. So Apple does research on something (like a real-life interface, aural feedback, agents, etc.) and then it is deemed "not ready for prime time", or "not good enough" and Apple throws it away or delays implementation. Then someone else, years (or decades) later, may copy that -- like Microsoft did with Bob(tm) -- and many think this is some real innovation. I don't buy that -- especially when the implementation was not significantly different from products I saw 10 years earlier (the most substantial difference being color versus black and white). Or another example of this is that when Apple created the Mac, they had some menus that "stuck" down (one click to drop, another to select). They preferred the auto-hiding behavior of drop down menus (drag and release), and used dropdown menus instead. Years later, Microsoft copies the sticky menus behavior. Finally, after those are popularized, Apple decides to use them as well -- for consistency sake (which is the right choice unless your way is substantially faster). Then many ignorant people are claiming that Apple is copying Microsoft!?!?! It is quite frustrating to hear this stuff because it shows how little those people understand of what has really gone on.

There is some real innovation going on -- and people are trying to make some real changes. But the truly impressive thing is how little has changed since the Mac128 and Lisa. Apple did so much right, that the basics of their metaphor (with some help from Xerox and others before them) has held up for 15+ years. I wish I could get use of a Star or Alto -- I'd love to make a "Virtual Star/Alto" Application so that people could see how different they were than what they know today. That would truly put to bed the myth that Apple just copied from Xerox, or that Apple didn't innovate.


Thanks to Bruce Horn for some helpful editing.


Created: 05/06/99
Updated: 11/09/02


Top of page

Top of Section

Home