December 21, 2004
Yet More Intellectual Property Weirdness
I wonder if this is completely true?
Pacific Tech's Graphing Calculator has a long history. I began the work in 1985 while in school. That became Milo, and later became part of FrameMaker. Over the last twenty years, many people have contributed to it. Graphing Calculator 1.0, which Apple bundled with the original PowerPC computers, originated under unique circumstances.
I used to be a contractor for Apple, working on a secret project. Unfortunately, the computer we were building never saw the light of day. The project was so plagued by politics and ego that when the engineers requested technical oversight, our manager hired a psychologist instead. In August 1993, the project was canceled. A year of my work evaporated, my contract ended, and I was unemployed.
I was frustrated by all the wasted effort, so I decided to uncancel my small part of the project. I had been paid to do a job, and I wanted to finish it. My electronic badge still opened Apple's doors, so I just kept showing up.
I had many sympathizers. Apple's engineers thought what I was doing was cool. Whenever I gave demos, my colleagues said, "I wish I'd had that when I was in school." Those working on Apple's project to change the microprocessor in its computers to the IBM PowerPC were especially supportive. They thought my software would show off the speed of their new machine. None of them was able to hire me, however, so I worked unofficially, in classic "skunkworks" fashion...
I knew nothing about the PowerPC and had no idea how to modify my software to run on it. One August night, after dinner, two guys showed up to announce that they would camp out in my office until the modification was done. The three of us spent the next six hours editing fifty thousand lines of code. The work was delicate surgery requiring arcane knowledge of the MacOS, the PowerPC, and my own software. It would have taken weeks for any one of us working alone.
At 1:00 a.m., we trekked to an office that had a PowerPC prototype. We looked at each other, took a deep breath, and launched the application. The monitor burst into flames. We calmly carried it outside to avoid setting off smoke detectors, plugged in another monitor, and tried again. The software hadn't caused the fire; the monitor had just chosen that moment to malfunction. The software ran over fifty times faster than it had run on the old microprocessor. We played with it for a while and agreed, "This doesn't suck" (high praise in Apple lingo). We had an impressive demo, but it would take months of hard work to turn it into a product.
I asked my friend Greg Robbins to help me. His contract in another division at Apple had just ended, so he told his manager that he would start reporting to me. She didn't ask who I was and let him keep his office and badge. In turn, I told people that I was reporting to him. Since that left no managers in the loop, we had no meetings and could be extremely productive. We worked twelve hours a day, seven days a week. Greg had unlimited energy and a perfectionist's attention to detail. He usually stayed behind closed doors programming all day, while I spent much of my time talking with other engineers. Since I had asked him to help as a personal favor, I had to keep pace with him. Thanks to an uncurtained east-facing window in my bedroom, I woke with the dawn and usually arrived ten minutes before Greg did. He would think I had been working for hours and feel obliged to work late to stay on par. I in turn felt obliged to stay as late as he did. This feedback loop created an ever-increasing spiral of productivity.
People around the Apple campus saw us all the time and assumed we belonged. Few asked who we were or what we were doing.When someone did ask me, I never lied, but relied on the power of corporate apathy. The conversations usually went like this:
Q: Do you work here? A: No. Q: You mean you're a contractor? A: Actually, no. Q: But then who's paying you? A: No one. Q: How do you live? A: I live simply. Q: (Incredulously) What are you doing here?!
At that point I'd give a demo and explain that the project had been canceled but that I was staying to finish it anyway. Since I had neither a mortgage nor a family, I could afford to live off savings. Most engineers at Apple had been through many canceled projects and completely understood my motivation.
Apple at that time had a strong tradition of skunkworks projects, in which engineers continued to work on canceled projects in hopes of producing demos that would inspire management to revive them. On occasion, they succeeded. One project, appropriately code-named Spectre, was canceled and restarted no fewer than five times. Engineers worked after hours on their skunkworks, in addition to working full time on their assigned projects. Greg and I, as nonemployees who had no daytime responsibilities, were merely extending this tradition to the next level.
In September, Apple Facilities tried to move people into our officially empty offices. They noticed us. The Facilities woman assumed that I had merely changed projects and had not yet moved to my new group, something that happened all the time. She asked what group I worked in, since it would be that group's responsibility to find me space. When I told her the truth, she was not amused. She called Security, had them cancel our badges, and told us in no uncertain terms to leave the premises.
We were saved by the layoffs that began that month. Twenty percent of Apple's fifteen thousand workers lost their jobs, but Greg and I were safe because we weren't on the books in the first place and didn't officially exist. Afterwards, there were plenty of empty offices. We found two and started sneaking into the building every day, waiting out in front for real employees to arrive and casually tailgating them through the door. Lots of people knew us and no one asked questions, since we wore our old badges as decoys.
We were making great progress, but we couldn't get it done alone. Creating sophisticated software requires a team effort. One person can use smoke and mirrors to make a demo that dazzles an audience. But shipping that to a million customers will expose its flaws and leave everyone looking bad. It is a cliche in our business that the first 90 percent of the work is easy, the second 90 percent wears you down, and the last 90 percent - the attention to detail - makes a good product. Making software that is simultaneously easy to learn, easy to use, friendly, useful, and powerful takes people with an incredible combination of skills, talent, and artistry working together with intensity and patience. Greg and I could do the core engineering, but that was a far cry from creating a finished product.
Among other things, we needed professional quality assurance (QA), the difficult and time-consuming testing that would show us the design flaws and implementation bugs we couldn't see in our own work. Out of nowhere, two QA guys we had never met approached us, having heard about our venture through the rumor mill. (We had become a kind of underground cause célèbre.) Their day job, QA-ing system software, was mind-numbingly boring. They volunteered to help us, saying, "Let's not tell our boss about this, OK?" One guy had a Ph.D. in mathematics; the other had previously written mathematical software himself. They were a godsend. They started right away.
Next, we needed help writing software to draw the three-dimensional images that our software produced. A friend with expertise in this area took a weekend off from his startup company to write all of this software. He did in two days what would have taken me a month.
My skunkworks project was beginning to look real with help from these professionals as well as others in graphic design, documentation, programming, mathematics, and user interface. The secret to programming is not intelligence, though of course that helps. It is not hard work or experience, though they help, too. The secret to programming is having smart friends.
There was one last pressing question: How could we get this thing included with the system software when the new machines shipped? The thought that we might fail to do this terrified me far more than the possibility of criminal prosecution for trespass. All the sweat that Greg and I had put in, all the clandestine aid from the friends, acquaintances, and strangers on whom I had shamelessly imposed, all the donations of time, expertise, hardware, soft drinks, and junk food would be wasted.
Once again, my sanity was saved by the kindness of a stranger. At 2:00 one morning, a visitor appeared in my office: the engineer responsible for making the PowerPC system disk master. He explained things this way: "Apple is a hardware company. There are factories far away building Apple computers. One of the final steps of their assembly line is to copy all of the system software from the 'Golden Master' hard disk onto each computer's hard disk. I create the Golden Master and FedEx it to the manufacturing plant. In a very real and pragmatic sense, I decide what software does and does not ship." He told me that if I gave him our software the day before the production run began, it could appear on the Golden Master disk. Then, before anyone realized it was there, thirty thousand units with our software on the disks would be boxed in a warehouse. (In retrospect, he may have been joking. But we didn't know that, so it allowed us to move forward with confidence.)
Once we had a plausible way to ship, Apple became the ideal work environment. Every engineer we knew was willing to help us. We got resources that would never have been available to us had we been on the payroll. For example, at that time only about two hundred PowerPC chips existed in the world. Most of those at Apple were being used by the hardware design engineers. Only a few dozen coveted PowerPC machines were even available in System Software for people working on the operating system. We had two. Engineers would come to our offices at midnight and practically slip machines under the door. One said, "Officially, this machine doesn't exist, you didn't get it from me, and I don't know you. Make sure it doesn't leave the building."
In October, when we thought we were almost finished, engineers who had been helping us had me demonstrate our software to their managers. A dozen people packed into my office. I didn't expect their support, but I felt obliged to make a good-faith effort to go through their official channels. I gave a twenty-minute demonstration, eliciting "oohs" and "ahhs." Afterward, they asked, "Who do you report to? What group are you in? Why haven't we seen this earlier?" I explained that I had been sneaking into the building and that the project didn't exist. They laughed, until they realized I was serious. Then they told me, "Don't repeat this story."
Then things got really weird. The QA manager assigned people to test our product. (I didn't tell him that those people were already working on it.) The localization group assigned people to translate it into twenty languages. The human interface group ran a formal usability study. I was at the center of a whirlwind of activity. Nevertheless, Greg and I still had to sneak into the building. The people in charge of the PowerPC project, upon which the company's future depended, couldn't get us badges without a purchase order. They couldn't get a purchase order without a signed contract. They couldn't get a contract without approval from Legal, and if Legal heard the truth, we'd be escorted out of the building.
The director of PowerPC software was an academic on leave from Dartmouth. The director of PowerPC marketing was the son of a math teacher. Seeing the value of putting this educational software on every Macintosh in every school, they promptly adopted us.
Greg was lurking outside one day, trying to act casual, when another engineer accosted him and said, "I'm sick and tired of you guys loitering in front of the building every day!" Later he phoned the appropriate bureaucrats on our behalf. I listened to his side of the conversation for twenty minutes: "No, there is no PO, because we're not paying them. No, there is no contract, because they are not contractors. No, they are not employees; we have no intention of hiring them. Yes, they must have building access because they are shipping code on our box. No, we don't have a PO number. There is no PO, because we're not paying them." Finally, he wore them down. They said to use the standard form to apply for badges, but to cross out Contractor and write in Vendor. Where it asked for a PO number, we were to use the magic words "No dollar contract." We got badges the next day. They were orange Vendor badges, the same kind the people working in the cafeteria, watering the plants, and fixing the photocopy machines had.
Official recognition made life exciting. Suddenly even more people became enthusiastically involved. When formal usability testing with students and teachers began, we discovered, again, that we were far from being done.
I had long been proud of the elegance and simplicity of our design. I wanted our program to ship with every Macintosh, so I had designed it for all users, even those who know little about computers and hate math. I wanted to make mathematics as easy and enjoyable as playing a game. In a classroom, any time spent frustrated with the computer is time taken away from teaching. Sitting behind a two-way mirror, watching first-time users struggle with our software, reminded me that programmers are the least qualified people to design software for novices. Humbled after five days of this, Greg and I went back and painstakingly added feedback to the software, as if we were standing next to users, explaining it ourselves.
Our recognition made life interesting in other ways since we could no longer remain a well kept secret. After a demo to outside developers, one person called Apple claiming that we infringed his patent, causing a fire drill until I could show prior art. Another company, the makers of Mathematica™, simply demanded that our product be pulled. Apple very politely declined. One week we were evading security, the next week Apple is rising to our defense.
By November, we were in full crunch mode, working sixteen hours a day, seven days a week, and feeling the pressure. The home stretch was a blur - wake up, grab a bagel, eat it while driving, work till we drop, sleep, repeat. If this story were a movie, you would now see the clock hand spinning and the calendar pages blowing away in the wind.
We finished in January 1994. Graphing Calculator has been part of the Macintosh ever since. Teachers around the world use it as an animated blackboard to illustrate abstract concepts visually. It shipped on more than twenty million machines. It never officially existed.
Why did Greg and I do something so ludicrous as sneaking into an eight-billion-dollar corporation to do volunteer work? Apple was having financial troubles then, so we joked that we were volunteering for a nonprofit organization. In reality, our motivation was complex. Partly, the PowerPC was an awesome machine, and we wanted to show off what could be done with it; in the Spinal Tap idiom, we said, "OK, this one goes to eleven." Partly, we were thinking of the storytelling value. Partly, it was a macho computer guy thing - we had never shipped a million copies of software before. Mostly, Greg and I felt that creating quality educational software was a public service. We were doing it to help kids learn math. Public schools are too poor to buy software, so the most effective way to deliver it is to install it at the factory.
Beyond this lies another set of questions, both psychological and political. Was I doing this out of bitterness that my project had been canceled? Was I subversively coopting the resources of a multinational corporation for my own ends? Or was I naive, manipulated by the system into working incredibly hard for its benefit? Was I a loose cannon, driven by arrogance and ego, or was I just devoted to furthering the cause of education?
I view the events as an experiment in subverting power structures. I had none of the traditional power over others that is inherent to the structure of corporations and bureaucracies. I had neither budget nor headcount. I answered to no one, and no one had to do anything I asked. Dozens of people collaborated spontaneously, motivated by loyalty, friendship, or the love of craftsmanship. We were hackers, creating something for the sheer joy of making it work.
After six months of grueling unpaid labor, Greg couldn't explain to his parents what he had done. They didn't use computers, and the only periodical they read was the New York Times. So as the project was winding down, I asked Greg if he wanted his photo in the Times so his parents would know what he was up to. He gave the only possible response: "Yeah, right." We made a bet for dinner at Le Mouton Noir, a fine French restaurant in Saratoga. To be honest, I expected to lose, but I made a phone call. Greg doesn't bet against me any more: On March 11, 1994, the front page of the Times business section contained an article on the alliance among Apple, IBM, and Motorola, picturing Greg and me in my front yard with a view of the Santa Cruz Mountains. Someone I knew in Apple Public Relations was livid. I had asked if she wanted to send someone for the interview, but she had said that engineers are not allowed to talk with the press. It's hard to enforce that kind of thing with people who can't be fired. It was positive press for Apple, though, and our parents were pleased.
We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security.
Postscript: After the events described, we made everything retroactively legitimate by licensing the software to Apple for distribution. Pacific Tech started a few years later, and continued to develop Graphing Calculator, both in new free versions that Apple bundled with Mac OS 8 and Mac OS 9, and commercial releases. Visit http://www.PacificT.com/FreeStuff.html to download the software.
Copyright © 2004 Ron Avitzur.
Posted by DeLong at December 21, 2004 07:14 PM
TrackBack URL for this entry:
Listed below are links to weblogs that reference Yet More Intellectual Property Weirdness:
» A Very Cool Story from Division of Labour
Via Brad DeLong: The Graphing Calculator Story Pacific Tech's Graphing Calculator has a long history. I began the work in 1985 while in school. That became Milo, and later became part of FrameMaker. Over the last twenty years, many people... [Read More]
Tracked on December 22, 2004 09:44 AM
» fun stuff from ubiquit.us blog
Still got a lot of links on the screen, but you can only cut-and-paste for so long... All of these links are totally worth clicking • The Credit Card Prank: Credit card signatures are a useless mechanism designed to make you feel safe, like airp...[Read More]
Tracked on December 23, 2004 10:23 AM
Prof. DeLong, the return of your full-text RSS feed would be greatly appreciated...
Posted by: Luke Francl at December 21, 2004 07:52 PM
Amazing story. Can you imagine an Errol Morris documentary on this ?
Posted by: ch2 at December 21, 2004 08:00 PM
An atom.xml feed would be greatly appreciated.
Posted by: Hal at December 21, 2004 08:08 PM
1. the Graphing Calculator story is priceless.
2. this most recent time you've upgraded Movable Type, it broke the appearance of the RSS feed in aggregators such as Bloglines.com. If you don't use Bloglines yourself, please please get an account anyway just to sanity-check your own feed when crisis strikes.
2a. I've noticed that fulltext (rather than a truncated preview) and preservation of formatting both make it far more likely that I'll actually read a blog, rather than just glancing at it in Bloglines, feeling my eyes glaze over, and going on to the next feed. And I really don't want to give up your blog; it's too informative. Sigh....
Posted by: ctate at December 21, 2004 08:17 PM
Thank you. This is an amazing story.
It's true, that it's not work when you love what you are doing.
Posted by: meade at December 21, 2004 09:25 PM
Thanks Brad, rss is nicely formatted now. Such service!
Posted by: Hal at December 21, 2004 10:02 PM
"I wonder if this is completely true?"
A few touches - the monitor bursting into flames - and the tone sound all wrong. I'd guess, "no".
Posted by: luci phyrr at December 21, 2004 11:39 PM
Actually, the monitor bursting into flames sounds about right. Shit like that happens sometimes.
Perhaps the account is somewhat embellished. Large parts of it could be true.
Posted by: bad Jim at December 22, 2004 01:02 AM
Is it true?
It's a classic computer evangelist tale.
And also a programmer's tale - many people have, indeed, taken it upon themselves to keep working on their creations even when the project was canned. Most just wound through a few weeks of agonizing shock, denial, anger, and finally weary acceptance, using the creative process as a form of self-administered psychotherapy to try to make whole a shattered creative dream.
Fishy part - a programmer rising at dawn? I don't know Apple's culture very well, but most programmers on a project like this would be going to sleep at dawn. Stranger things have happened, though.
Posted by: Charlie at December 22, 2004 01:45 AM
I want to believe, and I so I think the story was written in all sincerity, with possibly a bit of poetic license. But I am hard pressed to believe that months of 7 day weeks of 12 hour days was an "ever-increasing spiral of productivity."
Posted by: ArC at December 22, 2004 02:24 AM
Hey, it's Christmas-time. Like Natalie Wood in "Miracle on 34th Street": "I believe, I believe. I know it's silly, but I believe."
Posted by: joe at December 22, 2004 05:35 AM
[Another comment spam makes it through...]
Posted by: at December 22, 2004 07:16 AM
A couple years ago, I read "Fire in the Valley: The Making of the Personal Computer." I can't vouch for its writing style, which is dense the way only histories of obscure topics can be... but this story certainly reflects some of the dedication, lack of concern for profit, and general fun that many engineers and SW designers had at the time. With the usual caveats of good story-telling, I suspect it's true.
I wonder if stories like this exist now, and if so, in which industries or product classes?
Posted by: Mick at December 22, 2004 08:05 AM
This is a technical emergency plea, not a comment... (And -- apologies to other readers -- I didn't know where else to put this.)
From the other comments, it looks like this site is still working for most people, but it sure isn't working for me. (And so I wonder if there are others who have the problem who have just given up...?)
Since you changed the format, when I open the blog I get one line on each screen. That is, there's a looooooooooong space between each line you have posted.
I have not had this happen with any other blog. So it's something about your interface with my Mac OS X...
I hope for your sake it is just me. But if it's not, you are probably losing people. I had been trying to read the blog everyday as part of my job, but this makes it unusable.
Michael E. Kanell
National Economics Writer
Posted by: Michael at December 22, 2004 08:14 AM
Yeah, it has the ring of truth to me. Anyone who has done something roughly along the same lines, and I have, can see the tell tales. Obsession and the kindness of strangers make it real, not bogus.
If he had said that things got really better when management showed up, nahh. I had a demo fry 3 straight power supplies on just out of the box CP/M machines in the early '80s. So the incendiary monitor rings true to me.
I had the privilege of a 30 minute chat, one on one, with Grace Murray Hopper back in the day, Google her if the name doesn't ring a bell. I have a handful of nanoseconds in the desk drawer in front of me from that conversation. One of her recurring themes was 'it is far easier to ask for forgiveness than for permission.' This is another object lesson in this principle and Grace would have loved the story.
Posted by: Nat at December 22, 2004 08:38 AM
I echo Michael Kanell.
Posted by: Jim Garland at December 22, 2004 08:44 AM
I build software for a large US computer company. The details of the Mac Graphing Calculator story feel a bit over the top (monitors bursting into flame) but the theme of the story -- that useful, good and even lucrative software is frequently created in spite of the business process -- resonates with me.
The language we use is that software isn't actually released. It escapes.
Posted by: Paul G. Brown at December 22, 2004 09:39 AM
>.Actually, the monitor bursting into flames sounds about right.
To me, too. In fact, I personally would have taken it as an encouraging sign!
You see, I always think I must be doing the right thing if the Great Genie of Murphy's Law has become desparate enough to resort to that kind of garbage.
Posted by: a different chris at December 22, 2004 09:46 AM
Yes, it's true -- and the developer still releases software at http://www.pacifict.com/Home.html.
Actually, this sort of thing, though certainly at the extreme edge of behavior, wasn't uncommon at Apple during the Bad Old Days, which combined an incompetent and unwieldy bureaucracy with brilliant but impractical engineers. The two sides generally spent their days trying to outmaneuver each other, which resulted in either brilliant failures or mediocre successes.
As for the monitor exploding, well, hardware does like to wait for opportune times to fail. Anyone remember the exploding PowerBook 5300?
Posted by: WatchfulBabbler at December 22, 2004 09:47 AM
"I've seen things you people wouldn't believe... Sun monitors on fire off the side of the multimedia lab. I've seen NTU lights glitter in the dark near the Mail Gate. All these things will be lost in time — like the root partition last week. Time to die..."
-- Peter Gutmann
Posted by: Anon at December 22, 2004 10:34 AM
Why is it considered some sort of amazing news that individuals, unencumbered by corporate BS, produce great software for free? My god, haven't you people heard of Linux or Apache or GNU or ...?
In further tales of the obvious, we bring you the heartwarming story of someone who had a toothache, went to the dentist, and had it fixed.
Posted by: Maynard Handley at December 22, 2004 05:36 PM