Revolution in the Valley: The Insanely Great Story of How the Mac Was Made (32 page)

Read Revolution in the Valley: The Insanely Great Story of How the Mac Was Made Online

Authors: Andy Hertzfeld

Tags: #Business & Economics, #General, #Industries, #Computers & Information Technology, #Workplace Culture, #Research & Development, #Computers, #Operating Systems, #Macintosh, #Hardware

A Rich Neighbor Named Xerox

by Andy Hertzfeld in November 1983

The Xerox Star was an influential predecessor

When Steve Jobs recruited Microsoft to be the first third party applications software developer for the Macintosh, he was already concerned that they might try to copy our ideas into a PC-based user interface. As a condition of getting an early start at Macintosh development, Steve made Microsoft promise not to ship any software that used a mouse until at least one year after the first shipment of the Macintosh.

Microsoft's main systems programmer assigned to the Mac project was Neil Konzen, a brilliant young Apple II hacker who grew up in their backyard in the suburbs of Seattle. Neil started working at Microsoft while he was still a high school student, and single-handedly implemented the system software for their hit Z80 card that allowed the Apple II to run CP/M software.

Neil loved Apple, so it was natural for Microsoft to assign him to their new, top-secret Macintosh project. He was responsible for integrating Microsoft's byte-code based interpreted environment (which actually was a copy of a system used at Xerox that favored memory efficiency over execution speed, which was appropriate for the Mac's limited memory) with the rapidly evolving Macintosh OS, so he quickly became Microsoft's expert in the technical details of the Mac system.

By the middle of 1983, Microsoft was far enough along to show us working prototypes of their spreadsheet and business graphics programs, Multiplan and Chart (they were also working on a word processor, but they neglected to mention that, since it would compete with MacWrite). I would usually talk with Neil on the phone a couple of times a week. He would sometimes request a feature that I would implement for him, or perhaps complain about the way something was done. But most of the time I would answer his various questions about the intricacies of the still evolving API.

I gradually began to notice that Neil would often ask questions about implementation details that he didn't really need to know about. In particular, he was really curious about how regions were represented and implemented, and would often detail his theories about them to me, hoping for confirmation.

Aside from intellectual curiosity, there was no reason to care about the system internals unless you were trying to implement your own version of it. I told Steve that I suspected that Microsoft was going to clone the Mac, but he wasn't that worried because he didn't think they were capable of doing a decent implementation, even with the Mac as an example.

In November 1983, we heard that Microsoft made a surprising announcement at Comdex, the industry's premier trade show, held twice a year in Las Vegas. Microsoft announced a new, mouse-based system graphical user interface environment called Windows, competing directly with an earlier environment announced by Personal Software called "Vision". They also announced a mouse-based option for Microsoft Word. When Steve Jobs found out about Windows, he went ballistic.

"Get Gates down here immediately", he fumed to Mike Boich, Mac's original evangelist who was in charge of our relationships with third party developers. "He needs to explain this, and it better be good. I want him in this room by tomorrow afternoon, or else!"

And, to my surprise, I was invited to a meeting in that conference room the next afternoon, where Bill Gates had somehow manifested, alone, surrounded by ten Apple employees. I think Steve wanted me there because I had evidence of Neil asking about the internals, but that never came up, so I was just a fascinated observer as Steve started yelling at Bill, asking him why he violated their agreement.

"You're ripping us off!", Steve shouted, raising his voice even higher. "I trusted you, and now you're stealing from us!"

But Bill Gates just stood there coolly, looking Steve directly in the eye, before starting to speak in his squeaky voice.

"Well, Steve, I think there's more than one way of looking at it. I think it's more like we both had this rich neighbor named Xerox and I broke into his house to steal the TV set and found out that you had already stolen it."

Unfortunately, it turned out that while the agreement that Microsoft signed in 1981 stipulated that they not ship mouse-based software until a year after the Mac introduction, that ended up being defined in the contract as September 1983, since in late 1981 we thought that the Mac would ship in the fall of 1982, and we foolishly didn't let the ship date float in the contract. So Microsoft was within their rights to announce Windows when they did. Apple still needed Microsoft's apps for the Macintosh, so Steve really couldn't cut them off.

Microsoft didn't manage to ship a version of Windows until almost two years later, releasing Windows 1.0 in the fall of 1985. It was pretty crude, just as Steve had predicted, with little of the Mac's thoughtful elegance. It didn't even have overlapping windows, preferring a simpler technique called "tiling". When its utter rejection became apparent a few months later, Bill Gates fired the implementation team and started a new version from scratch, led by none other than Neil Konzen.

Neil's version of Windows, released a couple of years later, was good enough that Apple filed a monumental copyright lawsuit against Microsoft in 1988, but they eventually lost on a technicality (the judge ruled that Apple inadvertently gave Microsoft a perpetual license to the Mac user interface in November 1985).

Steve Capps Day

by Andy Hertzfeld in December 1983

The software team, all
dressed up like Capps

The Macintosh software finally seemed to be coming together as the fall of 1983 wore on. The ROMs containing most of the system software were finished, and they seemed to mostly be holding up. Larry Kenyon devised a clever technique for fixing problems in the ROM by patching the nearest system trap to the problem, with the patch code looking on the stack for the ROM address of the caller, which allowed us to fix problems with tiny, surgical incisions, adding some code snippets here or there, without needing to replace large chunks of the ROM with precious RAM as we had originally envisioned.

By the middle of November 1983, MacPaint was already stable enough to ship, even though it was always skirting on the edge of running out of memory if we changed something in the system. MacWrite still had lots of bugs, but its core functionality seemed to be ready, as long as you weren't pushing memory limits. The only vital application that seemed like it could delay our target date in mid-January was the Finder, which was the shell application responsible for launching other applications and managing files.

Bruce Horn was the only programmer working on the Finder, and he was bogging down with a variety of problems, especially involving file copying in low memory conditions. The Finder was built on top of Bruce's resource manager, using features that were barely finished before the ROM freeze. It probably should have been at least a two man project, but Bruce was a brilliant, passionate, independent perfectionist who insisted that he would get it done in time by himself.

Jerome Coonen, the Macintosh software manager, was afraid that Bruce wasn't going to make it. Clearly, Jerome needed to assign someone else to help Bruce finish, but Bruce's perfectionism and high strung temperament made it hard for someone else to dive in and be helpful, especially this late in the game. But luckily, Steve Capps was the perfect man for the job.

Capps was an extraordinarily talented, creative and prolific programmer, who had transferred over to the Mac team from the Lisa printing group in January 1983, giving us a new burst of energy as the original team members began to tire as our sprint to finish slogged into a marathon. Stockily built, with long brown hair and a bushy beard, Capps was one of the few people around who Bruce respected enough to really listen to, and best of all, he possessed a cheerful, easy-going disposition that was the perfect complement to Bruce's high strung intensity.

To minimize distractions, which were mounting as Apple's marketing machine kicked into high gear as the introduction approached, Jerome arranged for Bruce and Capps to move into a small office a few blocks away, on Bubb Road. Capps dove in quickly and took over a bunch of tasks from Bruce. It wasn't always easy, but by the end of December it looked like the Finder was getting more or less back on track.

Jerome thought of a unique way for the software team to show our appreciation for Capps' heroic effort. Like many hackers, Capps dressed idiosyncratically, almost always wearing a long sleeved, white dress shirt with cut-off denim shorts, white socks, and a distinctive type of checkered sneakers called Vans. In fact, Capps had just given everybody on the team a pair of Vans as Christmas presents. Jerome had the idea that we should pay homage to Capps by declaring "Steve Capps Day", and all come in to work dressed up exactly like him for a day.

I had to go to Macy's to buy a white dress shirt, but I managed to come up with a reasonable fascimile of Capps' attire. It was hilarious to see everyone else as we gathered in our "fishbowl" office in Bandley 3 the next morning, all dressed in Capps' unique sartorial style. Even the French and German translators who were visiting us for the month to get European versions underway joined in. The funniest person was probably Patti Kenyon, who was over 8 months pregnant at the time, wearing an extra large white shirt.

Jerome went to get Capps and Bruce from their enclave, telling them there was an important meeting that required their attendance. We could hardly hold back the laughter as an unsuspecting Capps walked in, and then we finally cracked up and gave him a round of applause when he realized what was going on.

3rd Party Developers and Macintosh Development

by David Craig in January 1984

Some Comments about Developing Applications for the Apple Macintosh 128 Computer from a 20 Year Perspective

OVERVIEW

This commentary contains my recollections about developing 3rd party software for the Apple Macintosh computer during the years 1984 to 1986. This paper was written as my contribution to the Macintosh's 20th anniversary celebrations in February 2004.

During this time I worked for a small company in Wichita Kansas called PPP Inc. (PPP or P3 = Programs for Professional People) which developed a new Macintosh application for the stock market named The Investor. This application was written in Lisa Pascal and contained around 50,000 lines. I and another individual designed the program, I implemented it.

The original Macintosh (called the "Macintosh 128" since it had 128K bytes of memory) provided a fascinating development and application environment which I enjoyed immensely. The Macintosh's rich ROM-based software toolbox in a 64K byte ROM along with the machine's small footprint and superbly clear screen display made the Macintosh a wonderful application platform.

SOFTWARE DEVELOPMENT USING THE LISA WORKSHOP ENVIRONMENT

Macintosh development in the early days (circa 1983-1985) was done using the Apple Lisa computer and its Lisa Workshop development environment. I originally used a Lisa 2/5 model which contained 1M byte of RAM, an internal 400K 3.5" Sony floppy drive, and an external 5M byte ProFile hard drive (yes, 5M as in mega bytes was considered a rather large drive in those days). I later used a Lisa 2/10 model which had an additional 10M byte internal Widget hard drive which gave me a total of 15M bytes of hard drive storage.

The Lisa Workshop hosted a command line interface which accessed a wonderful mouse based editor, a Pascal compiler, a 68000 macro assembler, an object file Linker, the RMaker resource compiler utility program, and the MacCom Lisa-to-Macintosh utility communications program.

The Lisa Pascal language was very powerful and compiled Pascal source files to Motorola 68000 object code files. I never found a need to use the Workshop's 68000 assembler since everything I needed for my application could be written in the higher level Lisa Pascal language. Macintosh application resource information was created as text files which were then compiled to a binary format using the RMaker resource compiler. Transferring a Macintosh object program from the Lisa to the Macintosh required the Lisa utility program MacCom which copied Lisa files to a Macintosh formatted disk in the Lisa's 400K internal disk drive. MacCom combined separate Lisa data and resource fork files which were stored on the Lisa's hard drive and stored them as single documents on the Macintosh floppy.

Other books

Blame by Nicole Trope
Hunter's Fall by Shiloh Walker
High Maintenance by Jamie Hill
Susurro de pecado by Nalini Singh
Doomwyte by Brian Jacques
Second Chance Friends by Jennifer Scott
End Online: Volume 3 by D Wolfin, Vincent, Weakwithwords