- Home
- Hertzfeld, Andy
Revolution in The Valley [Paperback] Page 11
Revolution in The Valley [Paperback] Read online
Page 11
The image of Bruce and Bob duking it out was ludicrous. Bruce was at least 8 inches taller than Bob and probably more than 60 pounds heavier. Bruce’s father was an ex-professional football player before he became a doctor, and Bruce was built the same way. I tried to calm him down and told him I would help him get this resolved. The next morning I went to Bob Belleville’s office as soon as I arrived at work.
“I don’t get it,” he complained to me. “This computer will be obsolete in a year, and then there will be another one, and another one after that. What’s so special about this one?”
“Good. I’m glad you’re here,” Bob greeted me. “I need to talk to you about Bruce Horn.”
“Yes, that’s what I want to talk about,” I responded. “Bruce told me about the conversation you had last night.”
“Well, it’s not a problem anymore,” Bob said, flashing a cryptic smile.
“Why not?” I asked. Something didn’t sound right to me.
“I decided to fire him. He doesn’t respect authority enough to work on this team.”
Now it was my turn to get upset. “You can’t fire Bruce!” I said, stating something that I thought was obvious. “He’s doing really important work for us, and losing him would set us back months.”
“Keeping him will set us back even more, because he’s a trouble maker, and he’ll cause more trouble in the future.”
But I was adamant, defending Bruce until Bob got frustrated with me. “Well, Andy, I am very disappointed in you. I thought you had more sense than that.” I walked out of his office not knowing what was going to happen.
Later that day, when Steve Jobs came by for his usual early evening visit, I told him what had transpired and repeated how bad it would be if we lost Bruce. I don’t know what Steve eventually said to Bob, but he apparently dropped his plan to fire Bruce since he never mentioned it again. But I never thought of Bob the same way after that, and I think that was when he started to have problems with me as well.
Alice
June 1982
The Macintosh’s first great game
Even though Bruce Daniels was the manager of the Lisa software team, he was very supportive of the Mac project. He had written the mouse-based text editor we were using on the Lisa to write all of our code, and he even transferred to the Mac team as a mere programmer for a short while in the fall of 1981, before deciding he preferred managing for Lisa. He would sometimes visit us to see what was new, but this time he had something exciting to show us.
“You’ve got to see the new game Steve Capps wrote,” he told me while he was connecting his hard drive to my Lisa. He booted up into the Lisa Monitor development system, which featured a character-based UI similar to UCSD Pascal, and launched a program named “Alice.” Steve Capps, who started at Apple in September 1981, was the second member of the Lisa printing team. I had seen him around but not met him yet.
The screen turned black and then, after a few seconds delay, a three-dimensional chessboard in exaggerated perspective filled most of the screen. On the rear side of the board was a set of small white chess pieces arranged in their standard positions. Suddenly, pieces started jumping in long, slow parabolic arcs, growing larger as they got closer.
Soon there was one specimen of each type of piece, all rather humanoid looking except for the tower-like rook, lined up on the front rank of the board, waiting for the player to click on one to start the game. The player was able to move like the piece they chose, so it was prudent to click on the queen, at least at first.
The pieces jumped back to their natural positions on the far side of the board and an image of a young girl in an old fashioned dress floated down to the front row. It was Alice from Lewis Carroll’s Alice in Wonderland and Through the Looking Glass, drawn in the style of the classic John Tenniel illustrations. The player controlled Alice and viewed the board from her perspective, facing away from the player so you saw her from the rear only.
A three-digit score, rendered in a large, ornate Gothic font, appeared centered near the top of the screen, and then the game began in earnest with opposing chess pieces suddenly leaping into the air, one at a time, in rapid succession. If you stood in one place for too long, an enemy piece would leap onto Alice’s square, capturing her and ending the game.
It didn’t take long to figure out that if you clicked on a square that was a legal move, Alice would leap to it, so it wasn’t too hard to jump out of the way of an enemy piece. And, if you managed to leap onto the square of another piece before it could move out of the way, you knocked it out of action and were rewarded with some points. You won the game if Alice was the last one standing.
I was impressed at the prodigious creativity required to recast Through The Looking Glass as an action-packed video game that was beautiful to behold and fun to play. Alice was also addicting, although it took some practice to survive for more than a few minutes. Obviously, we needed to have it running on the Mac as soon as possible.
Bruce Daniels was pleased that we liked the game. “Capps could probably port Alice to the Mac,” he said, anticipating what we were thinking. “Do you think you could get him a prototype?”
Everyone agreed we should get Capps a Mac prototype right away. I accompanied Bruce Daniels back to the Lisa building (where the rules required that non-Lisa employees be escorted by a Lisa team member), and I finally got to meet Steve Capps, who seemed easygoing and friendly, with a self-deprecating sense of humor. Later that afternoon, he visited Texaco Towers, and I gave him the prototype and answered a few questions about the screen address and the development environment. He assured me Alice wouldn’t take long to port.
Two days later, Capps came over to present us with a floppy disk containing the newly ported Alice game, now running on the Macintosh. It ran even better on the Mac than the Lisa because the Mac’s faster processor enabled smoother animation. Pretty soon almost everybody on the software team was playing Alice for hours at a time.
I must have played hundreds of games of Alice over the next couple of weeks, but the most prolific and accomplished player was Joanna Hoffman, the Mac’s first marketing person. Joanna liked to come over to the software area toward the end of the day to see what was new, and she usually ended up playing Alice, for longer and longer periods. She had a natural talent for the game and enjoyed relieving work-related stress by knocking out the rival chess pieces. She complained about the game being too easy, so Capps obliged her by tweaking various parameters to keep it challenging for her, which was probably a mistake because the game became too hard for average players.
Steve Jobs didn’t play Alice very much, but he was duly impressed by the obvious programming skill it took to create it. “Who is this Capps guy? Why is he working on the Lisa?” he said as soon as he saw the program, mentioning Lisa with a hint of disdain. “We’ve got to get him onto the Mac team!”
But the Lisa was still months away from shipping and Capps was needed to finish the printing software, so Steve wasn’t able to finalize the transfer. One weekend Capps ran into Steve Jobs in Los Gatos and was told, “Don’t worry, the Mac team is going to nab you!” Finally, a compromise was reached that allowed Capps to transfer over in January 1983 after the first release of the Lisa was completed.
Capps quickly became a crucial member of the Mac team, adding fresh energy and talent as we entered the home stretch, helping to finish the Toolbox and the Finder, as well as working on other stuff like Guided Tour diskette. But he also found time to embellish Alice with more cool features.
One day he showed me Alice’s hidden Cheshire Cat menu, which allowed players to adjust various preferences. Alice didn’t have a menu bar, so it was part of the game to figure out how to invoke the preferences. It was accomplished by clicking on the score at the top of the screen, which caused a detailed, John Tenniel–inspired Cheshire Cat bitmap to slowly come into view. Clicking on different parts of the cat set various preferences. Capps also created an exquisite, tiny rendering of the Cheshir
e Cat to serve as Alice’s icon.
Over time, he added some interesting variations on the preferences, invoked by clicking on various parts of the Cheshire Cat. For example, one variation made some of the squares of the chessboard disappear at random, causing unlucky pieces to fall into oblivion. He also added a feature Woz suggested: as the cursor moved to the back of the board, its image got correspondingly smaller, adding to the illusion of depth.
By the fall of 1983, Capps started thinking about the best way to get Alice to market. One possibility was publishing it through Electronic Arts, which was founded a year earlier by Trip Hawkins, Lisa’s former marketing manager. But Steve Jobs thought the game at least partially belonged to Apple, and insisted that Apple be the publisher. He negotiated a modest deal with Capps, promising him Apple would do a deluxe job with the packaging and marketing.
Alice was announced at the launch and featured in the original brochure, but it didn’t become available until a couple of months later. True to Steve’s word, the packaging was beautiful. The game disk was enclosed in a small cardboard box designed to look like a finely printed, old-fashioned book, complete with an elaborate woodcut on the cover that contained a hidden Dead Kennedy’s logo, in tribute to one of Capp’s favorite bands. Since Alice didn’t take up the whole disk, Capps included a few other goodies with it, including a font and “Amazing,” a fascinating maze generating program he wrote.
When I saw the completed packaging, I was surprised to discover the game wasn’t called “Alice” anymore. Apparently that name was already trademarked for a database program. It was rechristened “Through The Looking Glass” for its commercial release.
Unfortunately, Apple never put the promised marketing effort into Alice. They were in a quandary because the market didn’t understand the graphical user interface as a productivity enhancement yet. Graphics meant games, so the Mac had to live down an initial reputation as being unsuitable for business tasks. Apple didn’t exactly want to promote a game for the Mac at the time, no matter how sensational, so Alice never reached as wide an audience as it deserved.
Do It
June 1982
User testing sometimes has surprising results
Many of the academic types involved in creating the earliest implementations of the graphical user interface at Xerox PARC and various universities sneered at the first generation of personal computers when they appeared in the mid-70s because they were much less powerful than the machines they were used to programming. There wasn’t that much you could do with only four kilobytes of memory and no disk drive.
But Larry Tesler, who was a key member of the Smalltalk team in the Learning Research Group at Xerox PARC, felt differently. He was really excited by the potential of personal computers and bought a Commodore PET as soon as one became available in 1977. He was one of the demonstrators at Apple’s famous Xerox PARC visit in December 1979, and he was so impressed by the Apple visitors that he quit PARC and started working at Apple on July 17, 1980, as the manager of the Lisa Applications team.
Larry championed consistency between applications, and made many contributions to what eventually became the Macintosh User Interface. He was also the leading advocate and implementer at Apple of user testing, of actually trying our software out on real users to see what happened. Starting in the summer of 1981, Larry organized a series of user tests of the nascent Lisa software by recruiting friends and family to try out new software while being observed by the Apple designers who recorded their reactions.
The user tests were conducted in a specially constructed room featuring a one-way mirror so observers could watch the tests without being intrusive. A moderator conducted the tests and made sure users felt comfortable and knew the basics of using a mouse. Then, with no further instruction, users were asked to perform specific tasks, without help from the moderator, such as editing and saving text. The moderator encouraged each user to mumble under their breath while doing the tasks, revealing their current thinking as much as possible. Each session was audio- or videotaped for later analysis.
When the software required confirmation from the user, it displayed a small dialog box that contained a question, followed by two buttons for positive or negative confirmation. The buttons were labeled Do It and Cancel. The designers observed that a few users seemed to stumble at the point the dialog was displayed and clicked Cancel when they should have clicked Do It, but it wasn’t clear what they were having trouble with.
Finally, the team noticed one user was particularly flummoxed by the dialog box and seemed to be getting a bit angry. The moderator interrupted the test and asked him what the problem was. He replied, “I’m not a dolt. Why is the software calling me a dolt?”
It turns out he wasn’t noticing the space between the “o” and the “I” in “Do It” (In the sans-serif system font we were using, a capital “I” looked very much like a lower case “l”) so he was reading “Do It” as “Dolt” and was offended.
After a bit of consideration, we switched the positive confirmation button label to “OK”—which was initially avoided because we thought it was too colloquial—and from that point on people had fewer problems.
Inside Macintosh
June 1982
Developer documentation was crucial to our success
One of the main differences between the Lisa and Macintosh projects was the way they viewed third-party developers. The Lisa team was writing an integrated suite of seven office-oriented applications internally and didn’t see a need to support third-party developers at first, although they planned to eventually.
The Macintosh, inspired by the Apple II, took a different approach. The Apple II’s sales had increased more than ten-fold after a tiny company named Software Arts released the first spreadsheet, VisiCalc, which initially ran only on the Apple II. We wanted all the people who resonated with our Macintosh dream to be able to extend it with their own creativity, so having first-class support for third-party developers was considered a must from the very beginning.
But that was easier said than done. The Lisa team’s stance was quite reasonable because consistency between applications was very important to Apple. There were virtually no third-party developers who were familiar with a graphical user interface, so we had to educate them about a whole new approach to programming. In those days, every application provided its own unique user interface, and we weren’t sure it was even possible to coordinate independent developers to conform to our ideas about a consistent user interface.
In fact, in early 1982 our user interface was still evolving, and the team didn’t necessarily agree on the best way to do things, especially as new issues arose. It seemed as though the next logical step was to formally document and codify our user interface, to identify and resolve open issues, and communicate it to third-party developers.
One reason to move quickly on this was a looming meeting with our initial third-party developer, Microsoft (see “Shut Up!” on page 52), who was coming to pick up their first Macintosh prototypes and developer documentation around the end of January. We held a series of intense, all-day meetings in the second week of January 1982 to thrash out disagreements and formulate a shared view of the UI, metaphorically locking ourselves in a room until we came to consensus. The meetings were attended by Steve Jobs, Bill Atkinson, Joanna Hoffman, Chris Espinosa, Randy Wigginton (who had left Apple in September 1981, but agreed to write MacWrite for us as a semi-independent developer), and me.
The Lisa User Interface was our obvious starting point, but we had a desire to simplify things, and we tried to strip out anything that seemed too complex. Triple-click was easy to get rid of, for example, but it was hard to agree on the details of scroll bars. After two-and-a-half days, we thought we were more or less in agreement and decided Joanna should write up the current state of the design. She wrote the first draft of the Macintosh User Interface Guidelines in time for the Microsoft meeting the following week, where we presented it for the very first time.
Eventually, Chris Espinosa took over authorship of the guidelines, augmenting and amending them as necessary as development proceeded.
By April 1982, the first implementation of the User Interface Toolbox, which contained the code that implemented UI objects like windows, menus, buttons and scrollbars, was ready for the initial release to developers. Since most developers had never programmed a graphical user interface, it was very important to write high-quality developer documentation to explain the ins and outs of using the toolbox. Chris Espinosa had already written some excellent documentation for using QuickDraw, so we were off to a good start.
The initial “phone book” cover of Inside Macintosh
I met with Chris about the toolbox documentation and we decided to tackle the Window Manager first. He assigned a recently hired technical writer, a women in her mid-20s who will remain mercifully nameless in this story, to work with me to document the Window Manager API.
One afternoon, I sat down with the writer for a few hours with some printouts of the source code, and went over the Window Manager API with her in fine detail. I was a bit worried because I did most of the talking, and she didn’t ask any questions, but she promised to show me her first draft in just a few days.
A few days later, Chris Espinosa handed me a few pages of Window Manager documentation, with the caveat that it was a very early draft and I shouldn’t expect too much. But my heart sank as I began to read it. The actual Window Manager calls were accurately reproduced, as were the comments from the header file, but the descriptions of each call made no sense; it was clear she didn’t understand many of the underlying QuickDraw and Memory Manager concepts. Instead of asking for an explanation, she just made up whatever popped into her head.