Skunkworks At Apple -- The Graphing Calculator Story
avitzur writes with a link to the story behind the Macintosh Graphing Calculator. An excerpt from this strange account: "It's midnight. I've been working sixteen hours a day, seven days a week. I'm not being paid. In fact, my project was canceled six months ago, so I'm evading security, sneaking into Apple Computer's main offices in the heart of Silicon Valley, doing clandestine volunteer work for an eight-billion-dollar corporation."
I hope we don't hear from this person's significant other soon...
Something intruiging...
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
Wow. This story really really amazed me. It made me think of dedication. I can think of people *cough* EA employees *cough* that work those long hours, and that finish a project, but that's because they're forced to... I really wonder if this type of dedication for just the love of the work is existant anymore... I, for one, wish it was a lot more frequent.
- dshaw
"...but sadly, Microsoft has effective building security."
I hear you can use Internet Explorer and ActiveX to get around any Microsoft security...
This is guy put the "insane" in "insanely great"
You see? You see? Your stupid minds! Stupid! Stupid!
"The secret to programming is having smart friends." hahaha
The last line of the story:
We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security.
Too bad that security didn't translate to other areas...
Recently there have been a number of slashdot postings related to the conditions of working for EA (can't recall the exact URL, but summary best described as "slave-labour like"). I wonder what those folks think of this level of dedication?
On another note, it was a nice holiday feel-good read for the techno-geek developer. Also inspires me to finish the damn project that I am on right now so that I can "be home for Christmas".
Happy Holidays!
just a web application developer and instructor in Toronto, ON Canada
No meetings. No managers. No legal worries. Not having to kowtow to public relations or marketing. Shipping millions of copies of your software.
The only downside was not getting paid, but even that seemed to work out.
... my project was canceled six months ago, so I'm evading security, sneaking into Apple Computer's main offices in the heart of Silicon Valley ...
Good job, Steve will probably hear about this tomorrow and start firing people working security.
Now if they could only find someone that'd work night and day to invent the 2-button mouse they'd have it made.
Actually there is only one person preventing a multibutton mouse, unfortunately no one outranks him. He won't even allow a build-to-order option when you are ordering online.
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.
When they came for the communists, I said "He's next door. Take him away. Goddam commies."
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.
classic...
"My mother never saw the irony in calling me a son-of-a-bitch." - Jack Nicholson
Someone should write a novel about this.
You can't legally volunteer to help a for-profit corporation. And for IT staff, there is a minimum amount you have to pay them (well above minimum wage; don't worry).
-russ
p.s. R0ML says that this is why he couldn't get a carrier-grade accounting system turned into open source.
Don't piss off The Angry Economist
The story he describes occurred in the early 1990's, when Apple was beginning to hit its skids. Projects would be raised with a flurry of energy, then cancelled, and there was a general sense of chaos. That was either in the latter part of the John Sculley era or the beginnings of the Michael Spindler, which were NOT good years (eg., the failed Newton, the failed Copland system, and merger talks with Sun Microsystems, etc.) Scully, Spindler, and Amelio were all shoved out of their CEO positions due to unsatisfactory performance.
The problem with fairy tale workplaces are exactly that: They are fairy tales that don't last long in reality.
Great... People doing free work: Apple-1 Linux-Several Million
So what, its not like lots of people or hours translates to quality. Look at shareware in general, look at MS. There is only a very small core of people that have made Linux useful. Few people can read source code, fewer still can write working code at all, fewer still are able to write good code.
"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."
I really wish more programmers, engineers, and managers understood this.
>No, the graphing calculator doesn't come with OS X. :)
It is available for OS X now. You can download the free release from http://www.PacificT.com/FreeStuff.html (Well, at least you will be able to after the server recovers from the Slashdot Effect.
Does anyone remember the demo Ron gave at the World Wide Developer's Conference? Was it May 1993...?
Anyway, I remember it was supposed to be a lecture about pen computing, and Apple had Ron come out and show the equation solving interface of the proto-graphing calculator. He threw a bunch o' X and Ys on the screen with some sins and coss for good measure. "Now if you want to solve for X"... and he tapped an X, dragged it to one side of the equals sign, and the equation solved itself.
We were floored. There was this deep silence for a couple of millisenconds and then everyone broke out in thunderous applause. He did more tricks with the equation interface and people hooted and hollered. It was a geek wet dream. After he finished he got a standing ovation and there was a long line of people who wanted to shake his hand.
Good times.
Yep, the evil Steve Jobs personally drove up to my door in his Mercedes and threatened physical violence when I bought my Logitech mouse for my G5.
And I'm still suffering from the torture he inflicted when I dared to use the scrollwheel.
I can't imagine what he did to the Mac OS X engineers when he found they'd built full support for multiple buttons and into the OS, or the fact that all their iApps - iTunes, iPhoto - support full functional scrollwheel movements.
Hmm...
Or maybe's it's because Apple's QA people know that best way to have software designed to be easy to use is to not encourage them to use right-click kludges. It is impossible to use a Windows machine without a two button mouse and learning context menus. That is not true of Mac OS X.
Find the Calculator icon in the Finder, and select "Get Info" (or press Command-I after clicking on the calculator). In the plug-ins section, select the "Add" button, and in the resulting file dialog, browser your way to the Calculator -> Contents -> Resources. Select any/all of the *.calcview directories, and press "Choose". Presto -- open the Calculator and select the "View" menu item, and your new plug-in views will be available.
Now for the caveat. Ever since one of the 10.3 updates (10.3.3 maybe?), none of the plug-ins work anymore. But in the event they ever fix this, you now know how to activate different view modes.
I doubt that the graphing capability built into the calculator has anything to do with the Graphing Calculator application, as the one built into the regular Calculator is supposedly 2D only, whereas the Graphing Calculator supports 3D graphs as well.
Yaz.
The classic silicon valley hacker/enthusiast vs. big corporate culture. It says alot (in a positive note) on the type of people who worked there and helped these guys along.
I've worked in a big company like Apple in the past and with the right people this just shows how far someone can really go in the most ideal situation. (not really needing a job in the short term)
Good Job Ron!
The first rule of graphic calculator club...
100+ comments, and nobody's yet realized that this guy is Milton from Office Space?
"They fired him, but he doesn't know it. He just comes in every day and works."
(And despite Milton's, ah, interesting character traits, I find him the coolest character in the show; or perhaps it's because of them. So, I mean this in the most praiseworthy manner possible. Rock on!)
Apple has so much luster it isn't suprising that people would sneak in to work there for free. More interesting than the fact that they continued to work on company projects after being laid off was that they insisted on doing it in the Apple building rather than in their bedrooms. It doesn't matter what they're doing, just being a part of Apple culture gets people real excited. Not sure whether it's the counterculture, the kind of people Apple hires, or the management style of Steve Jobless. No other company motivates as many people to spend the rest of their lives working for free on its products as Apple.
Apple is so cool it has stalkers.
"Wow. Now THAT'S a lot of angry Indians." - Lt. Col. George Armstrong Custer
And why didn't Apple hire the guy after this dedication? I mean he proved that he not only had the dedication, but he also proved effective inter-department communication, team managment, "hiring" skills, and the ability to produce quality. If I were Apple I would have begged him to stay and given him a nice job -- if I didn't reward him financially for the project.
The views expressed are mine own and do not express the views of my employer.
We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security. Never thought I'd ever see "microsoft" and "effective security" in the same sentance
There is no replacement for displacement.
heh. If there are any PovRay developers reading this, send me an e-mail. I'd like to discuss this. It's on the big list of features for future releases. http://www.PacificT.com/TheList.html
Ok. Done.
I'm too lazy to figure out what my account is, so I guess I'm an anonymous coward, but I worked with Ron at the time, and still hang out with him. The story is true, and NuCalc/Graphing Calculator got started just as he describes. I even have the embroidered NuCalc shirt he gave me as a memento.
Now, should you see anything similar in some upcoming release of some unspecified operating system, check to see whether it's the real deal (Graphing Calculator from PacificT http://www.pacifict.com/Gallery.html), or something else.
There will always be an Apple Computer.
"Flyin' in just a sweet place,
Never been known to fail..."
This story is guaranteed to be very boring for 99% of readers, but it's probably my only chance to tell it where anybody might be remotely interested.
Back in the 80s I was part of an IT group in a manufacturing dept at Tektronix. Our software involved inventory control, tracking batches of work through assembly steps, that sort of thing. One of the computer operators asked if I could help him solve a problem for the stockroom people. Their job was to hand out parts to assembly workers, receive and store the finished subassemblies and hand them out for additional steps until they left the area as finished goods.
All movement of material was tracked by a giant MRP system on an IBM mainframe in another building. The IBM machine generated stacks of PUNCH CARDS which were delivered to our computer room and loaded into our VAX 11/750. As the stockroom people handed out and received material, they had to manually keep track of what they did, noting shortages and errors. Then they entered the information into the 750, which wrote it nightly to a tape that was hand-carried back to the building where the IBM system was.
The stockroom data entry program was very cumbersome to use. It simply did a one-way scroll through the entire inventory -- thousands and thousands of parts and subassemblies -- and allowed the user enter a code on the few items that mattered. To get to an item near the bottom, the clerks had to hit the Page key dozens of times and wait for the slow page refresh in between. Sometimes they would hold the Page key down for a while and go away until it caught up. If they overshot they had to start over because there was no Back function. The stockroom people spent most of their time doing data entry and were consistently several weeks behind, which forced them to come up with various manual ways of keeping track of things. This affected their ability to hand out parts and was starting to have an impact on manufacturing deadlines, and ultimately profits.
In spite of the importance of the situation, the stockroom was low on the IT priority list. So we had a couple clandestine meetings in which the staff told me how the business end of the system worked and the computer operator explained the behind the scenes parts. Working a couple hours a day on the sly for about 2 weeks, I came up with a new data structure and an editor that let the users search for what they wanted and produced various on-screen reports. I also changed the loading procedures to use a tape instead of the stupid cards, and my operator friend persuaded an IBM sysop to bypass the change control process and generate a tape for us instead of cards.
When the users were satisfied with the way everything worked, we put it into production one afternoon as the swing shift person came on duty. In that one shift she cleaned up their entire 3-week backlog of data entry. When the morning people arrived they were speechless. With the extra time they now had, they set about reorganizing their operation and making improvements that they had wanted to do for months.
It was amazing to see what this change did for the morale of these people. Their jobs had been absolutely miserable when they had to work with the old system. They were so happy they brought me a great big apple pie, and were almost in tears giving it to me. Best award I ever got.
Apple squandered a great opportunity in the 90's. Macs were much faster than many Sun workstations with the kind of work we did (computational fluid dynamics), much cheaper and ran a broader selection of applications. Despite this Apple knew nothing about the scientific market. I remember going to a seminar at MacWorld Boston in 1996 on scientific uses of the Macintosh. None of the presenters talked about how a PowerMac 7500 with a 3rd party 604 accelerator smoked a Sparc 20 for about 33 percent of the price. Instead they talked about how they could use a Mac to model the behavior of a lobster. I felt as if I was in crazy world, here was Apple with this insanely great line of CPUs and they basically ignored a market that would have gone for it lock stock and barrel.
Things have gotten better since then and I have been pleased to see that Apple is targeting bioinformatics applications with the Xserve, but they're going to have a lot of work ahead of them to keep up with Linux's inroads into the market.
cheap labor conservatives - they want to keep you hungry enough to be thankful for minimum wage.
We wanted to release a Windows version as part of Windows 98, but sadly, Microsoft has effective building security.
Wouldn't you just know it.. the one place Microsoft has effective security is the place that keeps people from doing something useful.
That Jesus Christ guy is getting some terrible lag... it took him 3 days to respawn! -NJ CoolBreeze
I was struggling through algebra I not long after this program came out (1995). I just wasn't "getting it". I know the phrase is cliched now, but this program was just so *intuitive* that after a few days of fiddling I understood almost all the math I'd ever take right up to 1st semester calculus on a conceptual level.
For me, at least, seeing things in motion (that nifty little value slider) made the concepts just click. Once they were there, the actual mathematical manipulation was much easier, because I was able to visualize "they way this should work out". My teachers were trying to show it on a static chalkboard, and it just wasn't getting through.
I just got my BS in Physics, and without Graphing Calculator, I doubt I'd be where I am today. To the author, if he reads this:
Thank You.
On a side note, something similar and free already exists for windows:
You can download Powercalc.exe from Microsoft's XP PowerToy page.
That is 1.4b3. It is still in beta testing. We're still working on it. I need to do is fix those example files which were created for the full version. If you type y=x^2 into a new empty document, it will work. For a comparison of the features in 1.4 vs. 3.5, see http://www.pacifict.com/FreeStuff.html. The 150-page PDF book, "Learning Math" in the help menu is almost entirely devoted to the features of the free version. You can download that by itself or browse it at http://www.pacifict.com/Books.html
While designing Concorde, some engineers started working on their own project without telling anyone, diverting a small part of the huge ressources needed for concorde to this.
;)
At the end of the concorde project, managers discovered with great surprise they also had almost all the plans of a working regular subsonic jet : Airbus was born.
Ironically, the unofficial project actually succeeded far better than the official one.
It doesn't happen only with software companies
Kirinyaga
That's where I have an issue with how copyright is enforced. Copyright was written in such a way so that after a given period of time, the work passes into the public domain. DRM effectively prevents that. In my opinion, if you want to require a licence/contract to view your work, then your work should no longer be protected by copyright law. In effect, you should have to choose between contract and copyright protection for your product.
I have long considered releasing GC under an open source license. While I have total sympathy and support for the open source movement and philosophy, my analysis is a pragmatic one. My goal is to best serve my users, and adopt a strategy to best accomplish that. (I think the events of the story give proof to that.)
Remember that my software's users are primarily high school students or younger.
An open source release would cause the existing revenue stream to vanish, making it impossible to continue to support existing customers or maintain and develop the code base. Pacific Tech has provided free support for its customers and would like to continue to do so, and continue to maintain the product on Mac OS and on Windows. The reason GC is useful is the ease-of-learning and ease-of-use of its user interface. I do not know of a product which demonstrates the open source community's ability to produce excellent user interfaces.
In a high school classroom where any time spent on software is time taken away from teaching, usability is the most important feature of our product. In these respects, open sourcing the code could prove to be a large disservice to our customers.
This is educational software for high school users. There are remarkably few people in high schools, either students or teachers, with both the skills and the time to contribute to open source development. This removes one of the major motivations for open source development - the "I need this tool for myself" reason for working on something.
Furthermore, the reason this software is so useful to schools is not how powerful it is or how many features it has - it is completely unlike the classical monolithic mathematical applications of yore. It is useful due to the restraint in choosing a minimalist feature set and interface to address teachers' and students' needs with elegance. I fear that as an open source project, the incentive structures would lead down the slippery slope of creeping featuritis, which, while it might create something cool for hackers, will do little to help children learn math and like math.
I would like to find a way to have the best of both worlds. Genuinely open and free software, for all that that implies, and the ability to continue to create great software for people that are not programmers, for people that hate math, and know nothing about computers, and to have it installed at the factory, so that it actually reaches the people that need it where it can do some good.
Our then-novel ideas now turn up not just in math software, but in applications as well as operating systems. User interfaces incorporate live animated feedback instead of dotted outlines, direct interaction instead of dialogs or configuration files, a functional rather than demanding starting point for new users, context-driven help, and in the best cases, minimal preference settings. We didn't patent the ideas or the algorithms; rather, we wrote about our goals and methods, and encouraged people to take the ideas and run with them.
So if the complaint is just that the source code isn't free for anyone to copy, rebuild, and redistribute, then give us a model for doing so. It needs to be a model where we can cover the cost of ongoing development by professionals; the calculator has evolved in the past 10 years, as have operating systems. Paid support isn't a good answer, as that would reward us for making crummy rather than excellent software; we want users to feel empowered, not dependent. And the idea that students or schools could or would pay for support contracts is silly.
Ron has never turned down a reasonable licensing request. Getting students to learn and enjoy math is the goal. But letting other programmers recompile our code isn't interesting, nor would that really move it very far on future platforms. Better that developers learn from our interface designs, deduce our algorithms (or just ask us), then build better software on the next generation of computer platforms.
If you are bothered that you can't recompile our ten year old application yourself to fix a bug, then you really aren't in the target audience we are aiming to reach, nor are you among the people who will deliver the next leap forward in software design.