Revolution in The Valley [Paperback]
Page 12
I had a panicky meeting with Chris, but he was able to calm me down and convince me to give the writer another chance. I met with both of them, explaining the problems I had with what she had done so far. She was amazingly blithe and cheerful about it, saying she knew she didn’t understand everything, but figured I would correct anything that was wrong. We had another, longer meeting, where I did my best to explain the underlying concepts like handles and regions, and went over the Window Manager API again, this time asking her if she had any questions at the end of each routine. It still seemed to me she was having trouble understanding things, no matter how carefully I tried to explain, but she didn’t seem worried about it at all.
The next draft was just as bad as the previous one, and I felt even worse given all the effort I put into it. Chris was defensive and I began to despair of ever getting decent documentation for the toolbox. So I was surprised when he entered my cubicle a couple of days later with a smile on his face.
Caroline Rose in 1982
“We’ve just made an offer to a new writer,” he said, “someone who I think will do a much better job on the technical side of things since she used to be a programmer. Her name is Caroline Rose. I’m going to assign her to the window manager documentation and see what you think.”
The next week I sat down with Caroline for the first time and she couldn’t have been more different than the previous writer. As soon as I started to explain the first routine, she bombarded me with questions. She didn’t mind admitting it when she didn’t understand something, and she wouldn’t stop badgering me until she comprehended every nuance. She asked me questions I didn’t know the answers to, like what happened when certain parameters were invalid. I had to keep the source code open on the screen of my Lisa when I met with her so I could figure out the answers to her questions while she was there.
Before long I figured out that if Caroline had trouble understanding something, it probably meant the design was flawed. On a number of occasions, I told her to come back after she asked a penetrating question, and I revised the API to fix the flaw she had pointed out. I began to imagine her questions when I was coding something new, which made me work harder to get things clearer before I went over them with her.
We initially distributed the raw documentation to developers piecemeal, as it was written, but eventually we wanted to collect it into one definitive reference called Inside Macintosh. It was almost 1,000 pages, spread across 3 volumes, mostly written by Caroline with help from Bob Anders, Brad Hacker, Steve Chernicoff, and a few others. Steve Jobs naturally insisted on very high production standards for the first edition, and we used only the best binding and paper available. But high-quality printing takes time, and the evangelists were impatient to get the definitive documentation out to developers as soon as possible.
I’m not sure whose idea it was, but a compromise was finally reached. Apple would publish a free, softbound, “promotional” edition of Inside Macintosh on low-quality paper as soon as possible, and send a copy to every developer. It was about as thick and flimsy as the Yellow Pages, so it became known as the “phone book” edition. Most developers still bought the high-quality, beautiful, hardback edition when it came out a few months later.
Creative Think
July 1982
A seminar with Alan Kay
In July of 1982, while I was in the midst of writing the Control Manager part of the Macintosh toolbox, my friend Bill Budge invited me to a computer industry seminar called Creative Think, where interesting people gave purportedly inspiring talks. It was organized by Roger von Oech, a consultant who had written a book about creativity entitled A Whack On The Side Of The Head. I usually avoided both creativity seminars and industry schmooze-fests, but my friend Bill had somehow finagled free tickets and I thought it would be worth it just to hang out with him.
Carver Mead gave an interesting talk on newly emerging VLSI technology, and some old chip-industry veterans recounted amusing war stories, but the last talk of the day was the one that mattered to me. It was given by Alan Kay, the inventor of Smalltalk and the Alto, and the driving force behind Xerox PARC. I had read about Alan, and been inspired by his article about Smalltalk in the September 1977 issue of Scientific American, but I had never seen him before in person or heard much about him.
Alan’s speech was revelatory and was perhaps the most inspiring talk I ever attended. I grew increasingly excited as he made one brilliant, insightful remark after another, and took out my notebook to write as much of it down as I could. Alan articulated the values behind the work that I was doing in a way that really resonated with me. After I got back to my office in Cupertino, I transcribed my notes onto a single page and made copies for the rest of team.
I still have those notes, so I thought it would be interesting to reproduce them here as an example of some of the thinking that inspired our efforts.
Resource Manager Countdown
August 1982
Bob gives Bruce thirty days to finish the Resource Manager
The Resource Manager was one of the cornerstones of the Macintosh Toolbox. It provided a way to manage chunks of data so they could be easily accessed by the code but be stored and edited independently from it. This was the basis of our localization, since text strings could be stored as resources and translated without having to change the code and rebuild the entire application.
Resources were conceived and implemented by Bruce Horn. They came a little late in the design cycle, and we had to rewrite some other parts of the toolbox to take advantage of them, although that wasn’t clear initially. But in the summer of 1982, they were definitely one of the riskier parts of the design.
Bob Belleville, our new software manager, assessed the situation and decided that the Resource Manager was too big a risk and tried to convince us to drop it from the design. Bruce went apoplectic, and Bob eventually compromised on giving Bruce 30 days to implement the resource manager. Bruce agreed that if it wasn’t ready within 30 days, it would be dropped from the project.
The next day, Bruce came to work with a few pads of yellow sticky notes. He tore off one note at a time, wrote a number on it, and then stuck it on the wall of the double-sized cubicle that I shared with him. Soon the cubicle was encircled with little yellow notes, each with a number from 1 to 30.
“This shows me how many days I have left,” Bruce explained. “I’ll tear one down each day, and it will remind me of how much time is remaining.”
For the next month, the first thing Bruce did every morning was dramatically tear off the note with the lowest remaining number. As the days passed, he was making good progress, but it wasn’t at all clear he was going to make it.
When there were only three notes left, I began to wonder what was going to happen if Bruce missed the deadline. The Resource Manager was mostly working now, but Bruce continued to refine the design and didn’t seem to be on a path to closure.
Finally, there was only one note left on the wall. But when Bruce came in that morning, he had a new pad of yellow notes, and instead of taking the last one down, he wrote another ten numbers and posted them up. I started to laugh.
“It’s overtime,” he explained. “I swear I’ll really be done in 10 more days.”
I was waiting for Bob Belleville to confront Bruce and tell him he missed the deadline, but Bob wisely saw that the Resource Manager was far enough along that it could stay. And Bruce really did finish in the next 10 days (kind of).
You Guys Are in Big Trouble
August 1982
We receive Steve’s permission to dismantle the onerous burglar alarm
The Mac team was growing so rapidly in the spring of 1982 that we had to move from Texaco Towers back to the main part of the Apple campus on Bandley Drive. We moved into Bandley 4, a medium-sized building across the street from Apple’s main office.
One of the things I liked about Bandley 4 was that the software team was in the very back of the building, near the parking lot, so we co
uld go out the back door to our cars or to play basketball, without having to walk all the way around the building. This worked out well for a couple of months, but eventually the facilities group decided to put an alarm on the back door and we couldn’t go in and out freely. They didn’t arm the alarm until 5:30 P.M., but that didn’t help me because I usually didn’t go out to dinner until after 7 P.M., and then often returned to work another couple of hours. The alarm became a major annoyance because it made me walk significantly out of my way a few times every day.
Every once in a while someone forgot that the alarm was there and would walk out the door anyway. The alarm produced a head-splitting wail, destroying any chance of concentration until a security guard arrived to disarm it, which sometimes took more than 10 minutes.
I complained about the alarm every way I knew how, but to no avail. About one quarter of the software team worked late, and the alarm was unnecessary while we were there, so I begged the facilities supervisor not to turn it on until after midnight. I even suggested we arm it ourselves when the last person left. But my pleas fell on deaf ears.
Every couple of months, Bud Tribble came down from Seattle and visited us. We’d show him the latest work we were doing so he could make his great suggestions. Late one afternoon he showed up in the software area, and the team (including Bill Atkinson and Steve Jobs) gathered around to demo new software for him.
Bill had done some neat hi-resolution scans with an improved dithering algorithm, and he wanted to show them to Bud. They were on his hard disk in the Lisa building, so he ran out the back door to get it. It was after 5:30 P.M., so the alarm went off, and a horrible, loud, pulsating noise filled the room.
It went on for at least three minutes before Steve yelled out, “Can’t someone figure out how to stop that thing?”
I saw a chance to vanquish my nemesis. “Are we allowed to damage it to get it to stop?” I asked him.
“Yes, do anything you want. I don’t care if you break it,” he replied, holding his hands over his ears. “Just get the damn thing to stop!”
Bruce Horn and I ran over to the nearby hardware lab and picked up every tool we could find. I got a hammer and screwdriver and proceeded to pound the screwdriver into the center of the alarm, driving a stake through the demon’s heart. The screwdriver went all the way through to the other side, but the alarm kept sounding.
Finally, Bruce took over and gave the screwdriver a mighty twist, and the whole thing flew apart into a half-dozen pieces and fell to the ground. The horrible noise finally stopped.
At that very moment, a grizzled security guard entered the back door just in time to see us cheering as the wrecked alarm finally gave up the ghost. He looked at us, our tools of destruction still in our guilty hands, and said, “You guys are in big trouble!!! Who’s in charge here? You better show me your badge.”
Steve stepped forward and handed the guard his badge. “I’ll take responsibility for this,” he told him.
The guard scrutinized Steve’s badge. He looked at Steve, then back at the badge a few times. Finally, he shrugged his shoulders, picked up the pieces of the broken alarm, and walked away without saying another word.
We were gleeful the alarm was gone, but exactly one week later, a new one was put in its place—and it stayed there until we moved to Bandley 3 a few months later. I’m not sure why, but not even Steve could get them to set it for a later time.
“Can’t someone figure out how to stop that thing?”
Five Different Macintoshes
Burrell actually designed five different Macintoshes
The awesomely creative design of the Macintosh digital board was always the seed crystal of brilliance at the core of the project, but there wasn’t just one design. Burrell redesigned the digital board four different times during development and finally arrived at the shipping design in the fall of 1982.
The first Macintosh digital board, designed in late 1979, was based on Jef Raskin’s specifications: it had a Motorola 6809E microprocessor, 64K of memory, and a 256 × 256 black-and-white, bitmapped graphics display. Even in this first design, Burrell was using his trademark “PAL” chips, which were small, programmable logic arrays, to provide all the system glue and give the system a very low chip count.
The first Macintosh was a cute little computer, but it was fundamentally limited by the 16 bits of address space on the 6809 microprocessor. In the meantime, Bill Atkinson was doing incredible work on the Lisa project using Motorola’s 68000 microprocessor, with its capacious 32-bit registers and 24-bit address space. Bud Tribble, the Mac’s only software person, was living at Bill’s house and watching the extraordinary progress on Lisa’s graphics package. He began to wonder if it was possible for the Macintosh to use the 68000 so it could run Bill’s graphics routines.
Bud began asking Burrell if it was feasible to include the 68000 in a low-cost design. The 68000 was expensive enough on its own, but its 16-bit memory bus required twice as many RAM chips as the 6809, so the overall cost was significantly higher. But Burrell thought about the problem and came up with a characteristically brilliant idea for his second Macintosh design.
The idea was what Burrell called a “bus transformer” circuit, built out of PAL chips, which adapted the 68000 to an 8-bit memory bus by exploiting the fast “page mode” access mode of the RAMs. The new Macintosh, designed over the Christmas break at the end of 1980, featured an 8-MHz 68000, 64K of RAM, and a 384 × 256 bitmapped display. It was 60 percent faster than the Lisa (which used a 5-MHz 68000) but was a lot less expensive.
When Steve Jobs caught wind of what Burrell had come up with—an Apple II-priced machine that blew away the Lisa, he became really excited. He immediately saw that Burrell’s machine could become the future of Apple. Steve’s attention was, however, the beginning of the end for Jef. Jef despised parts of Steve’s personality and couldn’t put up with Steve’s courting of Burrell and Bud. Steve took over the project in January 1981, and the Macintosh entered the post-Jef era. It was now on track to becoming a real product.
Burrell came up with a third Macintosh design in June 1981. The main reason for a new design was that he had fallen in love with a communications chip called the SCC. The SCC could support a built-in local area network, making AppleTalk possible with no additional hardware, as well as providing nice buffered serial ports with interrupts and other hardware features. At this point it was becoming obvious we needed at least 128K of memory to support the user interface, so he also added a second row of RAM chips.
Around the end of 1981, Burrell met some engineers who were doing custom LSI chips. LSI chips were very flexible and powerful, but time consuming to design, because the software tools for chip design were still in their infancy. Burrell decided he wanted to take a shot at building the Macintosh around a single custom chip and convinced Steve he could pull it off. Instead of sitting around doing nothing while the software team finished the product, he would work with a couple of experienced LSI designers and redesign the Mac around what he called the “Integrated Burrell Machine.”
It was so named because earlier in the year, Wendell Sander, the designer of the Apple III and one of Apple’s best engineers, put together a small custom chip that crammed all the functionality of Woz’s disk controller into a single chip. It was called the “IWM” chip, which stood for the “Integrated Woz Machine” or the “Integrated Wendell Machine.” Burrell relished the potential confusion his new “Integrated Burrell Machine” might cause.
The original 68000 design was more than a year old by the beginning of 1982. The software was still nowhere near finished and Burrell was afraid some of the trade-offs of the original design were no longer current. He used the expansive canvas of a custom chip, where additional logic was almost free, to update the architecture. The most important decision was admitting that the software would never fit into 64K of memory, utilizing a full 16-bit memory bus, and requiring 16 RAM chips instead of 8. The extra memory bandwidth allowed him to double the
display resolution from 384 × 256 to 512 × 342. He also added bells and whistles, such as a fancy DMA-fed sound generator with four independent voices. This was the fourth version of the Macintosh design.
But Burrell had never worked on a custom chip before. He was counting on experts like Doug Fairbairn and Martin Haeberli, who had successfully created a custom chip for an optical mouse, working with our partner VLSI Design. But they had never really worked against commercial deadlines, and a lot of tension began to build as the schedule started to slip.
Eventually, after the first silicon from an early version didn’t work as expected, Burrell became frustrated and decided it was too risky to continue. He realized he could do a design with PALs that achieved most of the gains from the Integrated Burrell Machine without needing the custom chip. So, in August 1982, he quickly designed the fifth iteration of the Macintosh that adapted his earlier PAL-based design to one that had a 16-bit memory bus with a 512 × 342 display and some other features invented for the custom chip, such as sophisticated sound generation.
The August 1982 design was essentially the same as the one that finally shipped in January 1984, after one more minor revision in May 1983 when another PAL was added to support the disk drive. Burrell’s digital board iterations are analogous to the sequence of Polaroids in “Busy Being Born,” illustrating how the shipping product is only the tip of the iceberg of design effort required to create a breakthrough product such as the original Macintosh.
Boot Beep
September 1982
How the boot sound evolved
When you powered up an Apple II, it made a short beep sound to let you know it was alive. We thought the Mac should do something similar, sort of like an infant’s first cry, to let the world know it actually made it.
The 1981 Macintosh only had a square wave sound generator, and the software controlled the frequency by loading a value into the VIA’s timer. (The VIA was an I/O chip on the digital board; VIA stood for “Versatile Interface Adapter.”) I wrote a boot sound routine that gradually incremented the frequency at an accelerating pace so it had a whooping quality that was almost humorous. People generally liked it, but we knew we’d have to do something better for the real product.