Mac Lore pt. 1

I thought that some of you might appreciate some Mac lore. This is from Guy Kawasaki's list (to join, see the end of this piece). Another book for Mac history buffs (not mentioned by Bruce Horn) is Steven Levy's Insanely Great (Penguin), and Owen Linzmayer's The Mac Bathroom Reader.
--Marc Bizer


This tidbit is from Bruce Horn. Bruce is one of the original Macintosh Division engineers. He co-authored the Finder. (A short bio is at the end.) Guy

On Xerox, Apple, and Progress


I've been watching the debate for more than a decade now about where the Macintosh User Interface came from. Most people assume that it was taken directly from Xerox, after Steve Jobs went to visit. This "fact" is reported over and over, by people who don't know any better (and also by people who should!). This 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, popup 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 seeing the Smalltalk demo, and the Mac folks yet another. There is a significant difference between using the Mac and Smalltalk (or the Star; I don't know if Steve ever saw that, and none of the Mac group did before the Mac came out).

There was no Finder in Smalltalk, and no need for one, really. Drag-and-drop file manipulation came from the Mac group (the Finder prototype was shown to the Lisa group, which implemented their own version), 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/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 quite a few fundamental concepts as well: pull down menus, the imaging and windowing models based on QuickDraw, the clipboard, and cleanly internationalizable software. Smalltalk had a 3-button mouse and popup menus, in contrast to the Mac's menubar and one-button mouse. Smalltalk didn't even have self-repairing windows--you had to click in them to get them to repaint, and you couldn't draw into windows that were partially obscured. Bill Atkinson did not know this, so he invented regions as the basis of QuickDraw and the Window Manager so that he could draw in covered windows and repaint portions of windows brought to the front easily and quickly. The one thing that I can recall where a Macintosh feature is identical to one in Smalltalk is the selection-based modeless text editing with cut and paste, which was created by Larry Tesler for his Gypsy editor at PARC.

The difference between the Xerox system architectures and the Mac's architecture is huge; much bigger than the difference between the Mac's architecture and Windows. Not surprising, since Microsoft was shown quite a bit of the Macintosh design (API's, sample code, etc.), during the Mac's development from 1981-1984; the intention was to help their programmers write applications for the Mac, but having this also gave their system designers a template from which to start designing 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 off our knowledge of the Xerox systems as much as some people think.

The hardware itself was an amazing step forward as well. All-in-one design, 4-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 packaged together tastefully in a cardboard box with Picasso-style graphics on the side. Never before had a computer been delivered with so much attention to detail and the customer's needs.

Read Guy Kawasaki's books, "The Macintosh Way" and "Selling the Dream," and you'll get an idea about what *really* went on at Apple. In particular, "Selling the Dream" includes the entire Macintosh Product Introduction Plan in an appendix. The Mac project was innovative from top to bottom, from engineering to marketing to sales to evangelism to product design. We can thank Steve Jobs for hiring the kind of people who brought the enthusiasm, creativity, and passion for excellence that made the Mac possible.

Looking Back

In my opinion, the software architectures developed at Xerox for Smalltalk and the Star were significantly more advanced than either the Mac or Windows. From what I have read since, the Star was a tremendous accomplishment, with features that current systems haven't even started to implement; OpenDoc will be a strong advance past the Xerox systems. I have great respect for the amazing computer scientists at Xerox PARC, who led the way with the innovations that we all take for granted now, and from whom I learned a tremendous amount about software design. Still, the Lisa and Macintosh groups deserve respect for making a large number of these innovations available to personal computer users, and a significant number of homegrown innovations as well.

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 at every step of the way. As a "little brother" to the Lisa, we didn't have multitasking or protection, since we didn't have space for the extra code or stack required. Our memory and disk constraints were very tight: for example, the Resource Manager took up less than 3K bytes of code in the ROM, and the Finder 46K on disk. There were *many* design decisions that we regretted to some extent--even at the time some of us were 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. I suspect that some of the Star features still are not available on any platform. We continually reinvent the wheel: Smalltalk had a nice bytecoded multiplatform virtual machine long before Java. As far as language technology is concerned, Object-Oriented Programming is the hot thing now, and it's almost 30 years old (see Simula-67). Environments have not progressed much either: I feel that the Smalltalk environments from the late 1970's are the most pleasant, cleanest, fastest, and smoothest PE's I have ever used. While 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. Even the Smalltalk systems of today aren't as clean, easy to use, or well-designed as the original Smalltalks, in my opinion.

We are not even *close* to the ultimate desktop computing/ information/ communication device. There is *much* more work to be done 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 Win95 (or NT for that matter) are the last word on operating systems. Unfortunately, the 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 the next generation systems.

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

Bruce Horn


(a short bio follows, at Guy's request)

At Xerox I was a student in the Learning Research Group (1973-1981), where Smalltalk was developed. While there I 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 (1980) I ported Smalltalk-78 to an 8086 machine, the Mycron-2000.

At Apple (1981-1984) my contributions included the design and implementation of the Resource Manager, the Dialog Manager and the Finder (with implementation help from Steve Capps). I also was responsible for the type framework for documents, applications, and clipboard data, and a variety of system-level design decisions. I consulted on a variety of projects in the late 80's at Apple as well.

Since then I've received a PhD in CS from Carnegie-Mellon University (1993) and have worked as a computer science consultant, working on projects with Apple and other companies.


Do you believe in Macintosh? Learn how to help the Macintosh cause by subscribing to EvangeList, a listserver for Macintosh fans. To receive instructions, send an email to <evangelist@macway.com>.


Date created: 4/11/96
Last modified: 4/11/96
Maintained by: J. Michael Farmer
jmfarmer@students.wisc.edu