Skip to main content

watch casio usa



greg robbins: i'mgreg robbins. i work in google seattleengineering office as a software engineer. in 1992, i was hired as anindependent contractor at apple computer to writeoperating system code for a experimental hardware project. on that project imet ron avitzur. he was also an independentcontractor doing software for the project.

ron's here to tell the storyof what we did after that project ended. ron avitzur: thank youfor inviting me. let me apologize in advance. there will be no actualtechnical content in this tech talk. i'm turning 40 next week. and so i apologize ifi become maudlin. but i'm taking this opportunityto embrace

becoming an old codger byreminiscing publicly about the adventures of my youth. i started programming in the'70's back when programs were stored on punched cards andthe vt55 terminal was newfangled. i was a faculty brat atlehigh university. so i had access to all sortsof toys as a young'un. when i started college atstanford in 1984, the macintosh was brand new.

and it was an interesting timeto be on campus looking at computer use. because when i started collegein 1984, there were macs on campus. so i had one. and stanford was anearlier adopter. but largely, nearly all thestudents still used typewriters. and the interesting thing tosee was that the original

macintosh, along with macwrite1.0, was so amazingly easy to use and easy to learn that youcould take someone, and i did this many times, someone who hadnever touched a computer before, was completelynon-technical, sit them down in front of the original mac,and in five minutes of instruction with macwrite, theywould learn everything they need to know. and it would be blindinglyobvious to them immediately that they could get the paperwritten that they had to have

written that night, they couldget the job done quicker using the computer, even afterthey took into account the learning curve. and so, in terms of ease ofuse and ease of learning, that's a very strongstatement. that you could take someonethat's a complete novice, and it's just obvious to them that,yes, this tool does the job better, even with the timeit takes me to learn it. i was studying physicsat the time.

so most of my timewas spent doing mathematical problem sets. it involved staying up late atnight, writing out 10 or 20 pages of algebra for each one. and it was ironic that i waswatching, essentially, that the last years of the typewritergo away as word processing was just obviouslythe right way to do things. and at the same time, thecomputer was far more useful to my colleagues writing englishpapers than to me

doing math. for the math i was doing,the computers were just not at all useful. it wasn't that the mathwas difficult. i had access to systems. i wasfamiliar with the state of the art in computer algebraat the time, which was maxima and reduce. and mathematically, they coulddo any of the sorts of things we were doing in ourproblem sets.

but the time it took toformulate your problem in their command line interface,struggle with their syntax, and then interpret the result ina way that's presentable as a document was far more timethan it took to just do everything out longhandwith pencil and paper. and fundamentally, that's auser interface problem. so i took some time off fromschool to develop software to essentially do for mathematicalproblem sets with word processors do for peoplejust writing prose.

this became a macintosh productaround 1987 called milo that was billed as a mathprocessor for students doing problem sets. it integrated text equationsand graphics in a document. the equations were wysiwyg. they appeared in the standardtextbook notation as you entered them. and you could manipulate themdoing the sorts of algebra and calculus things that studentswould be doing as

undergraduates. while the original product,milo, wasn't a commercial success, it was influential ona number of other products. and the source code from it ilicensed out to a number of other companies that was laterembedded in other products. its biggest limitation, justas a tool for students, was that the word processing in itwas extremely minimalist. it was too weak even to dothe simple things that students needed.

so i went out looking forcompanies to, essentially, embed the milo software intheir word processor, and ended up at frame technology. they were looking for amathematical typesetting system for framemaker 2.0. and i worked there for a whileembedding the mathematical typesetting from milointo framemaker. all of the computation thatwent into it, all of the computer algebra system,essentially

came along for free. and they left it in just togive the sales folks more buttons to push to make demos. they didn't quite realize whatthey had until it had been shipping for a while, andsomeone at an arizona nuclear plant sent in a bug report ofthe form, it evaluates this particular integralincorrectly. but at that point, theywere committed. so framemaker is abeautiful system.

it's still shipping today. and frame math is stillderivative from the original work i did on milo. at the time, i was proud to beresponsible for the only page layout and word processingprogram that would evaluate derivatives symbolically andmultiply matrices and have series mathematicalunderpinning. but it still wasn't idealfor students. and again, it was fundamentallya question of

the user interface. there are a number of problemswith user interface in mathematics. the most fundamental one isthat mathematical notation evolved for use withpencil and paper. it involves a much largercharacter set than you typically find on a keyboard. and it's intrinsicallytwo dimensional. so after working at frame for awhile, i went off on my own

and did what many othershave done. i wrote handwriting recognitionsystem that could handle a large character set formathematical symbols and greek letters and also parse thetwo-dimentional structure of the mathematics as youwrite it on a tablet. i took a version of milo, whichembedded the handwriting recognition so that you couldessentially write on a tablet, as if it were a piece of paper,equations and text and scribbles and be able tomanipulate the equations.

and then started taking that tohardware companies, at the time when go and momenta andpen computing were very popular, looking for a hardwareplatform that would be appropriate. and this is how i endedup at apple. i had what was an impressivedemo of pen computing, but still was a long way from auseful product and needed a hardware platform thatwas suitable for it. and this is where i met greg.

so after a year working on asecret hardware project at apple-- and i won't go intoany details on that-- ultimately, the projectwas canceled. and while on the one hand thetime working at apple both was very educational working insystems software, and also very educational being part ofa large company, when the project was canceled, it was,in one sense, a relief. because the hardware project wewere a part of was having problems. and in anothersense, it was extremely

frustrating that, essentially,a year of work was completely wasted. so at this point i decidedthat i wanted to stay and finish it so that itwasn't a waste. as the hardware project waswinding down, one fellow would visit my office almost daily andtell me that the power pc group, which was down thehall, was building some exciting hardware, and i reallyhad to meet them. but while working on this otherproject, i was too busy.

so after the original projectwas canceled, i went and visited the folks at power pc,who were interested in the work i was doing, but they weretoo busy with their own work to be able to hire me. so this one fellow broughtanother friend of his into my office after the project wascanceled and just camped out there for the night. they decided that they weregoing to port software i had been working on to thepower pc hardware.

and they spent till the weehours of the morning going through 50,000 lines and gettingit to run as a power pc native application. at the time, the only way tobuild on power pc was to cross compile from an ibm rs/6000workstation. so it was a difficultpiece of porting. the power pc wasn'tshipping yet. the software tools forit weren't ready yet. and there wasn't a lot ofexpertise in how to build

applications for it. but after many hours, we gotit to compile and link, and then took it down to the nextbuilding where one of them knew where there was one of therare power pc prototypes. the first time we launched it,the monitor attached to the prototype caught on fireand started smoking. i could not make this up. the fellow just shrugged andunplugged the monitor and carried it out onto the balconyto avoid setting off

the smoke detectors,plugged in another monitor and tried again. and we were very impressed. on the power pc machine, it wasrunning 50 times faster than it had been on thedevelopment machine i had been working on before. things that had previously beentaking five seconds of frame were suddenly animatingat 10 frames a second. it was a qualitative differencein what you could

do with the machine. a qualitative differencein the behavior. they just looked at it and said,this doesn't suck, which at apple, at the time,was high praise. typically, people on systemssoftware would struggle to make small improvements. and if they're able to improvesomething a little, they would praise it by saying,that sucks less. so at this point, we hadan impressive demo.

we had a native power pcapplication, almost the only one in existence. because everyone at apple that'sworking on the power pc at this time-- and this is in august of '93-- is completely focused on justgetting the hardware to run, getting everything to runcorrectly under emulation. and no one has spare time tospend working on native applications, because all thefocus is on compatibility.

no one outside the companyexpects apple to succeed. it's been announced publicly,as part of the apple, ibm, motorola alliance, that appleis switching to power pc. but no large company hadmade such a transition successfully yet. and the expectation was thatthe first release of these machines would be a disasterbecause of compatibility problems. so with all of the internalengineering cycles being

focused on compatibility, thiswas one of the very few native applications. unfortunately, after the lastyear of struggling with a failing project, i wascompletely burnt out. we'd been working long hoursand killing ourselves for months trying to keep thisproject from being canceled, long past the point where it wasobvious to everyone on the outside that it was doomed. and i was in no shape to do thework needed to take this

demo and turn it intosomething real. so at this point i calledgreg, who was now in a different division of thecompany, and explained that you've got to come overand see this. i'd really like to ship it. but there's an enormousamount of work to do. and there's no way ican do it alone. greg, fortunately, was justfinishing up a contract in his division at the time.

so he talked to his manager andsaid that he would start reporting to me. and she didn't ask who i was. and she let him keep theoffice and the badge. and my old manager hadn'tturned off my badge. so we both still had accessto the building. and we both stillhad our offices. but he told people that hewas reporting to me. and i told people that iwas reporting to him.

that left no managersin the loop. so there were no meetings. and we could be reallyproductive. it was an amazing change. i went for months upon monthsof what seemed like a death march of struggling to dolittle things and being completely unable to accomplishanything just because of the friction in theprocess to suddenly having no meetings and being able toprogram 12 hours a day, being

able to decide things by goingin and chatting for 30 seconds or five minutes and justasking, what's the right thing to do? ok. let's go do it. and suddenly, we were makinga huge amount of progress. it was a great relief. and greg was starting fresh. i was burnt out.

but greg wanted thisto succeed. and he was putting an enormousamount of effort into just being perfectionist aboutevery detail. when we started, i figured, ithink there's about a month's worth of work to actually takethis and polish it into a finished product. greg probably had a morerealistic idea of what that meant at the time. so while this was going on, ihad no official relationship

with apple. i have been a contractor. but the contract ended whenthat project was canceled. i tried to be completelyhonest with everyone when this came up. people would sometimes askme, do you work here? and i'd tell them no. and then, they'd assume,oh, that means you're a contractor.

and i'd say, well,actually no. and then they'd ask, butthen, who's paying you? and i'd say, no one. and then, they'd ask,but how do you live? and i'd explain,i live simply. and then, they'd get a reallystrange look on their face and say, what are you doing here? at that point, i'd pullthem into my office and give them a demo.

and the demo is very flashy. and i'd explain, well, i hadbeen a contractor, but the project was cancelledsometime back. and i decide to stay andfinish it anyway. and all the engineers thati explained this to were extremely sympathetic. at this point in apple'shistory, just about everyone had been through one, if not twoor three or five or seven, canceled projects.

it was very, very hard to getthings to ship back then. there were lots of waysprojects failed. and lot more projects gotstarted than finished. so after seeing what i wasdoing, they were sympathetic, and as often as not askedif there's any way they could help. there had been somethingof a history of skunkworks projects. there had been many times in thepast where engineers took

their cancelled projects andworked on it after hours on their own time tryingto revive it. and sometimes we'resuccessful. there was one project at thetime, appropriately enough code named specter, which hadbeen canceled and revived five times at the time i was there. i don't know if it'sshipped since then. mostly, because we didn't reportto anyone, we weren't anyone's responsibility, wewere just under the radar.

no one worried about us becauseeveryone was focused about worrying about what theywere responsible for. and we've both been workingthere for over a year. so we were familiar faces. and it was assumedwe belonged. everyone assumed someone knewwhat we were up to in and was responsible for us. and we just relied on the powerof corporate apathy. we just kept showing up.

because it was so far outsidepeople's expectations that it just didn't occur to anyonewhat was going on. but i did slip upat one point. someone from facilities visitedme in my office one day and explained we're movingpeople into these offices. because on my map of the floor, these offices are empty. so your manager's going to haveto find you new space. and that sort of thing happenedall the time.

engineers changed from one groupto the other, and didn't feel like schleppingall their stuff. so they stayed in their oldoffice until someone else needed to space. and she just figuredthat my new manager would find me space. but i've been so used to tellingthe story, just as i'm telling you here now, itold her the truth. she was not amused.

she called security and havethem cancel our badges and told us in no uncertain termsthat we had to leave. now, right about this time applewent through the great layoffs of 1993 where they laidoff about 10% or 15% of their global workforce. during the layoffs,we were safe. because we weren't on the books,we didn't officially exist. after the layoffs,there were plenty of empty offices.

so we moved our stuff. and i made an effort to avoidthis one facilities person who actually knew we didn'tbelong there. and our badges nolonger worked. but we have them physically. so we just wore them as decoysand made sure they didn't get anywhere near a door detector. and i'd show up in the morningand i'd park my car and look around the parking lotfor a familiar face.

and then time my walk tothe door to arrive right behind them. they'd open the door for me andsay, good morning, ron. i'd say, good morning, andtrail in after them. or if greg got their first, i'dcall greg and he'd let me in or vice versa. and we were just beingso productive. we started out working12 hours a day. and just went up from therebecause we were

getting a lot done. that, at this point, the thoughtof stopping it for the trivial reason like not havingbuilding access just didn't occurred to us. physically, we couldn'tdo what we were doing outside the building. because the only way to compileon power pc required an rs/6000 workstation withcustom software that didn't exist outside of apple.

and there were no developernotes or developer support, because no one was buildingfor power pc. so we really needed access toengineers to even know what to do things or be ableto do things. and there were no prototypes tobe had outside the company. we realized what we weredoing was ludicrous. at one point, greg and i juststopped and looked at each other and said, ok. let me get this straight.

we're literally sneaking intothe building, evading security, to do volunteer workfor an $8 billion corporation? at least this is certainlygoing to have good storytelling value. in spinal tap idiom, thisone goes to 11. now, we were making greatprogress programming. but the more we did, the more werealized that there was an enormous amount to do. and we couldn't do it alone.

it wasn't just a questionof the programming. there was everything else thatgoes into making software. it takes a team effort. and there were lots ofthings we just didn't have the skills for. at one point, i went out andjust hired out of pocket a graphics designer, a visualdesign expert, that had previously been laid off fromapple and just hired her onto my project.

she didn't know whatmy situation was. and i thought it was safer forher not to know, just for her own benefit. so i invited her in and showedher what we were doing. and she did some designs forus that eventually shipped. documentation was a problem. i hired some people to helpwith the documentation. our biggest problem was qa. fundamentally, you can'tdo your own qa.

it's a question of seeingyour own blind spots. and it's expensiveto do it well. and that was something wecouldn't afford and needed people to do. unfortunately, at this point,i always kept my office doors open. and people liked what we'redoing, so they'd come by daily to see our progressreport bugs. i'd fix them and invite themback in the next day to test

their fix and show themwhat they'd done. then, they got excited thatthey're having some effect. and so, a lot of people weregoing through my office on a regular basis to see whatthe latest changes were. and we'd become something of anunderground cause celebre. people would whisper about uslike, have you heard the story of these two guys? you've got to see whatthey're doing. it's really cool.

and i let it be known that wereally needed help because we needed people to starttesting this. so at one point, these two guyscome down from upstairs. they're doing qa on the powerpc system software. and they tell me they'rereally bored. because they spent a longtime developing automated test tools. and now, they're at the pointwhere they push the button, and the tests will start inthe morning, and they see

which api's break, andsend out the email. but basically, it's anautomated process. and they heard we neededsome help. they told us that they had stuffthey were supposed to officially be doing. but it was boring. so they wanted to help us out. but i shouldn't letpeople know. so i gave them copiesof the software.

and they started reportinglots of bugs. it was great. one of them had a phdin mathematics. one of them had done sharewaremath software before. they were amazing. i could not have found morequalified people had i looked. while this is going on, thevarious engineers that are helping us out want totell their managers. they think it's cool.

it demos well. they think, look, of course,they're going to love what you're doing. you have to show it to them. but i've been puttingthem off for weeks. because it's one thing forengineers to think something as cool. and it's another thingto ship something to millions of customers.

and i know that difference. when an engineer says, look,i've been working on my own time, and i've developed thiscool thing, the default assumption is that there's avery high burden of proof that what you've done actuallyis worth shipping. and when we were at a stagewhere the software would still crash, i didn't want to showit to anyone in management. because if they see something,it crashes, they're just going to shrug and say, yeah,that's cool.

i don't have time tothink about this. and so, for a long time, i wasonly showing it to engineers and telling them,wait a while. it has to be perfect beforeyou show it to your management. and the big thing that wasmissing was everything we were doing was in 2-d. this was ata time when there were no gpu's, and 3-d hardware wasthe province of sgi. so we needed to be ableto render 3-d

graphics and software. and it's not an entirelytrivial thing to do. this was before therewas a lot of open source to choose from. and it looked like somethingthat would take me at least a month to do thati didn't have. i talked to a friend of mine,who's at google now, who was an expert in these matters. he took a weekend off from hisstartup company, and wrote us

a 3-d software renderer. that was just amazing. he did in two days whatwould have taken me weeks or a month. and it worked perfectly thefirst time bug-free. once we got that integrated in,things were stable enough and impressive enough that i wasready to seriously start thinking about how wecould ship this. and the biggest problem thatfaced us was a question of how

to get something to ship. because i knew lots of official,funded projects on the books that hadbeen cancelled. there were a lot of people inthe company that had the power to stop things, for onereason or another. but it's very difficult toactually get through all the land mines and convince folksthat this really deserves to be on the machinesand to ship. so at one point, a fellow fromthe hardware team came to my

office early in the morning-- i think at 2:00 am one night--and explained to me how apple worked physically. he said, apple is ahardware company. there's a factory outin cork, ireland that produces machines. and the production ramp is goingto start on such and such a date. and the night before the factorystarts boxing machines

in the warehouse, i fedex themwhat's called the golden master hard disk. and that gets cloned onto allthe machines in the factory. and at this point in apple'shistory, there was a huge attrition rate. the company wasn't treatingengineers well. the future of the company wasseriously in question. a lot of people werejust leaving as-is. and he told me, so, if you getme the bits the night before

the golden master gets fedexedto cork, they can appear on the gm disk. and they will be boxed in 30,000units in the factory before anyone knowsthey're there. in a very real and pragmaticsense, he said, i decide what does and does not ship. so this conversation, needlessto say, warmed my heart. because that was a problemthat i was completely flummoxed on.

i just tried not to think aboutit because it was too depressing. and it was obvious if he pulleda stunt like that, he would lose his job, or worse. and as soon as anyone realizedit was there, the legal exposure, they would pullit and kill it. so it wasn't a pathwe wanted to take. but it was really veryreassuring that the offer was made.

now, in retrospect, i don't evenknow if he was serious. but this is what he told me. and it let us move forwardwith more confidence. now, we didn't want himto lose his job. and we thought that it was ourresponsibility to at least do the due diligence and make ita good faith effort to go through proper channels. so when we had the 3-d and wheni was no longer aware of any crashing bugs and it hadbeen in the testers' hands for

long enough, i told all theengineers that had been supporting us, ok, it's time. you can go tell your managersto come meet me. oh. and even before this, this wasa time when we had access to amazing resources that wecouldn't have had had we officially existed. this was a time when i knewfolks at ibm that were complaining.

ibm was just starting their fabruns on the original 601 power pc chip. and it wasn't fullydebugged yet. people at ibm couldn't get thechips because, although they were going to be using it intheir workstations, apple would ship 1 million power pc'sthe first year, which is 10 or 100 times more thanibm would ship. so all the initial chip runswent to apple for testing. and of that, i think maybe 200power pc chips that were in

existence at all, most of themwere in hardware being tested. there was a very small numberof coveted machines that the system software folks who neededit to test to ship on the initial release had. and no one else in the companycould get them. i would occasionally have lunchwith people that were fairly high up in projects notrelated to power pc who would complain that, yeah, i'm on thewaiting list. and i won't get a machine for six months.

but at this time, greg andi actually had some. an engineer from the hardwaregroup came to my office at midnight one day and brought amachine in and said, now this looks like an ordinary68k macintosh. so don't let anyonetake the lid off. officially, this machine doesn'texist. if anyone asks, i don't know you. and whatever you do, it mustnot leave the building. so we had a power pc towork on at this point.

still, we're sneaking into thebuilding, and still no managers know about us. but the project's farenough along that we can give it to people. it doesn't crash. it looks impressive. and so, i tell everyone, ok. bring your managers in. we'll make a good faith effortto actually convince them that

this needs to ship. and so, they all went to theirmanagers in various different groups and said, there's thesetwo guys you have to meet. we can't explain why. just really, it'sworth your time. be in this office 2:00in the afternoon, and it'll be worth it. trust us. so the afternoon comes around,and these 15 people are packed

into my office. but i haven't met, introductionsall around. and i give them the demo thati'd been giving to all the engineers that have beencoming through. and i explain howthis is really useful in a math classroom. that it's something that highschool teachers can use, essentially as an animatedblackboard to explain abstract concepts visually.

and for apple, it's also ademonstration that the power pc fundamentally changesthe rules. because previously, softwaredesigners would design their software around the limitationsof an eight megahertz, 68k machine, thebottom of the line. because they wanted to sell tothe most computers possible, to the largest installed base. and so, they had to assume thatthey were writing their software for people withthe slowest machines.

and that affects a lot of userinterface design decisions. and what the power pc let appledo is it let apple say, this is the new lowestcommon denominator. when you're designing software,think of this as the new slowest machine. and it's 20,000 times fasterthen the original macintosh from 10 years previously. and that lets people, as asoftware designer, think of things very differently.

things that have previously beenbatch-oriented can become interactive. things that previously used totake a long time, you could do in an interactive way, whichlets you simplify the interface in a lot of ways thatnow, 12 years later, have become natural. we take for granted, butat the time were new. so i gave a demonstration toall the managers, mostly focusing on the user interfaceimplications.

that this is a demonstration fordevelopers on how they can improve their user interfaceusing the speed of the machine to do things in a new way. and the managers all looked atthis and said, that's awesome. that's the story we've beentelling people all along. but because we haven't had anynative apps because we've been so focused on compatibility,we've had to talk about it. we haven't been ableto show them. but this really illustrates whatwe've been trying to do.

and no one else at applewas working on educational math software. so this didn't stepon any toes. the managers looked at that thisand said, that's great. why has it been such a secret? who's your manager? why didn't they tell usabout this before? so at this point, i tell themthe story, much as i'm telling you here now up this point.

and i explained, no, the projectwas canceled several months ago. this badge was canceled. if i get it anywhere near adoor, security will appear immediately and escortme outside. and they laugh until theyrealize i'm serious. and then they quiet and thinkabout it for a bit. and then, they just lookat me and say, ok. we really want to ship this.

we'll figure outa way to do it. whatever you do, don'trepeat this story. so now, we're adopted by thepeople in charge of the power pc project on whom the company'sfuture depends, which, in some sense,makes this official. but we're still sneakinginto the building. so at this point, thingsget really weird. because they're assigningpeople to work on it. and i'm in the middle of thiswhirlwind of activity with all

of these employees actuallyassigned to do various things on it and this project that i'meffectively managing while i'm sneaking intothe building. so the first thing they do,because it's really easy to do an impressive demo that isjust smoke and mirrors. so the very first thing they do,naturally, is they have to get some due diligence. they have to get some someoneto test this and to see whether it's real, whetherit's worth shipping, or

whether it's just smoke andmirrors in the demo. so that head of qa on the powerpc software is the first person to take me aside andsays, i've got these two guys working upstairs. they already have a fulltime schedule. they're really overworked. but i want to introduce you justto see whether they can squeeze in extra time into doingsome qa on your project 'cause we need test this.

and i smile. and he introduces us. and we shake hands. and i meet my testing team. i didn't tell him that they'dbeen working on it for a few weeks now. so we have official qa now. the other big thing we needis usability testing. because we want thisto be actually

useful in the schools. it's going to go outon every machine. and it's just going to be therein the classrooms. and the big question for us is,is this something the teachers can use? and it's very different todesign software for engineers than it is to designsoftware that's useful in the classroom. in a classroom situation,teachers have no

attention to spare. any time spent playing with thesoftware when it doesn't work is taking away from thecurriculum, it's taking away from students. any time something crashes,it's just a waste of time for everyone. so apple assigned people fromtheir hi department to do a formal usability study. they assigned people fromqa to do testing.

they assigned a whole lot ofpeople to do localizations. it was, i think, translatedinto about 15 languages. meanwhile, we're sneakingin the building. apparently, the people who runthe power pc project, despite the future of the companydepending on it, can't get us badges. because you can't havea badge without a signed purchase order. you can't get a purchase orderwithout a signed contract.

and there's no way they couldexplain our situation to legal without us being escortedout immediately. so at one point while all thisis going on, this one fellow, tim, sees greg waiting in frontof the building looking for someone to let him in, andjust accosts greg and says, i'm sick and tired of you guysloitering in front of the building every day. i'm going to get you badges. so he comes to my officeand tells us he's

going to get us badges. i tried to explain that,no, they've tried. they couldn't. we can't get badgeswithout a po. we can't get a po withouta contract. and he just drags me down tohis office and sits on the phone with the badge folks. and he goes around with themin circles for 20 minutes. and i'm just listening to hisside of the conversation.

but i'm sure it's going to the sameway it always has, and he'll fail. they say, well, if they'reemployees, they get their badges after they go throughthe employee orientation. and he explains, they'renot employees. we have no intentionof hiring them. and they say, well, if they'recontractors, to get the badge, you need to get thesigned contract.

and then, he stops and says, no,they're not contractors. we're not actuallypaying them. then he says, well ifthey're employees-- and they just go in a circle. they're not contractors. they're not employees. we're not paying them. yes, they need badges. but he wore them down.

eventually, they said ok. you take the badge form. where it says contractors,you cross that out and you write in vendor. and where it says contractnumber, you write in the magic words, no dollar contract. he got us badges the next day. it amazed everyone. it amazed the people runningthe project.

apparently, apple, as mostcompanies, has a strict caste system. you can tell the distance bythe background color on people's badges, where theyare relative to you in the caste hierarchy. the white badgesare employees. they're very hard to fire, andthey get lots of perks. i think it was the yellow badgeswere summer interns. they're treated as employees,but they're really just

college students. and the green badgesare contractors. and because of various irsrules, you can't give them any perks and have to treatthem very shabbily. but we had orange badges. and no one had seenthese before. but what amazed me is theyexactly described us. as vendors, what it meant isthat we didn't work for apple. they didn't pay us.

but my company has us on loanto apple to work on site. so we were the few, theproud, the vendors. the people that water theplants, worked in the cafeteria, and fixed the xeroxmachine are the vendors. they don't actually work here. but we get building access. so we didn't have tosneak in anymore. that was good. usability testing was a veryeye-opening experience for me.

i had been working on variousforms of this software for 10 years, entirely focusedon the usability. we were designing it entirelyin the mind of this is going to go into classrooms withoutany training, with very little documentation, withno support. and we want it to be usefulto teachers and students. and we spent a long timeagonizing over small details in the user interface thinking,what would make its simplest, easiest to learn,easiest to use, most useful in

the classroom situation? and apple did a fabulous jobon the usability testing. they went out, and they gota group of teachers. and in the first day of thetesting, the teachers all sat around in groups of two. they were given the software andsaid to make problems for the students to work duringthe rest of the week. because they were working ingroups of two, they would talk aloud through everything.

and the person running thetest just sat them at the software and said, thisis going to go on machines in the classroom. it's not coming with anything. so we want to see what you cando with it to try and set some problems for your students. and then, he just sat withfolded hands for the next two hours watching them, not sayinganything while they tried to use it, while i wasbehind a two-way mirror

pounding on the glass. it's a very eye-openingexperience. i think anyone who designs userinterface, all engineers should be forced to go throughthis, watching real users actually try to usetheir software. the questions we agonized overwere so far beyond the actual issues that stoppedthem several steps before they got there. and the sorts of things thatthey have trouble with were

things that nevereven occurred to us could be a problem. and watching that eight hours aday for five days, as group after group went in and ran intoproblems, it forced us both to go back and rethink alot of things from scratch, and enormously improved theinterface, and enormously improved how it was usefulin the classroom. so being publicly known thecompany helped in a lot of ways with all of theresources that we

suddenly had at our disposal. usability testing was amazing. it also made thingsmore complicated. because suddenly, being public,the software was being demoed to outside companiesas well. and as soon as that happened,two different groups called in, one of them claiming thatthe software infringed upon his patent causing a fire drill,because apple has deep pockets and they don't want toship something that gives them

any exposure. it took me a while todemonstrate that the patent that he was referring toactually referred to me as the prior art. so they really didn't haveto worry about this case. and another company that didmathematical software simply called and said, you shouldn'tship this, just because they want to be the only peoplethat are known to ship mathematical software.

and apple very politelydeclined, which impressed me. because a week beforewe were still sneaking into the building. and the next week, apple isrising to our defense. so at this point, we're workinglong hours, 14, 16 hours a day. it's kind of a blur. we just show up, run through thetests, check out the bugs, fix things.

we were very fortunatein one respect. when we started the project, theoriginal ship date for the power pc hardwarewas much sooner. and because they had to ramp upthe factory, the drop-dead date for the software to startthe production was several months before the actualrelease date. and so, when we started, wethought we actually only had a little more than six weeks oreight weeks to finish the entire project beforeit had to go to the

golden master disk. and it was a verytight schedule. we designed everything aroundthat schedule, because they weren't going to delaythe hardware for us. we weren't on anyofficial plans. if we were late, they justwouldn't ship it. that was simple. and no one else would care. on the other hand, because noone was expecting the software

there was no pressureon features. there was no design document. there's no one saying, it hasto do this, this, and this. so we just cut down the featuresets to what we basically already had and whatwe knew we could ship reliably, and then focusedentirely on usability and on making this offer stable. we wanted to make sure thatsomething shipping on millions of machines would never crash.

and then, the hardware scheduleslipped three months, for reasons that had nothingto do with us, obviously. and so, at this point, we havethe code essentially frozen, the feature set completelyfrozen. and we have an extra threemonths during which we did nothing but testing and aline-by-line code review. it was a unique opportunity. and it was more testing thani'd ever had any project before or since.

because we were the only nativepower pc application, everyone who had a prototype-- and, as time went on, this wasmore and more people-- immediately went to oursoftware to play with. because it was the mostinteresting to play with. other than our software and oneor two other tiny demos, it wasn't obvious outside thebox that this was nothing but a typical macintosh. compatibility was really good.

but running things underemulation, they ran about as fast as they used to on the lastgeneration of machines. it was only when you ran anative application that, suddenly, it was doing thingsyou could not possibly do on the previous generationmachines. and it was obvious that, underthe hood, this was something completely different. and so, for many months, as theonly native application, everyone who had the hardwarewas playing with our software

and coming by my office andsaying, this doesn't work. this is confusing. it crashed here. and so, for many months,we had no features. we did a line-by-linecode review. and we did nothing but testingand no code changes that weren't bug fixes. as a result, it was the moststable application i have ever shipped before or since.

and i like to brag thatwe reached what-- apple for many years after thatpoint, when people would bring their hardware incomplaining of random crashes, one of the things they wouldrecommended, and one of the first things they would dowhen they had a piece of hardware is they would run theself-running demo that the graphing calculator shippedand let it run overnight. and if the demo crashed, theywould classify that as a hardware failure.

i like to think of thatas the theoretical limit of software stability. now, to be fair, later versionsof the software beyond 1.0 were notthat crash proof. but that original version i'mvery proud of in that respect. so to make a long story short,eventually, yes, they shipped it. it's still shipping in the macos 9 ghetto to this day. but it's been shipping now for12 years and has been on, oh,

20 or 30 or 40 millionmachines. it's in use in high schoolclassrooms around the world. only recently, with tiger, didthey replace it with a native program called grapher that'scompletely unrelated to this. but it's still shipping aspart of the mac os 9 partition, if youinstall classic. now, as the project was ending,i hired a few people out of pocket and wasable to pay them. but greg had been working 12,14, 16 hour days for six

months now as a favor to me onsomething that i initially said, oh, it'll takeabout a month. and there's no way he couldexplain to his parents what he'd been doing. they don't use computers. they're not technical. so one day, i was looking at thenew york times, and i saw the picture of a friend of mineon the business section. and i knew the guy thatthe article's about.

so i showed it to greg and said,hey, i know this fellow. how'd you like to have yourpicture in the new york times so your parents know whatyou've been up to? and he looked at me and madethe only possible response. he said, yeah, right. so i made a bet on the spot fordinner at this really nice restaurant. and to be honest, ok, i wasexpecting to lose the bet. but i knew the fellow that hadwritten this other article.

and i called him up and said,i've been working on this cool software. i'd like to show it to you. now, i don't work for apple. and i can't represent apple. but the software is somethingi've been working on for 10 years. and it's my software. so i can talk aboutthe software.

i can talk aboutuser interface. and i invited him over. and i gave the same spiel iwas giving other people. i didn't talk about apple atall, except to say that we developed this new software torun and new faster machines. and the apple, ibm, motorolaalliance was public. so he knew about that. and he was writing an articleprincipally about the alliance between apple, ibm,and motorola.

but they're big companies. and just to put a friendly face,a human face on the main article, he talked a littleabout the new generation of software and had a photo ofthe three of us who had principally wrote the softwareon the front time of the new york business section, so greg'sparents could see what he had been up to. now, i called someone i knewin apple's public relations department and said,i'm giving an

interview to the times. would you like to send someoneover to represent apple? and they gave me the standardresponse, engineers are not allowed to talk withthe press. but i didn't work there. so that was-- the next time i saw thatpr person, she was absolutely livid. presumably because therewas really nothing she

could do about it. we couldn't be fired. but it was good pressfor apple. and our parents were pleased. that's basically the story. i'm still workingon the software. this is last year's version. i'm working on the next releasethat will be out in six months or so.

i've been working on it now for20 years every day, as an exercise in softwarearchaeology. audience: where can we get it? ron avitzur: email eitherme or greg. the official plug. the website is www.pacifict.com,or just google graphing calculator. audience: so how did you guyspay for your apartments and food and stuff like that?

[inaudible] ron avitzur: well, wewere working 12, 14, 16 hours a day. so our expenses were very low. and i live simply. and we were both contractorsat apple prior to this. apple paid very wellas contractors. in some sense, my attitude wasapple paid me very well as a contractor for thingsthat didn't ship.

i felt duty bound to actuallyfinish it and ship it. audience: were you retroactivelypaid at all or compensated in any wayonce it shipped? and also, did jobs evercomment on [inaudible] ron avitzur: all of thisoccurred after steve jobs had left. and before he returned. so it was not duringhis tenure. i haven't heard anythingfrom him about it.

we wanted the softwareto keep shipping. we didn't want apple to have anyreason to have to pull it. so yes, after all of theevents of the story, everything was maderetroactively kosher. the software was licensed toapple so that they could ship it comfortably for aslong as they liked. audience: could you repeat thequestions for the video-- ron avitzur: oh, i'm sorry. the question was werewe eventually paid?

and did steve jobs evercomment on it? and we did eventually license itto apple for a nominal fee. but no, there's was neverany comment from steve. audience: so how long did yougo between paychecks? ron avitzur: the questionwas, so how long did i go between paychecks? i don't actually recall. because i'd been working for acontractor my entire career, it was typical for meto go two or three

years between paychecks. so it wasn't out of theordinary in my case. i often worked for a company,worked on my own for several years, and then licensedthe work. and so, this feltquite natural. audience: it's not a question,but i, when i first bought the power pc, i was delighted withthe hardware and [inaudible] was just the coolest thingon the system. and i absolutely lovedthe software then.

this is fantastic hearingthe story now. ron avitzur: thankyou very much. audience: thank you very muchfor sharing it with us. ron avitzur: our pleasure. [? valdemar. ?] audience: what do you do now? ron avitzur: oh. what do i do now? audience: are you still workingon this full time?

ron avitzur: i'm still workingon what is essentially the first c program i startedwriting in 1985. i'm still workingon it full time. you know what software's like. it's still not done. teachers have been usingit in this form for over 12 years now. i have a very long collectedlist of requests that they have. i'm continuing to rundown the feature list,

continuing to find ways toimprove it without making the interface more complex. it's a constant tension betweenkeeping the interface simple, easy to use, and easy tolearn while also being able to do more interesting andmore powerful things. the fundamental design thati'm trying to reach is one where, if you open up a typicaltextbook for some subject, you'll often see anequation and a picture. and i want to be able to typethat equation as you see it in

the textbook and generate anappropriate picture as a visualization for that. and that's a very broadspace of problem. audience: so you madethis 12 years ago. since then, computershave advanced a lot. and you mentioned that thiswas the activation that basically illustrated howpowerful the power pc was. and has it changed a lotin the past 12 years? have you taken advantage ofthe many generations of

hardware improvements thathave come since then? ron avitzur: the question isthat the original graphing calculator, 1.0, wasnow 12 years ago. and hardware has improvedenormously in the last 12 years, just as it did in the 10years between the original macintosh and the power pc. and have you taken advantagesof the improvements in the hardware since then? absolutely.

that's part of why i'mcontinuing to work on it. each new speed bump in availablehardware enables new kinds of visualization. and i'm absolutely inlove with the modern generation of gpu's. you often have far morehorsepower sitting on your graphics card, which is usefulin a completely general mathematical way as a generalsimd computer, single instruction, multiple data,to do vast amount of

computations quickly. one of the features i'mparticularly proud of in this release from a couple of yearsago, it will take equations you type, and on the flycompile them into gpu programs. so that, as well asusing the cpu to render the 3-d image, it will use the gputo texture that, based on the explicit equations that you'vedtyped, compiling it on the fly for the gpu. with each new generation ofhardware and each new

improvement, it enables newkinds of visualization and enables new thingsin the classroom. so yes, absolutely. audience: i have acouple questions. the first one is do you know whyapple stopped using your program and they made the switchto a different one? ron avitzur: the first questionis, do i know why apple stopped including ourgraphing calculator and acquired grapher froma swiss company.

i can't speak on behalfof apple. i could only speculate. and i wouldn't wantto speculate. i expect part of the reason,certainly, it took us a very long time before ourmac os 10 ten native release was available. it was actually available beforethey released tiger. but that was at leastpart of the issue. i don't know fully what wasgoing on back there.

i'm actually very much outof touch with apple. i don't know what goes on behindclosed doors there. audience: my second question is,i'm just curious, what do you think the coolestfeature of your graphing calculator is? ron avitzur: what do i thinkthe coolest feature is? there's two parts to that. fundamentally, i still think thecoolest thing is the very boring thing.

just the entirely useful and 2-dwork that you could do 20 years ago on old hardware. that you can just type sin x andimmediately get a useful picture without a lot ofdialogues, without a command line, without a lot of interfacein your way. that you can just focuson the math and say, what's going on here? and that's not flashy or whizzyand could have been done a long time ago and workedfine on 68k machines.

but in terms of being actuallyuseful in the classroom, what i think is most cool about itis that teachers can bring this up on an overhead, and,without preparation, type something in, get a prettypicture, and then move on with the rest of the lecture, havingspent 30 seconds on it, without having to focus all oftheir attention on ok, i'm going to use the computer now. wait while i get thingsset up perfectly. and let's hope itactually works.

being able to do something thata teacher can use in a hectic classroom with theirattention split and without having time to prepareeverything advance, in my mind, that's what'smost interesting. now, as a technical person,though, the other side of things is, as a programmer,there's a lot going on under the hood to make things fast.because the fundamental question i keep looking at is,given whatever today's state of the art in computer hardwarespeed is, what can i

do with that speedin a fluid way? what can i do that speedthat happens with immediate feedback? and that keeps changing. and most recently, all of theevolution of the gpu towards putting all of this amazingfloating point computing power and parallel hardware on yourvideo card lets you do really nice things. and so, again, if anyone herewould like to play with it,

just email greg or i.

Comments