CoRecursive: Coding Stories - Story: Shipping Graphing Calculator

Episode Date: February 2, 2023

I'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)
Starting point is 00:00:00 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.
Starting point is 00:00:39 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.
Starting point is 00:01:04 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.
Starting point is 00:01:45 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,
Starting point is 00:02:17 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
Starting point is 00:02:49 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
Starting point is 00:03:29 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,
Starting point is 00:04:11 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
Starting point is 00:04:51 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.
Starting point is 00:05:45 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.
Starting point is 00:06:17 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.
Starting point is 00:06:41 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
Starting point is 00:07:13 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.
Starting point is 00:08:02 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,
Starting point is 00:08:39 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.
Starting point is 00:09:14 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.
Starting point is 00:10:06 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.
Starting point is 00:10:25 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
Starting point is 00:10:55 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,
Starting point is 00:11:20 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,
Starting point is 00:11:59 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
Starting point is 00:12:43 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.
Starting point is 00:13:11 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
Starting point is 00:13:43 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.
Starting point is 00:14:29 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.
Starting point is 00:14:50 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,
Starting point is 00:15:40 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.
Starting point is 00:16:03 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.
Starting point is 00:16:38 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
Starting point is 00:17:16 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,
Starting point is 00:17:42 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
Starting point is 00:17:55 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.
Starting point is 00:18:25 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.
Starting point is 00:18:55 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,
Starting point is 00:19:20 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
Starting point is 00:19:40 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.
Starting point is 00:20:09 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.
Starting point is 00:20:32 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.
Starting point is 00:21:05 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
Starting point is 00:21:49 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
Starting point is 00:22:14 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.
Starting point is 00:22:55 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.
Starting point is 00:23:08 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?
Starting point is 00:23:29 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?
Starting point is 00:23:51 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
Starting point is 00:24:06 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
Starting point is 00:25:06 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
Starting point is 00:25:53 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,
Starting point is 00:26:26 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
Starting point is 00:26:50 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.
Starting point is 00:27:47 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
Starting point is 00:28:10 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
Starting point is 00:28:50 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.
Starting point is 00:29:31 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
Starting point is 00:30:16 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.
Starting point is 00:30:49 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
Starting point is 00:31:31 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.
Starting point is 00:32:12 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.
Starting point is 00:32:54 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.
Starting point is 00:33:40 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,
Starting point is 00:34:25 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
Starting point is 00:35:05 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.
Starting point is 00:35:50 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
Starting point is 00:36:22 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,
Starting point is 00:36:59 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.
Starting point is 00:37:54 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,
Starting point is 00:38:25 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
Starting point is 00:38:46 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.
Starting point is 00:39:22 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.
Starting point is 00:39:41 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.
Starting point is 00:40:10 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
Starting point is 00:40:45 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.
Starting point is 00:41:21 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,
Starting point is 00:42:00 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
Starting point is 00:42:25 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.
Starting point is 00:43:01 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
Starting point is 00:43:41 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.
Starting point is 00:44:37 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
Starting point is 00:45:10 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.
Starting point is 00:45:56 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.