CoRecursive: Coding Stories - Story: Shipping Graphing Calculator
Episode Date: February 2, 2023I've been on many projects that get canceled. We're building cool stuff. We're going above and beyond, and we're excited. But the project encounters reality, shifting priorities, or budgeting constrai...nts, and the work never goes anywhere. It always feels tragic, but then I move on. Â But what if I didn't let a project get canceled? What if I couldn't accept that? That is what Ron Avitzur's story is all about. He is the creator of "Graphing Calculator," and he would not let it be canceled. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
Transcript
Discussion (0)
Hi, this is Co-Recursive, and I'm Adam Gordon-Bell.
Each episode is the story of a piece of software being built.
It's 2010-ish, and I'm staring at a wall-sized whiteboard.
It's full of boxes and lines with numbers attached.
One arrow goes to a box with a cartoon top hat drawn
and whiteboard marker that's labeled Pierre Magic.
These are the implementation plans for a project, but there's a big problem.
And it's not the Pierre Magic, which is a hack that Pierre found that saves a couple weeks of time by using an unresolved bug as a feature.
No, the real problem is there's roughly three times more work than there is time. This updated estimate that I put together on this whiteboard,
it eventually leads to the project being canceled.
The month's worth of code that we were excited about,
they never leave source control and they never run anywhere.
And I've been on other projects like this since.
We're building cool stuff.
We're going above and beyond.
We're excited.
But then the project encounters reality or shifting priorities or budgeting constraints, and the work never goes
anywhere. It always feels tragic, but then I move on. But what if I didn't? What if I didn't let a
project get cancelled? What if I just couldn't accept that? That's why I wanted to talk to this guy.
My name is Ron Avitur. I'm a computer programmer,
and I've been working on educational math software for the last 35 years.
Ron's the person to talk to to learn about how to ship despite all odds.
There's a trope. If you go to TV Tropes and look up refuge in audacity,
I am one of the real-life examples of that.
Oh, let me just bring it up.
Never do anything by halves if you want to get away with it.
Be outrageous. Go the whole hog.
Make sure everything you do is so completely crazy, it's unbelievable.
I pretty much embodied that trope.
Ron's not kidding. His story involves deceit, audacity, evading security,
and refusing to let something go. You see, when Ron was a college student in 1992,
the personal computer was changing things. Because with the introduction of the Macintosh,
you could show someone who needed to type up a paper that evening. In five minutes,
it would be obvious to them that they could do it
faster on the Macintosh with MacWrite than they could on a typewriter. So it was kind of a sea
change where computers were just obviously, at least for word processing, the right tool to use,
and they were adopted very rapidly. But the problem was, Ron was studying physics.
I was staying up all night scribbling equations with pencil and paper, doing math and physics
problem sets, because
even though computers are good at calculations, they weren't good at doing the sort of math
students needed. So I wrote Milo as an attempt to address that, to be something that I could
use for my problem sets. Milo was a math program that could handle the type of problems Ron was
doing in physics class. One of the hard problems was inputting mathematical notation.
There's a lot of Greek letters, a lot of special symbols, integrals, derivative. It's both
intrinsically two-dimensional and uses a much larger character set than you have on a keyboard.
So it seemed at the time to me that a much better way to interface math into the computer would be
with a tablet and with a pen. So I wrote a handwriting recognizer. I wrote a mathematical
handwriting recognizer. So you could write equations onto a tablet. And as you wrote each
character, both the characters you were writing were recognized. And that includes things like
Greek letters and integrals and derivatives. And the two-dimensional structure was recognized.
By the time Ron has something demoable, he's finished his physics program.
So he starts showing his demo to software companies.
A lot of the demos I'd give would be informed by my physics problem sets doing
classic calculations. And I tended to talk very fast and describe the physics and have lots of
symbols flying around the screen faster than people could follow, but enough to know that
something impressive was happening. And so I think I did one example that showed the Compton scattering cross section that involves a few terms of special relativity. It's a fairly complex equation,
but at the end, you get something that demonstrates how we know that atoms are
electrons with a very dense nucleus in the middle. In retrospect, I intimidated people with math.
Ron managed to license the
math part of the software to a couple of places. But the thing that really caught people's attention
was not necessarily always the math, but the pen input. And eventually, someone who worked at Apple
told Ron, I need you to show this demo to some people. And so Ron heads to the Apple campus in
Cupertino. I went to the, to people in system
software, the people that were working on the next web of Mac OS seven, and I show them Milo
with pen input and said, Hey, look, the people at Microsoft, the people at Go Momentum that are doing
pen based machines, we could do the same thing here. Here's one way to go about it. And I showed
them the finder working with a tablet. And I showed them the finder working with a tablet and I showed them my software doing math recognition with a tablet. This was essentially a job interview only. I went
in to basically interview at Apple for a job, but went in saying, here's the software that I've
already written. Here's how it works. And I would like to develop this inside of Apple.
And pretty much everyone who saw this was blown away. They were like, we must hire this person immediately.
Though what happened next was even odder.
It turned out the people inside the Macintosh division were already thinking about pen-based computing.
And it was a time when laptops were finally shrinking to the size that if you wanted to carry a computer with you and make it any smaller, The keyboard was the biggest element. It was at the same time Apple was doing Newton,
but this was entirely within the Macintosh division,
Macintosh hardware and Macintosh system software to take Mac OS 7 of the time and add a pen manager to it.
So in the same way that you write applications
to do mouse and keyboard input,
you have a system support for doing pen input as well.
What I did was gave them something very visual as a way of saying, yes, this is an existence proof. And this is something that
is a compelling use of it. And this is a reason why we want this to be part of system software.
This makes Ron a shoo-in for the role. And so the team had him do more demos for other people at
Apple. I had a canned demo that started out with basic.
You write two plus two, it gives you four.
Nothing surprising once you have handwriting recognition, that's easy.
Then a little bit more complicated, you write two squared.
It recognizes that the squared is an exponent.
Again, it gives you four.
Then you add some trigonometry to it.
And as the equations get more and more complex,
they're still typeset and look
reasonable and look like something straight out of a textbook. If you write an equation with an
X in it, it will graph it for you. The pièce de résistance, the thing that really impressed
people the most was what I call drag algebra, where you could type something like Y equals AX
plus B. And if you select the B and drag it,'s not it's it does drag and drop but not the way
you're used to it in text where it just takes a text snippet and moves it to a different insertion
point you're not just dragging this term as a graphical object you're actually subtracting b
from both sides if you drag the a to the other side it knows now you're dividing both sides by a
so it becomes x equals y minus b over a if you drag the a back over it knows okay so now it's
no longer in the denominator on the other side of the equal sign you're multiplying both sides by a. So there's a lot
of algebra you can do by just dragging things with the mouse or with the pen that encodes a lot of
algebraic understanding only now it became interactive and immediate. So having all of
that sort of direct manipulation with algebraic understanding really let people in a few seconds of demo understand that this is something qualitatively new.
That understanding, to Ron, it seemed like it could change math education.
But what the pen computing people saw was an exciting demo that could sell their vision of pen computing to the world.
And so the first thing they wanted him to do was demo at WWDC,
Apple's Worldwide Developers Conference. 2,000 plus Apple developers were gathered in San Jose
to learn what Apple was up to. Basically, my first public speaking event was to go on stage
in front of 2,000 people live and give a demo of what I'd been working on for many years at
this point.
So it was both a topic dear to my heart that I was genuinely excited by,
and basically let me say whatever I wanted and go off and just express my excitement to my fellow developers.
I remember both going on stage thinking,
okay, I'm not even going to look at the audience because that's just too scary.
There's bright lights, lots of people.
I wrote out everything beforehand, practiced it, and just had a bunch of three by five cards with notes
and got up there and just stared intently at the cards and read through them one by one as I did
the demo. Ron's demo was mentioned in the coverage of WWDC that year by Tidbits. Next, a very
unassuming young man came out and began reading off of a prepared speech to the audience.
He never looked up. He just went ahead with what was actually a very good demo.
At this point, he thanked the crowd, quit his demo, and began to walk off the stage.
The crowd erupted into cheering and clapping, and the whole hall gave him a standing ovation.
There was a long line of people who just wanted tofort me because I was in such obvious distress on stage and and let me know that it went okay because I was clearly panicked.
Here's tidbits again. It was the most amazing and utterly useful thing that I have ever seen
on the Mac. Updates were instantaneous. As an engineer I only know that I want and need this
technology. Part of this excitement came from the way that Ron was presented. They didn't say that I didn't work at Apple. And they kind of glossed over the fact that
everything that I was demoing was something I just did on the outside as an independent developer.
And they did it as the demo piece at the end of a talk about what they were planning to do in the
future to support pen on the Macintosh. The effect was amazing smoke and mirrors.
The mathematical demo went well
and people were impressed by what was possible,
but it gave the illusion
that the pen manager already existed
and the support was there
and developers could now run with it
and integrate pen with their existing applications
the same way that they do mouse and keyboard input.
So that part was misleading.
It's not misleading if you get it built, though.
And so after the conference, the Macintosh team starts hiring more people to build a
pen-based device, a 1990s tablet computer.
The only problem was hiring Ron as an employee.
Things were complicated because I had done all this work before I joined Apple.
And I had licensed this work both to Frame Technology to be part of FrameMaker,
and at the time to several other software companies
were using bits of Milo inside their math applications
as a way of doing the 2D mathematical rendering.
So it was very important to me that the intellectual property
for the work I had done previously stays in my name.
And it's much easier as a contractor to draw that dividing line
between saying this is my work versus the work you're paying me to do,
which you would own.
So Ron would join as a contractor,
but getting his contract approved by legal with all its special provisions,
well, that took time. The manager at the time, who legal with all its special provisions, well,
that took time. The manager at the time who was new to Apple said, look, we're really excited.
We want to get started fast. So come in, start working and we'll figure out the legal details later. But that meant that I actually worked at Apple on the group for nine months or a year
before I had a contract with Apple or before I was paid
at all, which was fine by me because this was what I love doing and what I wanted to do.
And I figured, okay, legal is putting up roadblocks. I'll just keep doing the work.
They're going to have to fix it later. And I'm fine waiting. And my manager was like,
look, we already have budgeted you for a year. And so this money is waiting for you. It's just
keep track of your hours. And once the contract is signed, we'll back pay you for
what we owe you. And I was like, yeah, fine by me. Eventually Ron got his contract and he got paid.
But the Apple Pen Mac, it was this secret project. It was a tablet computer, but built with 1992
technology. It was like an iPad, but thicker and heavier and with a grayscale screen.
But it was a tablet computer with a pen, so it was the perfect vehicle for Ron's graphing and
math software. The only problem was the rumors that it was doomed. A lot of people were very
passionate about it, but it was not a device that was revolutionizing people's use of computers
in the way that iPad did
or the iPhone did.
The fundamental reasons were just out of our hands.
The device was essentially a laptop minus the keyboard with a pen display, which in
those days meant it was like two or three pounds with a battery life of a few hours
and was fragile. Various other people from other groups would come to me and tell me,
look, Ron, the project is going to get canceled.
They're not going to be able to deliver.
And I was loyal to the people that had hired me.
So my plan was, I'm just going to stay here and keep working on it
to do the best job we possibly can.
So if it does get canceled, it's not for lack of effort.
And everyone on the team
was like that. Everyone on the team worked really hard to overcome all of the issues to make the
best software we possibly could. But then a year into it, a meeting was called. Contract manager
came to the whole team and said the project was cancelled, the funding was pulled, everyone would
be reassigned. Now, Ron could have found a way to be assigned to another project. He was good at what he did,
but he was also really laser focused on his own goals.
I identified with my work. I'd been working on some version of the math software at this point
for six or seven years, and it wasn't done yet. It hadn't yet reached what I envisioned it was
capable of doing in my head, and I wanted to keep working on it. And maybe he could, because the graphing demo
he'd shown off, and the math software that powered it, it could be adapted to other hardware.
Originally, it was for pen-based input on a handheld device, but it also worked fine with
keyboard and mouse. I told the manager of the pen project that I would find a new group in Apple to continue working on the demo app for Apple.
And they were fine with that.
They were like, great, you're not my problem anymore.
Good luck.
I'm glad that some small piece of this will end up being useful.
So did you try to shop it around to groups at Apple?
I didn't have to.
While I was working on PenMac, there was a fellow that was coming to my office every few weeks to tell me,
Ron, they're going to cancel PenMac. You really have to meet these people from PowerPC.
Ron's colleague had a point. The PowerPC system software group was working on getting classic macOS working on this new PowerPC CPU.
The future of the whole company rested on these new Mac computers. They use this much faster processor. These
would be the Power Macs. If Ron was on the Power PC team, his future would be secure.
So the night the Pen Mac was canceled, Ron found him.
I went to him and said, okay, the Mac is canceled. My time is my own now. He introduced me to
the Power PC team and he brought two people over to my office and showed them what was going to be the PenMac
math demo and said, we'd like to get this running on PowerPC. And the three of us spent six hours
until the wee hours of the morning getting all of the existing code to compile from 68k onto PowerPC,
which involved cross compiling from an RS6000 workstation and running on a prototype in another building.
But after six hours of joint work,
we got everything compiling and running for the new processor.
We went over to the other building
where one of the very few prototypes was in this fellow's office.
We ran it on the prototype.
First time we ran it, the monitor caught fire.
It was very propitious.
It had nothing to do with my software.
That was in the days of old CRT tubes, which just did that once in a while, but the timing was quite the omen.
We carried the monitor out onto the veranda so the smoke wouldn't set off a smoke detector,
plugged in another monitor and tried again. And then when we ran the software on the PowerPC,
it ran 50 times faster than it was running on the state-of-the-art 68k machines.
And we realized that it really was a new world.
You could do things interactively that previously were not interactive,
and that enabled a whole new level of user interface design when things are that much faster.
This was exciting for Ron.
His calculator couldn't take pen input on the Power Mac,
but it was so much faster at
math and at graphing. There was a problem, though. At this point, my old contract had ended. I met
people on the PowerPC team, and they looked at what I was doing and said, this is really awesome.
You have to keep working on this. We have to figure out a way to ship it. But we're really
busy because the company's future depends on what we're doing and we've got our hands full. We don't have funds to hire you yet. Keep working on it at some point.
We'll figure something out. This is strange, but not for Ron. After all, it had taken months for
management to get his original contract through legal and signed. Maybe he could get the PowerPC
managers excited about this project and a similar process could start.
Ron did have a concern, though.
The software still crashed. It was buggy.
It did a few things that were very impressive,
but it was very clearly a demo.
It showed potential, but was not solid.
And I was worried if I showed this to managers in charge of the PowerPC project,
they would just nod and go,
Mm-hmm, yes, we have an engineer
who's very excited about their pet project.
We're very busy now.
Thanks for the demo.
If it crashed in front of them,
their assumption would be that, you know,
one guy working it alone
did something that he thinks is impressive,
but we can't actually ship this
without an enormous amount of work
that we don't have time for now.
So Ron keeps working on his project. He tells the engineers not to tell their managers about it. This is going to be a
secret project for now. And somewhere around here, Ron starts to drift across an invisible line.
He gave his previous manager the idea he was working for this other group, but he's not.
And he doesn't even work there. He's not even a contractor anymore. I still had a working badge.
I spent a few months where I would show it to engineers, but tell them, don't tell your managers yet.
It needs to be absolutely bulletproof before we show it to anyone who is going to be critical of it because it's still buggy.
It will still crash.
The engineers at Apple at that time, they understood where Ron was coming from.
Apple was struggling.
There was a disconnect between the people building things and management.
And as a result, projects were getting canceled all the time.
The smallest bug, the smallest problem, it could spell doom for a project.
There was one project, I think the codename was Spectre,
and it was canceled and revived seven times when I last knew about it.
So I had the sympathy of engineers.
I had the help of lots of engineers.
And the fact that I was just showing up after my project was canceled
just made for a good story.
So we became something of an underground cause celeb.
Everybody wanted you to ship this because they were like,
they wanted their project to ship, right?
You were like their spirit animal.
Exactly.
It's like, okay, it's possible.
And things that happened before, like there was a tradition of Skunk Works where if your
project is canceled, but you're passionate about it, you're an engineer, you don't want
to give up.
So you work on it after hours, you get it to a point where it demos well, you show it
to management and say, look how far we've gotten.
Can we revive it?
And that sometimes worked.
It would often get canceled again, but it was not unheard of for engineers to work on pet projects
after hours to try and uncancel them. The fact that I was a contractor and didn't have a day job
just meant that there was more time to work on the canceled project.
So Ron keeps coming into work at the Apple campus, sitting down in his office and working on his math program.
But even working full time, it doesn't seem like it'll be enough.
His goal is to get the demo polished into a real consumer level app
and get it onto the PowerPC somehow.
But the PowerPC people have a deadline.
Manufacturing has to start.
There's a three month cutoff.
And there's no way that Ron can make that timeline, at least by himself.
So at this point, a few engineers on the PowerPC team know about it.
I went to Greg Robbins and said, I'm burnt out. I want to finish this.
Can you help me? Because it's more than a one-person job.
But I told him I wanted to finish the calculator that I was working on, and would he help me?
He did it as a personal favor to me.
I told him everything. He knew what was going on in PenMac. He had been part of PenMac. He said, my contract is ending next week. He said, I will tell my manager that
I'm going to start reporting to you. So she's going to let me keep the office and the badge
while I work on this new thing because they don't need the space.
So now they were two and they even had offices.
There were few enough people working at Apple that engineers could still have solo offices.
You'd be walking down a hall and the outer doors of the hallway had window offices.
The inner doors of the hallway were little six by six cubicles with enough space for a chair, a big desk and a bookshelf.
But a door that closes, absolutely luxurious by modern standards.
I was living in the Santa Cruz mountains with a beautiful view of the hills
with an east facing window that had no curtain, just because I loved the view. I looked out over
open space with bobcats and mountain lions. And so I woke up every morning at dawn, went into Apple,
went into my office. Greg would show up an hour or two later, see me hard at work and figure,
well, Ron's been here all morning. I should stay late. And since Greg was doing volunteer work to help me on my pet project, I couldn't leave until
he was done. So basically we started working 12 hour days, seven day weeks, because we both thought
we want to ship something and we want it to be absolutely bulletproof because it's not going to
ship if it's, if there's any problems with it, because it's not a sanctioned problem. Apple's
not going to fix problems.
They're going to look at it.
And if we give them something perfect, maybe they'll ship it.
Maybe they'll ship it.
That's really all they had was that chance and a vague idea
that if they could get it polished enough, it might end up on the new Mac somehow.
Thankfully, the general chaos at Apple at the time helped them not get caught.
But they couldn't just hide in their offices
because Ron had to build support within the PowerPC engineering team.
So I very routinely would tell people, project was canceled last week. The project was canceled a month ago. The project was canceled three months ago. I'm trying to uncancel it. So I'm here working on it. Let me give you a demo. And after I give them the demo, they were sufficiently impressed that they would carry on with their work. People thought this was odd.
Some people shook their heads and walked away and wanted no part of this.
But most people were like, that's very impressive.
Yes, we should absolutely ship this.
How can we help you?
Why did you come find me?
Or here, let me play with it.
Let me bring you bug reports.
One non-issue for Ron and Greg was pay.
Ron's PenMac contract money had come in.
And they paid me a lot.
Like Apple's hourly rate for contractors was high.
We were both young enough from being students
that we did not have extravagant lifestyles.
Rent was low back then, if you can believe it.
I think I was paying $300 a month for rent in Silicon Valley.
We were working 12 hours a day.
Our expenses were very low.
We could both afford to live off savings for quite a long time.
And so the question we asked ourselves wasn't how can we live?
The question we asked ourselves was, given the freedom we have, the privilege we have,
how do we want to spend our time?
And I wanted to spend it trying to ship this.
And Greg was willing to help me.
This is ridiculous.
Working hard as a non-employee on a non-sanctioned project.
But Ron had learned to actually lean in to the absurdity of it all.
So frequently people would come up to me and ask me, do you work here?
I'd just tell them no.
And they'd say, oh, that means you're a contractor.
And I'd say, actually, no.
Then they'd say, but then who's paying you?
And I'd tell them no one.
Then they'd ask, how do you live?
I'd say, I live simply.
And then they'd ask me, what are you doing here? And
I'd give them a demo. I took a certain amount of pride in saying, I'm never going to lie to anyone
about what I'm doing here. I'll just act like I belong, come in and do my work. And as long as
I don't cause any trouble, there's no reason for anyone to notice me. That implies you were
cognizant of some sort of ethical issues with what you were doing. Is that true? I absolutely was. Like there was definitely a notion in my head that what I'm doing is
at the very least sketchy and one could easily make an argument that it was criminal.
I bent over backwards to make sure that nothing I did could be construed as nefarious,
but certainly on the surface, what I was doing was not acceptable. I was just acting on faith that what I was trying to accomplish was both cool enough and of value enough that it would overcome the questionable circumstances of its creation.
And I was also very much relying on being a young, privileged white guy so that even if I was caught and Apple decided
to prosecute, it would be a slap on the wrist. It's not just white privilege, but actually you
very much, you culturally fit in. You were one of the team there. People knew who you were.
Your nerd credentials were not in question. Absolutely. I looked like them. I acted like
them. I talked like them. My values were the same as everyone else. People were used to my being there. I relied on that familiarity, so they would let me in the building.
But there was no nefarious purpose behind it. And from another perspective,
people trusted me because they had seen me there for so long. People that knew what I was doing
trusted that what I was doing was a legitimate reason for being there, even if it had not yet had the imprimatur of management approval as a real project.
So there was a large, large element of trust where my existence there was only possible
because I was part of the culture and the individuals that knew me actually trusted
that the things I was doing there were appropriate.
I guess I have to sort of re-ask, like, what's driving you at this point?
Like, what's the drive?
Oh, as Steve Jobs said, real artistship.
I was unwilling to let a year's worth of work be thrown away.
As cool as what I was doing was in my mind, it was meaningless unless it went into customers' hands.
And to get the software into the hands of a new Power Mac customer,
there was really only one way.
The software to compile Power PC apps
only existed as a prototype on the Apple campus.
So it was the only path we had to do things at that time.
And also part of that is the work that I was doing
was intended for math students, math teachers.
And schools were lucky to have computers.
And if they had computers, they did not have money to buy software. I felt that the best way to
deliver my software into students' hands was to have it installed at the factory.
To get the software installed at the factory, the PowerPC team has to want it there. It has
to be solid. I mean, they also have to know it exists. But for Ron, priority one is making sure it has no bugs.
And to get it bug-free, it started to seem like Ron and Greg were stretched too thin.
They wouldn't be able to do it themselves.
They needed testing help.
So I put out the word in engineering saying, we really need help from QA.
And late one night, these two guys came to us who had been doing QA for the PowerPC project. And they had an automated QA system that they pressed a button every night. It would run an in the domain and they came to us and said they would like to help.
And I gave them the software and they started sending in bug reports every day.
Then Ron got more people involved.
I'd give them a copy and say, try this out on your machine.
People would come to my office every day and say, I tried it.
This looks great.
This doesn't quite work.
I'd take what they told me and try to fix things.
And then the next day, show them the new version and was working on just iteratively, stepwise, refining it every day from people's
feedback. And because it was essentially the only app that was running natively on PowerPC,
even though there are very few machines, everyone who had one of the machines wanted to try this on
it. So we had a lot of people in-house using it. We had two people who were doing dedicated QA on it, and we
were trying to make sure that it was absolutely crash-proof before we showed it to any managers.
It seems like maybe things will never be good enough for Ron to want to show this to management.
But then he decides, no, no, there's just one more thing I need. 3D. 3D graphics.
I went to a friend of mine that was in a different startup company,
but had expertise writing 3D software. He had been part of the team that wrote the old tank
game Spectre and a bunch of other things and said, look, I need a 3D renderer for this secret project
I'm on. Can you do something for me? He took his weekend and he gave me a block of C code that did
3D rendering for mathematical surfaces. And in two days, he gave
me a piece of code that worked perfectly. I think it had one tiny off by one bug in it,
just that was very minor. And suddenly we had 3D rendering in the calculator.
Now the app is ready for management to see. Except what about the user interface?
It had a certain clunky and funkiness to it because as programmers, we think
about things functionally and don't really think about things visually. We don't have an eye for it.
So I went to one of the people who had left Apple, who had worked on, I think it was the Mac OS 6
look and feel, and who was a visual designer. And I hired her out of pocket, actually snuck her into
the building and I showed her what I was doing,
told her not to tell anyone and asked her to make it beautiful. And she gave us a bunch of
studio images where she basically pixel by pixel called out what every color of each pixel should
be. We looked at the artwork she gave us and put it side by side with existing app and like, okay,
immediately we're doing exactly what she told us to do because it is gorgeous. And it, in terms of programming, it was very small changes, a gray
line here, an odd pixel there, an adjustment of the spacing plus or minus a few pixels, but it
transformed it from looking like a clunky college project to looking like a beautiful piece of
Macintosh system software. Do you think that you have a secret superpower as like a project manager?
I wish I did.
Sadly, in the intervening years, I have learned that is not true.
But the secret I did have is that I had a lot of smart friends.
There were lots of things I needed that, you know,
maybe I could do if I struggled and took a long time and wouldn't do them as well.
But by asking the right person that they were done both very well and very quickly.
So thanks to the Smart Friends Network, it's starting to feel like a real project. It's got
3D, it's visually appealing, and engineers from PowerPC are using it to test out the hardware
and the software. And there's two QAs working away on covering bugs.
But, and here's the thing where I made a mistake. Apple had recently opened the Infinite Loop
campus and there was lots of space there. So for a long time, engineers had their own
private offices. And although engineers changed groups, not infrequently, moving was a pain. So
very often someone would change groups and
just stay in their old office because why bother moving? The other group is just down the hall. So
we'll keep working here until the new group needed the space at which point, okay, we're,
we're going to move the new person into your office. So your manager has to now find you a
new office. So when the group that the various PenMac people had moved to
started to grow again, they needed the office that I was squatting in. And someone from facilities
came to my office and said, we need to move someone into your office. Let me know who your
manager is and they'll find you a new office. And I'm young, naive and idealistic. And I said,
my contract ended. I haven't found a new manager yet, but I intend to. I told them that I was working with Greg, who was in the same boat. And they just got a really
strange look at their face. They weren't an engineer. They were just part of the facilities.
And they're like, that's not acceptable. Your badge still works. I'm going to have to
have your badge canceled and you're going to have to leave. I mean, they were actually very polite
about it, to be honest. But true to form, they had our badge canceled the next day and I needed to move offices. Without badge access,
things get more sketchy, especially the mornings. I would show up, look around the parking lot,
see who was approaching the door that looked familiar. It was still a very big building.
There were a lot more people for whom I was a familiar face than there were people that knew
my whole story.
I told my story on the drop of a dime because that's how we got support for the project.
But still, most people assumed, you know, if you're there, you belong there.
You show up, you look confident.
Like, why would you be there if they're not paying you?
They'd see me walking towards the door and just as a matter of politeness, they'd be, oh, hi Ron, and open and hold the door open because they already badged in. So why should I badge in again? I became a cautionary tale for building security. How did you expect this to actually get onto the power PC?
I had no idea whatsoever. That was, you know, that was the bit that I worried about at night. And that was the bit that I just kept saying, I don't know how to deal with that.
So I'm not going to think about it yet.
Let's make that tomorrow's problem.
Greg and I were just focused on let's just make the product as good as we can possibly make it to the highest standards we possibly can.
Shipping it was something that we hoped would work itself out in the end. And surprisingly,
it did. So Ron and Greg kept sneaking into the office. And then Apple had a big layoff. Apple
wasn't doing well. And 20% of its workforce was gone. Ron and Greg were saved from the layoffs
because, you know, they didn't work there. They weren't actually employees. But now all of a
sudden, there was plenty of offices they could squad in. We found some empty offices and we just kept working.
Someone came into our office at two in the morning, sat down with me, said he had heard about us through the grapevine, and that he was responsible for burning the golden master hard disk for the PowerPC project.
And he explained it to me, that Apple is a hardware company.
There was a factory in Cork,
Ireland that produced the machines. The night before production start, he would FedEx a hard
disk to the factory and that hard disk would then be duplicated on all the machines on the assembly
line. And he said, I make the golden master hard disk in a very real and pragmatic sense. I decide
what does and does not ship on the machines. And if you
bring us a copy of your software by this and this date, I can put it on the Golden Master hard disks
and it will be in 30,000 units boxed in the factory before anyone else even notices.
So they have a way to ship, although it has problems. Ron wants to make math better, yes.
But also he has Apple's interests at heart. He's a big fan. And
sneaking software onto 30,000 computers seems a bit nefarious, maybe illegal. But this is the
best that they've got. And this whole thing was a long shot anyhow. You know, at this point,
we had two QA engineers working daily on this off the books. I had snuck the visual designer
into the building on my own. Greg and
I were sneaking in every day. At this point, everything is surreal and I'm just rolling with
it. I'm just eyes on the prize. We want to ship this. It's a house of cards. Any one thing could
cause it to all come crashing down horribly. And if Apple wanted to have me prosecuted for
criminal trespass or sued for any number of things just by virtue of my presence there, they would be entirely entitled to do so.
And I would be entirely on the hook.
But the thing is, I'm not worried about criminal prosecution.
I'm worried about whether or not it ships.
So when he came to me, it was just a relief.
But Ron and Greg still had to hit that three-month deadline and handle all the bugs that
were coming in. So they kept up the long days and somehow they did it. We've made the deadline,
we're ready. And then the hardware deadline got extended three months, which was actually a
godsend for us because now we had decided on all the features. We had something that looked
impressive, did very useful things, was a great
demo. And we had an extra three months to make sure that it never crashed and that it was totally
solid. But the problem was that as the project got more and more help from more and more engineers,
more and more people on the PowerPC team knew about it, the pressure got higher and higher
to make the project legit. Ron kept getting requests.
Please let us show this to our managers. And I kept putting them off at first because, no,
we have to add 3D first. And then because, no, I'm still aware of some crashes. I can't let it
crash when a manager sees it. And so when it finally got to the point where, okay,
there are no crashing bugs that I'm aware of. All the functionality we want is there. It looks pretty.
And even though the engineer is willing to sneak it onto the disk, we have to at least try to do this efficiently.
I expect to be, you know, laughed off because who are you?
You don't even work here.
Why are you wasting our time was my expectation.
But I told the various engineers that have been supporting us, OK, tell your manager to come to my office. I think it was Tuesday afternoon at three. I'm going to give them a demo. I'll show them what I've been working on various aspects of the PowerPC, both in the hardware division and the software division, at different levels of the company, packed into this office because their engineers told them, you have to see this.
We can't tell you what it is.
Trust us.
Just be there.
It'll just take 15 minutes.
And I gave a half-hour demo.
At this point, I had done it a lot, so it was smooth. The demo showed a lot of math, 2D graphing, 3D graphing, computer algebra,
numeric and symbolic computation, but it did all that incidentally.
The spiel I gave of the demo was, look, this PowerPC computer is 50 times faster
than the original 8 megahertz Macintosh.
That speed and what the hardware could do,
that was the real demo.
Because deadlines being what they were,
no one had had time to write a native,
highly polished, performant PowerPC app.
But here was a demo of what they'd been working so hard towards.
You move something around and everything moves.
Not only does the window resize live and redraw everything,
but this graph, this 2D or 3D
graph gets recomputed as fast as you can move it back and right.
So there's this illusion that you're not giving a command and saying, okay, graph this and
now wait while it evaluates the numbers.
There's this illusion that you have this window onto a mathematical truth and you're just
panning the window around this much larger world.
And when the machine is that much faster, you can now redesign your entire user interface from the scratch to take advantage
of that speed to create this direct manipulation that gives the illusion of a larger world.
This demo wowed them in a very tangible way, but it also raised questions.
Why are we just seeing this now? Who is your manager?
Why have they been doing this in secret?
Why didn't we know about this?
Which point I just stopped and told them,
my project was cancelled three months ago.
I've been sneaking into the building.
If I get this badge anywhere near it,
a horse security will escort me out.
I don't actually work here.
And they all laughed and said,
no, really,
who do you work for? And there was this delicious moment of awkward silence where they all looked
at each other and looked at me because the ridiculousness of the situation was just apparent.
And they all just were like, that's awesome. We definitely want to ship this. Whatever you do, don't repeat your story.
We'll figure something out.
This was a huge step forward.
It's like, OK, we don't have to worry about how to ship it. Now we just have to worry about
making it as good as we possibly can, which is what we've been doing all along.
And now we have the support, the official support. We have QA, we have the usability study,
and we have it going through
the internationalization process, both where they're telling us what they need to make sure
that when it goes out to the geos, it can be translated into 25 or 30 languages. So at this
point, they intend to ship it, but then things get really weird. They couldn't get me a badge.
They wanted to ship it, but they're very busy on the
project. The company's future depends on, I'm still sneaking into the building. The project is legit,
but Ron is not. And now he has to meet all the groups that do the things like user testing and
internationalization and make sure the project checks all the boxes so that it can get officially
released. And somehow him, Greg, the rest of the team, they get it done.
I am both proud that I was able to get this out there,
and very grateful to Apple and all the people at Apple that made it possible.
Because it was rock solid and never crashed, and had a polished UI,
the app had a good chance at gaining users.
And the fact that it was colorful in 3D and showed off the hardware
really well meant it started appearing in sales demos. It started appearing in computer stores
all around the world. The secret project was now a flashy demo being used to sell the new Macs.
Because when people first saw it, when they saw the 3D, when they saw the colors, it blew them away.
In the end, it shipped on the very first PowerPC machines
and continued to ship on all of them up through the Mac OS X era,
all throughout Mac OS 7, 8, and 9.
And in the Mac OS 9 folder of the first Mac OS X machines,
Apple shipped it for 10 or 15 years.
It was on basically all the PowerPC machines,
and once Apple went fully PowerPC, all subsequent machines.
So probably in the end, it went out on 40 million machines,
just judging by Apple's hardware numbers.
Which helped Ron's dream of improving math education.
I heard from many teachers in all of the subsequent years and decades.
Someone who
was recently retired just wrote to me saying how he's been using it for the last 30 years,
ever since the very first PowerPC computers, he's been using it in his classrooms teaching calculus.
Graphic calculator is a story of its time. Software projects are bigger now,
security is tighter. You couldn't pull this off now.
But Ron also shipped something where many others failed.
And those others were, you know, like actual employees.
What's interesting to me is that Ron managed to pull this all off by exercising a different type of power.
You know, managers have budget and headcount to make things happen.
And the direction comes from the top down.
And I had, in that view of the world, from the top down. And I had in that view
of the world, I had no power. I had no budget. I had no head count. Yeah. It makes me think of
this quote. If you want to build a ship, don't drum up people to collect wood and assign them
tasks, but rather teach them to long for the endless immensity of the sea. Oh, that's beautiful.
Yeah. I had a vision. I had something I wanted to do. I had my
own time to spend and that was it. And on my own, I could not have done a tiny fraction of what it
took to make this real and to make this of worthwhile quality to be out there. It worked
only because so many people came in to assist it and to do all the things I couldn't do and to turn this into this giant team project, even though it was all off the books and anyone that contributed was doing so just as a personal favor or just on a lark or just because they saw the passion and wanted to support it.
In the end, Apple did pay Ron some amount to license the software, and he kept sending them updates for new Mac versions.
Plus, he started selling a Windows version
and he added new features
and he sold a commercial version of the calculator as well.
So this graphing calculator became his career.
His gift to Apple became Apple's gift to him.
He's still selling it today.
You can find it in the App Store as graphing calculator.
In a coming bonus episode,
we'll delve a little bit more into the details. I'll talk to
Ron about what it was like to work on the same piece of software, the same code base, all of
your life so far, getting close to 40 years soon. We'll talk about his recent efforts to port the
same code base to Swift and how much he learned about software by going through Apple's usability
process. We'll also talk about his recent
efforts to port things to Swift and how much he learned about the software going through
a usability study. And also why is graphing calculator not on macOS right now? What happened
there? Also, you know, one housekeeping note, this is episode 85. The first couple of years of the podcast, the first, say, 49 episodes, I focused more on talking to people about technology.
And after that, I switched the focus to focus more on the people and their journeys.
The early episodes are almost a different podcast and not everybody loves the old format. So I labeled these episodes as tech talks. And there's a couple I dropped completely
because the quality just wasn't as great as I thought it should be.
Who knows?
Maybe in the future, I'll put all the tech talks in their own feed
that can be their own podcast.
And yeah, if you're a new listener and you like this episode,
maybe check out Apple 2001 or the original Remote Developer,
which is also an Apple story, a very early Apple story, but the Apple II that's wild.
Or Lisp in Space, which is a crazy story from Ron Garrett about debugging problems on a spacecraft using a Lisp REPL.
Or become a supporter.
I have a whole full episode with Ron Garrett for supporters about his time building a very famous system
at Google. There's a whole bunch of bonus episodes and they are in the narrated story
style. Until next time, thank you so much for listening.