Bruce Horn's Recollections

After creating posting the Raskin letters I got an email from Bruce.


From: Bruce Horn 
To: "Matt Mora" 
Mime-Version: 1.0
Hi Matt,

I was just wandering around and found your webpage about origins of the 
Mac.  You can find both of my original articles at MacKiDo.

http://www.MacKiDo.com/Interface/ui_history.html

.
.
.

Feel free to post a pointer to MacKiDo, or copy my articles to your 
website.
Hope this helps!

     Bruce

So I'm posting his letters too.

Matt

Copyright 1998 Bruce Horn

These articles are from www.MacKiDo.com


Any number of people will try to tell you about the origins of the Macintosh, but Bruce Horn was one of the people who made it happen.

From 1973 to 1981, Bruce was a student in the Learning Research Group at Xerox, where Smalltalk, an interactive, object- oriented programming language, was developed. While there, he worked on various projects including the NoteTaker, a portable Smalltalk machine, and wrote the initial Dorado Smalltalk microcode for Smalltalk-76. At the Central Institute for Industrial Research in Oslo, Norway, in 1980, he ported Smalltalk- 78 to an 8086 machine, the Mycron-2000.

At Apple (1981-1984), Bruce's contributions included the design and implementation of the Resource Manager, the Dialog Manager and the Finder (with implementation help from Steve Capps). He was also responsible for the type Framework for documents, applications, and clipboard data, and a number of system-level design decisions.

Since then, Bruce consulted on a variety of projects in the late 1980's at Apple and received a Ph.D. in Computer Science from Carnegie-Mellon University in 1993. He continues to work as a computer science consultant with Apple and other companies.

Where It All Began

For more than a decade now, I've listened to the debate about where the Macintosh user interface came from. Most people assume it came directly from Xerox, after Steve Jobs went to visit Xerox PARC (Palo Alto Research Center). This "fact" is reported over and over, by people who don't know better (and also by people who should!). Unfortunately, it just isn't true - there are some similarities between the Apple interface and the various interfaces on Xerox systems, but the differences are substantial.

Steve did see Smalltalk when he visited PARC. He saw the Smalltalk integrated programming environment, with the mouse selecting text, pop-up menus, windows, and so on. The Lisa group at Apple built a system based on their own ideas combined with what they could remember from the Smalltalk demo, and the Mac folks built yet another system. There is a significant difference between using the Mac and Smalltalk.

Smalltalk has no Finder, and no need for one, really. Drag-and- drop file manipulation came from the Mac group, along with many other unique concepts: resources and dual-fork files for storing layout and international information apart from code; definition procedures; drag-and-drop system extension and configuration; types and creators for files; direct manipulation editing of document, disk, and application names; redundant typed data for the clipboard; multiple views of the file system; desk accessories; and control panels, among others. The Lisa group invented some fundamental concepts as well: pull down menus, the imaging and windowing models based on QuickDraw, the clipboard, and cleanly internationalizable Software.

Smalltalk had a three-button mouse and pop-up menus, in contrast to the Mac's menu bar and one-button mouse. Smalltalk didn't even have self-repairing windows - you had to click in them to get them to repaint, and programs couldn't draw into partially obscured windows. Bill Atkinson did not know this, so he invented regions as the basis of QuickDraw and the Window Manager so that he could quickly draw in covered windows and repaint portions of windows brought to the front. One Macintosh feature identical to a Smalltalk feature is selection-based modeless text editing with cut and paste, which was created by Larry Tesler for his Gypsy editor at PARC.

As you may be gathering, the difference between the Xerox system architectures and Macintosh architecture is huge; much bigger than the difference between the Mac and Windows. It's not surprising, since Microsoft saw quite a bit of the Macintosh design (API's, sample code, etc.) during the Mac's development from 1981 to 1984; the intention was to help them write applications for the Mac, and it also gave their system designers a template from which to design Windows. In contrast, the Mac and Lisa designers had to invent their own architectures. Of course, there were some ex- Xerox people in the Lisa and Mac groups, but the design point for these machines was so different that we didn't leverage our knowledge of the Xerox systems as much as some people think.

The Hardware itself was an amazing step forward as well. It offered an all-in-one design, four-voice Sound, small footprint, clock, auto-eject floppies, serial ports, and so on. The small, portable, appealing case was a serious departure from the ugly- box-on-an-ugly-box PC world, thanks to Jerry Manock and his crew. Even the packaging showed amazing creativity and passion - do any of you remember unpacking an original 128K Mac? The Mac, the unpacking instructions, the profusely-illustrated and beautifully- written manuals, and the animated practice program with audio cassette were tastefully packaged in a cardboard box with Picasso- style graphics on the side.

Looking Back

In my opinion, the software architectures developed at Xerox for Smalltalk and the Xerox Star were significantly more advanced than either the Mac or Windows. The Star was a tremendous accomplishment, with features that current systems haven't even started to implement, though I see OpenDoc as a strong advance past the Xerox systems. I have great respect for the amazing computer scientists at Xerox PARC, who led the way with innovations we all take for granted now, and from whom I learned a tremendous amount about software design.

Apple could have developed a more complex, sophisticated system rivaling the Xerox architectures. But the Mac had to ship, and it had to be relatively inexpensive - we couldn't afford the time or expense of the "best possible" design. As a "little brother" to the Lisa, the Macintosh didn't have multitasking or protection - we didn't have space for the extra code or stack required. The original Macintosh had extremely tight Memory and disk constraints; for example, the Resource Manager took up less than 3,000 bytes of code in the ROM, and the Finder was only 46K on disk. We made _many_ design decisions that we regretted to some extent - even at the time some of us felt disappointed at the compromises we had to make - but if we had done it differently, would we have shipped at all?

The Past and Future

In many ways, the computing world has made remarkably small advances since 1976, and we continually reinvent the wheel. Smalltalk had a nice bytecoded multi-platform virtual machine long before Java. Object oriented programming is the hot thing now, and it's almost 30 years old (see the Simula-67 language). Environments have not progressed much either: I feel the Smalltalk environments from the late 1970's are the most pleasant, cleanest, fastest, and smoothest programming environments I have ever used. Although CodeWarrior is reasonably good for C++ development, I haven't seen anything that compares favorably to the Smalltalk systems I used almost 20 years ago. The Smalltalk systems of today aren't as clean, easy to use, or well- designed as the originals, in my opinion.

We are not even _close_ to the ultimate computing-information- communication device. We have much more work to do on system architectures and user interfaces. In particular, user interface design must be driven by deep architectural issues and not just new graphical appearances; interfaces are structure, not image. Neither Copland nor Windows 95 (nor NT, for that matter) represent the last word on operating systems. Unfortunately, market forces are slowing the development of the next revolution. Still, I think you can count on Apple being the company bringing these improvements to next generation systems.

I'm sure some things I remember as having originated at Apple were independently developed elsewhere. But the Mac brought them to the world.


This is Bruce's response to the Jef's essay.

Jef Raskin's perspective on the origin of the Macintosh was very interesting. While Raskin doesn't actually contradict anything in my article apart from the origins of the internationalizable Software (Joanna Hoffman in the Mac group), I still feel that there are several corrections that need to be made.

My intention on writing the article was not to give individual credit to people for coming up with particular ideas. Rather, it was to show that the Mac was a different beast than the Xerox systems, a point that I believe I made clearly.

Raskin does have a few errors in his history and incorrectly quotes me as follows:

Horn is correct that click-and-drag methods were invented at Apple and not at PARC (or elsewhere, as far as I know). I created this method for moving objects and making selections after finding the Xerox click-move-click method prone to error. Bill Atkinson extended the paradigm to pull-down menus.

This I did not say that in my article at all.

Xerox had click-and-drag in menus and for moving graphical objects long before Apple even existed as a company. In particular, Smalltalk-76 pop-up menus were click and drag. In my article I was talking about dragging files for file manipulation and drag & drop. PARC was a large organization with many groups doing research; it is not surprising that Raskin, as a visitor, did not see everything being done at PARC.

Horn makes it seem that the selection-based editor came with Tesler from PARC. It may have been a case of convergent evolution, since we already had that paradigm at the Mac project. In this case it dates at least back

Again, modeless selection-based graphical editing was in Tesler's Gypsy and Smalltalk-76, and predates Apple as a company. It is quite unlikely that Raskin's system at Bannister & Crun had much in common with the Smalltalk text editor.

When Bruce Horn discusses the Hardware, and attributes the overall concept for the design to Jerry Mannock (who indeed did a world-class job on the final design of the box). Horn is unaware that the requirements for a small footprint, unique aesthetic, built-in Sound, etc. were all part of the project specs from the very beginning, long before Mannock joined the team.

I didn't attibute the overall concept to Jerry Manock, and I was indeed aware of Raskin's contribution. In my article I wasn't interested in attributing every innovation to an individual person. Jerry Manock and his group created the Mac look which is what I was discussing.

Horn and many other people who joined Apple long after the Mac and Lisa projects were well under way never knew the genesis of many of the ideas the

The Mac and Lisa both changed dramatically during the time I was at Apple. Many, if not most of the innovations that I mentioned were developed during that time.

Raskin also mentioned that the Star was "incredibly slow and somewhat clumsy to use..." I did have an opportunity in 1986 to try a Star and agree with his observations. However, when I said in the article that the Star was advanced I was indeed talking about the underlying system and ideas that went into the Star. The ideas have persisted and the architecture, while not visible to the user, was still quite sophisticated. I believe that to have a sophisticated and usable interface, the system has to be well thought-out also.

In addition to Raskin's list of articles that he has written about user interface, readers might be interested in looking up the Canon Cat, a computer of Raskin's design that was developed around the same time as the Mac. While it embodies many of Raskin's ideas, it bears almost no resemblance to the Mac at all. The Rolling Stone article (April 4, 1996) says that for the Mac, "Raskin was opposed to a mouse and a graphical user interface...and favored a squat design." It is clear that quite a bit happened after Raskin's departure from the Mac group.

I was very careful to attribute to Xerox and Apple only those innovations about which I felt reasonably certain I knew the origin. Raskin certainly is to be credited with the creation of the Macintosh concept; however, I believe that the details of the Mac implementation were developed after his departure. Raskin's commentary adds an interesting perspective on a very complex and interwoven time in computer history.