Oral History of Andy Hertzfeld and Bill Atkinson Interviewed by: Grady Booch Recorded: June 8, 2004 Mountain View, California CHM Reference number: X2786.2004 © 2004 Computer History Museum Table of Contents INTRODUCTION.......................................................................................................................................................3 EARLY COMPUTING EXPERIENCES..................................................................................................................4 PERSONAL BACKGROUNDS.................................................................................................................................5 EARLY APPLE DAYS...............................................................................................................................................7 CHALLENGES OF IMAGES..................................................................................................................................12 INFLUENCE OF MACPAINT ON IMAGING SOFTWARE..............................................................................15 BIRTH OF THE LISA..............................................................................................................................................16 EARLY GRAPHICS AND USER INTERFACE DESIGN...................................................................................19 KEY PEOPLE IN EARLY DEVELOPMENT.......................................................................................................21 LISA DEVELOPMENT............................................................................................................................................22 MACINTOSH DEVELOPMENT............................................................................................................................24 COMPARISON OF LISA TO MAC.......................................................................................................................26 USER INTERFACE DEVELOPMENT..................................................................................................................31 WORKING ON MACINTOSH................................................................................................................................33 STEVE JOBS TAKES OVER MACINTOSH PROJECT.....................................................................................36 ART OF DEVELOPING SOFTWARE...................................................................................................................39 CHALLENGES SURROUNDING MACINTOSH.................................................................................................43 MACPAINT DEVELOPMENT...............................................................................................................................46 EARLY MACINTOSH DOCUMENTATION........................................................................................................51 SHIPPING VERSION OF MACPAINT.................................................................................................................53 STORY BEHIND THE COMMAND KEY.............................................................................................................60 LAUNCH OF THE MACINTOSH..........................................................................................................................61 MACPAINT'S ULTIMATE INFLUENCE.............................................................................................................63 EXPERIENCES POST APPLE...............................................................................................................................64 ADVICE TO TODAY'S DEVELOPERS................................................................................................................67 VISION OF FUTURE COMPUTING.....................................................................................................................68 Andy Hertzfeld and Bill Atkinson Abstract: On June 8, 2004, Grady Booch interviewed Bill Atkinson and Andy Hertzfeld, early Apple developers, on videotape for the Computer History Museum’s Oral History Program. This is a transcript of that session where they discuss the development of the Macintosh and its early software, particularly, MacPaint. The two programmers relate their early computing experiences, how they came to Apple, and share stories of what went on during the early ‘80s at Apple. They discuss the evolution of technology from the Lisa to the development of the Mac, including descriptions of the design decisions along the way. Atkinson and Hertzfeld talk about the details of creating early software for the Macintosh, and show onscreen versions of the software, including a demo of MacPaint 1.0. Introduction Grady Booch: Today, we have a session for the Oral History Project sponsored by the Computer History Museum. In particular, we're looking at MacPaint. There are lots of stories we can talk about within Apple itself. We're going to focus mostly upon MacPaint and what swirls around it doing double duty in this interview because you guys have just some great stories; this is also part of our effort in the preservation of classic software, and what other great software can we point out in the world than MacPaint? This is classic, classic stuff. I'm Grady Booch. I'm not on camera, so I'm just this disembodied voice on the tape. We have here, on my left, Bill Atkinson and then, my right, Andy Hertzfeld. First, I'm going to ask you guys, what's your current computer? What are you using these days? Bill Atkinson: I use a G5 with dual two gigahertz processors, about 23-inch cinema display that's accurately color calibrated. I recently did a comparison of the original Mac with my current one, and my current one has 64,000 times as much memory; it has 20,000 times as much processing power and 1.3 million times as much disk storage. Booch: Oh, my goodness. C HM Ref: X2786.2004 © 2004 Computer History Museum Page 3 of 69 Atkinson: And I still complain that it's not enough. Booch: Andy? Andy Hertzfeld: I use mainly Macs and I use that one, almost an identical machine, although I think I might have a little less RAM. I only have three Gig. Atkinson: I have eight. Not that I can use all of it. Hertzfeld: But, I also do a lot of work in Linux and I use Intel machines, so I have Dell machines as my servers and I have Sony machines as my Intel client machines. Early Computing Experiences Booch: What was your first machine? Hertzfeld: First computer I ever owned or programmed? Booch: That you ever owned and ever programmed. Hertzfeld: The first one I owned was an Apple II, serial number 1708, which I bought in January, 1978. Booch: So, you actually had to buy it? Hertzfeld: I bought it. I wasn't an Apple employee then. I was one of those people who was led to Apple like a moth to the flame; the Apple II attracted me to Apple. Booch: Very cool. And, Bill, what was your first one? Atkinson: My first one was a little, teeny board prototype thing, and then very soon after that I got an Altair that you had to solder in the 21L02 memory chips. Then I moved up to an MSAI which had 20 slots. I could actually put 16 memory cards in it and have a whole megabyte of RAM. Booch: Ooh. Atkinson: That was in the days where you had to assemble. The memory cards came with a bag of chips and the circuit board, and you had to solder them, and you had to decide whether C HM Ref: X2786.2004 © 2004 Computer History Museum Page 4 of 69 you were going to pop for sockets or not because the memory was pretty unreliable. But the sockets were unreliable too, so it was a tradeoff. Booch: That's great. Well, it goes without saying, that these two guys are part of the soul of the Macintosh software, and, as we talked about before we started here, Burrell Smith on the hardware side, and Steve Jobs – his spirit is very much in this. But, Bill, you're the guy behind MacPaint, so we're going to spend some time on that one. Let's go way back. Where were you guys born? Tell me a little bit about your education. Personal Backgrounds Atkinson: I was born in Iowa, but moved out to California before I was one-year old, so I have no memories of Iowa. I grew up in Los Gatos, which is not that far from here. Booch: Has it changed much since then? Atkinson: Oh, yeah. Well, when I left to go to college it was the Santa Clara Valley. When I came back eight years later to work at Apple, it was the Silicon Valley. Booch: Where did you go to school? Atkinson: I went to undergraduate at UC San Diego, where I studied chemistry and biochemistry, and University of Washington at Seattle for my graduate work in neuroscience. And I got sidetracked. I was using the computers to run my experiments and sort of got more involved in the computers and ended up getting lured away from my neuroscience, and my friend from San Diego, Jef Raskin, invited me down to Apple. Booch: So, when did you first start programming then? What was the first program you ever wrote? Atkinson: Oh, it was probably something for a beginning programming class down at UC San Diego. Booch: Do you remember any professors in particular that were important mentors for you? Atkinson: Don Norman, who was not only teaching programming but had a good way of looking at computers. Oh, I guess a bigger influence would be Jef Raskin. Jef really had a healthy disrespect for the computer, and I think that has served me well in designing user interfaces for people. Here's an example: Each department had a budget for computing time that they were supposed to spend at the computer center. Jef Raskin took his and bought mini C HM Ref: X2786.2004 © 2004 Computer History Museum Page 5 of 69 computers, beanbag chairs, and video terminals and set up a little computing center with just his budget that was supposed to pay for time; he had a much better environment where students could come in and write programs and see the results right away, when everybody else in the school was submitting a deck of punch cards to an operator and coming back the next day to find one semicolon out of place. I know Jef Raskin got in big trouble over it, because I think the computer center could see the writing on the wall that, if everybody followed suit, they wouldn't have their budget. Booch: Do you remember what that computer was? Atkinson: Oh, it was a little Nova, and it was running a basic interpreter. Booch: Very cool. So that brings you up to the graduate program. Andy, tell us about your history. Hertzfeld: I was born in Philadelphia, lived there until I was 18. I went to Brown University as an undergraduate, was a student of Andy Van Damm to whom I just donated a little bit of money – his former students bought him an endowed chair at Brown. He's retiring, I guess, this year. Booch: Very cool. Hertzfeld: I was exposed to graphics at Brown. But I actually started programming in high school. We had just one of those TTYs, with the yellow paper and all, connected through just the ordinary phone line to a GE time-sharing service in Valley Forge, about ten miles away, so I learned to program in first Basic and then Fortran. That was, I guess, 1969. Booch: Wow. And then how did you wind up in California? Hertzfeld: I came out to California to go to grad school at UC Berkeley, so I was at UC Berkeley at the same time Bill Joy was there. Often he was sitting in – they were rewriting UNIX just constantly at the terminals. Booch: Very cool. Hertzfeld: I was out here when the micro computer revolution started. I was the kind of programmer who always used to like getting to the bottom of things, and I didn't have super- user status on the time-sharing computers there. I wanted my own computer and so checked out the Altairs and the IMSAIs, but I wasn't handy enough with the soldering iron. So, when the Apple II happened, I knew it was for me. C HM Ref: X2786.2004 © 2004 Computer History Museum Page 6 of 69 Booch: So, after you both graduated, what were your first jobs, then? Early Apple Days Atkinson: Well, I came to Apple in 1978, and I was hired as the application software department. There wasn't one. And, actually at the time, I was a little better at pushing chips than software but that's what they needed. So, okay, I can do that. And my first job was mostly kind of a librarian to take software that other people had contributed and clean it up, and publish it for other people. Fairly soon after that, I worked on the portfolio evaluator, a Dow Jones program, because Apple had this advertisement showing hubby at the table with an Apple II with all these bar graphs of stock prices, and his wife is at the sink beaming at him, and there was no such program. It was all just drawn on the screen. There wasn't a real program, and they wanted it to be real, so that was the first big program I did for the Apple II. Booch: How big was Apple at that time? Atkinson: When I came to Apple there were 30 people there. I was a graduate student at the University of Washington and Jef Raskin kept saying, "Oh, you have to come check this out. There's something cool starting here." And I said "No, I got stuff going up here." Finally, round trip airfare showed up, and he said, "No strings attached. Just come and visit for a weekend." "Well, okay, it's your money." So I came down, and Steve Jobs spent the better part of the day with me putting on his best sell for why I should come down and work at Apple based only on Jef Raskin's high recommendation of me. Booch: What were your first impressions of Steve? You had never met him before, I presume. Atkinson: I remember I wanted to show him my credentials or portfolio, and he didn't want to look at it. So, okay – he doesn't really care about me. But, what he said really hooked me. He said, "You know, you're up there in Seattle and you're reading about brand new products coming out, and you think that's hot new news, but really they were made two or three years ago. You're just at the end of a delivery chain. And, if you want to shape the future, you have to be ahead of that lag time. You have to be where the things are being made. If you come to Apple, you'll be able to help invent the future." And, I remember thinking, oh this guy's laying it on a little thick, but he wasn't. It was actually true, and the thing that drew me to Apple was this notion that you can do something with your life. Making a dent in the world is what Steve used to call it. You can have an impact for the positive if you are where things are being created. I think it was within that weekend, that I called my wife and asked, "What would you think about living in the Bay Area?" Booch: What was her reaction? C HM Ref: X2786.2004 © 2004 Computer History Museum Page 7 of 69 Atkinson: Well, since she had moved up to Seattle and I followed her, it was sort of my turn, but she was graceful about it. She arranged to finish her law school at the University of Santa Clara. Booch: So, from the time that you said yes to Steve and came on down to Apple, how much of a gap was there until you were onsite doing things? Atkinson: Maybe a week. Booch: Wow, very fast turnaround. So, by then the Apple II team was rolling along. What was Apple doing at that moment in terms of their plans? Had the Mac even been born as an idea yet? Atkinson: Oh, no, no, no, no, no. I remember at a certain point we reached a build capacity of 100 Apple IIs in a day, and the big joke we said was, "That's a pretty hot Apple turnover." Booch: Oh, dear. Atkinson: Jef Raskin was complaining that he was supposed to be able to put his big pipe organ in the factory. The factory had a tall ceiling, and Steve wasn't letting him do that after all, or something like that. We didn't have a floppy disk. We had a cassette tape. We didn't even have what we later called the language card. We didn't have Apple Soft in a ROM card. It wouldn't fit, so we had to actually load Apple Soft into memory off of a cassette tape hoping the cassette tape wouldn't fail – every third time you try to read it, it would fail and you'd have to start all over again. The computers were very static sensitive; if you walked up to the computer and touched it, it was very likely to go zap, and there goes all the work you've been doing. So, you'd have to keep saving and saving on these little cassette tapes, because we didn't have anything else to save them on. Steve took me around to meet everybody at Apple, and I remember they all had pretty high energy, and I was impressed by that. And it also seemed to me that there really weren't any experienced programmers there. Most of the people learned backyard hacking kind of stuff, and nobody even thought about ideas like structured programming or modular programming. I remember the second major task that I did was helping to port the UCSD Pascal interpreter over to the Apple II. UCSD had done most of the work. They made a 6502 interpreter. All they needed was the BIOS – the input/output system to plug in the graphics, plug in the disk, and plug in the serial ports. So, the little bit of adaptation needed was a fairly small amount of work for the benefit that we'd get. Booch: And that was Ken Bowles and crew wasn't it? Atkinson: Yes. C HM Ref: X2786.2004 © 2004 Computer History Museum Page 8 of 69 Hertzfeld: That's right. Atkinson: I remember I wanted to adapt to it; I thought this is exciting. Only a little bit of work would bring this whole system over, and my manager – by that time, the application software department had grown – was Roy Martin, I think. And he said, "Nope, can't do it." So I went around him. I went over his head to Steve Jobs and said, "Look, it's really important we do this." Steve didn't quite understand. He said, "Well, I think that our users are happy with Basic and assembly language, and we don't need anything else, but I'll give you two weeks to convince me otherwise." That day I was on an airplane, and in less than two weeks, I came back from UCSD with a working system. Mike Markkula sat down in front of it, started playing with the word processor, and that sealed it in. We got the UCSD Pascal system. Booch: Very cool. Atkinson: That was the system we built the Lisa with. Without that, we had no way to write modular code where you could write a sub-routine that would do a job, and somebody else could call it without knowing how it worked inside, because our basic had only global variables. There was no local variable. In fact, with Apple Soft Basic, only the first two characters of each variable were actually used. You could have a long variable name, but only the first two mattered. So, we actually kept these charts of A through Z by A through Z, and have we used this one up? Because you have a very different looking name but it really stomps on top of another one with the same name. So, one of the problems was how someone was going to write a program using these, when there was no way to have local. Hertzfeld: Well, Watts’ synergy basic which predated it didn't have that problem. It had up to 256 character variable. Atkinson: Yeah, yeah. But it didn't have string operations and a lot of …. Hertzfeld: Floating point. Booch: So, once you ported that, is there a call because I remember using it on the Apple? That was in released by Apple? Atkinson: Yes, that was released by Apple. Hertzfeld: And you had to get a piece of hardware to use the Pascal. Booch: I remember that now. C HM Ref: X2786.2004 © 2004 Computer History Museum Page 9 of 69 Atkinson: Right, you had to get the language card, which was basically a card full of more memory. Really all it was, was – Hertzfeld: 16K. Atkinson: RAM that you could – Hertzfeld: Yeah, bank over the ROM space. Atkinson: Right. Booch: Did that unleash a whole set of developers who could now do cooler things? Atkinson: Well, it allowed us to attract the programmers. We had to attract professional programmers who were used to structured languages, and we never could have attracted them if all we had was basic and assembly language. Hertzfeld: Although the UCSD Pascal never really delivered the big applications to the Apple II, because it was straining at the memory resources of the machine and had a fairly complex run time, although Macs couldn't necessarily run it, so the killer apps when they emerged like VisiCalc – Atkinson: There weren't any Macs then. Hertzfeld: That's right, yeah. The killer apps were written close to the bare machine because they sort of had to be. Booch: With the presence of UCSD. Atkinson: You're not going to have machines that had 16K bytes of memory. You got to be careful how much you use up. Booch: But the presence of that actually helped launch the Apple II and programming language courses, didn't it? Hertzfeld: Absolutely, yes. Atkinson: Yeah. C HM Ref: X2786.2004 © 2004 Computer History Museum Page 10 of 69
Description: