0:00:01.120,0:00:04.069 How many of you have used[br]an electronic spreadsheet, 0:00:04.553,0:00:07.173 like Microsoft Excel?[br]Very good. 0:00:07.875,0:00:12.379 Now how many of you have run a business[br]with a spreadsheet by hand, 0:00:12.711,0:00:15.466 like my dad did for his small[br]printing business in Philadelphia? 0:00:16.474,0:00:20.310 A lot less. Well, that's the way[br]it was done for hundreds of years. 0:00:21.751,0:00:26.849 In early 1978, I started working[br]on an idea that eventually became VisiCalc. 0:00:28.234,0:00:30.758 And the next year it shipped[br]running on something new 0:00:31.258,0:00:33.523 called an Apple II Personal Computer. 0:00:34.316,0:00:37.090 You could tell that things[br]had really changed when six years later, 0:00:37.663,0:00:41.374 the Wall Street Journal ran an editorial[br]that assumed you knew what VisiCalc was 0:00:41.950,0:00:47.735 and maybe even were using it.[br]Steve Jobs back in 1990 said that 0:00:48.158,0:00:50.512 spreadsheets propelled[br]the industry forward. 0:00:51.308,0:00:54.688 VisiCalc propelled the success of Apple[br]more than any other single event. 0:00:55.873,0:00:59.239 On a more personal note, Steve said[br]that if VisiCalc had been written 0:00:59.810,0:01:01.711 for some other computer,[br]you'd be interviewing 0:01:02.140,0:01:03.996 somebody else right now. 0:01:04.530,0:01:09.484 So, VisiCalc was instrumental in getting[br]personal computers on business desks. 0:01:10.093,0:01:12.690 How did it come about? What was it? 0:01:12.952,0:01:15.917 What did I go through[br]to make it be what it was? 0:01:16.529,0:01:21.221 Well, I first learned to program[br]back in 1966, when I was 15 -- 0:01:21.583,0:01:24.350 just a couple months after[br]this photo was taken. 0:01:24.751,0:01:27.465 Few high schoolers had access[br]to computers in those days 0:01:27.940,0:01:31.132 but through luck[br]and an awful lot of perseverance, 0:01:31.442,0:01:33.988 I was able to get[br]computer time around the city. 0:01:34.505,0:01:38.712 After sleeping in the mud at Woodstock,[br]I went off the MIT to go to college, 0:01:39.470,0:01:42.490 where to make money,[br]I worked on the Multics Project. 0:01:43.652,0:01:48.068 Now Multics was a trailblazing[br]interactive time-sharing system. 0:01:48.594,0:01:51.411 Have you heard of the[br]Lenix ad Unix operating systems? 0:01:51.940,0:01:55.539 They came from Multics.[br]I worked on the Multics versions 0:01:56.007,0:01:59.076 of what are known as[br]interpreted computer languages, 0:01:59.678,0:02:02.792 that are used by people[br]in non-computer fields 0:02:03.063,0:02:05.904 to do their calculations while seated[br]at a computer terminal. 0:02:06.187,0:02:09.069 After I graduated from MIT, 0:02:09.443,0:02:11.615 I went to work for[br]Digital Equipment Corporation. 0:02:12.150,0:02:17.296 At DEC, I worked on software for[br]the new area of computerized typesetting. 0:02:18.040,0:02:22.058 I helped newspapers replace[br]their reporters' typewriters 0:02:22.494,0:02:24.166 with computer terminals. 0:02:24.545,0:02:26.349 I'd write software[br]and then I'd go out in the field 0:02:26.971,0:02:30.825 to places like the Kansas City Star where[br]I would train users and get feedback. 0:02:31.577,0:02:34.729 Now this was real world experience[br]that is quite different 0:02:35.189,0:02:40.510 than what I saw in the lab at MIT.[br]After that, I was project leader 0:02:41.071,0:02:45.165 of the software for DEC's[br]first word processor, again a new field. 0:02:45.949,0:02:51.408 Like with typesetting, the important thing[br]was crafting a user interface that was 0:02:52.098,0:02:56.315 both natural and efficient[br]for non-computer people to use. 0:02:57.080,0:03:01.351 After I was at DEC, I went to work[br]for a small company that made 0:03:01.975,0:03:06.221 microprocessor based electronic[br]cash registers for the fast food industry. 0:03:07.391,0:03:11.408 But, I had always wanted to start[br]a company with my friend Bob Frankston 0:03:11.969,0:03:14.711 that I met on the Multics project at MIT. 0:03:15.089,0:03:17.473 So I decided to go back to school to learn[br]as much as I could about business. 0:03:18.185,0:03:23.000 And in the Fall of 1977, I entered the[br]MBA program at Harvard Business School. 0:03:24.383,0:03:28.967 I was one of a few students who[br]had a background in computer programming. 0:03:30.336,0:03:34.267 There's a picture of me from the yearbook[br]sitting in the front row. Now at Harvard, 0:03:35.850,0:03:38.936 we learned by the case method.[br]we do about three cases a day. 0:03:39.500,0:03:44.641 Cases consist of up to a few dozen pages[br]describing a particular business situation. 0:03:45.553,0:03:50.270 They often have exhibits, and exhibits[br]often have words and numbers 0:03:50.757,0:03:54.169 laid out in ways that make sense[br]for the particular situation. 0:03:54.739,0:03:57.166 There usually all somewhat different.[br]Here's my homework. 0:03:57.643,0:04:00.301 Again, numbers, words, laid out[br]in ways that made sense. 0:04:00.814,0:04:04.273 Lots of calculations.[br]We got really close to our calculators. 0:04:05.008,0:04:08.294 In fact, here's my calculator. 0:04:09.104,0:04:12.436 For Halloween, I went[br]dressed up as a calculator. 0:04:14.082,0:04:17.451 At the beginning of each class,[br]the professor would call on somebody 0:04:18.016,0:04:19.450 to present the case. 0:04:19.909,0:04:23.213 What they would do, is they would explain[br]what was going on and then dictate 0:04:23.811,0:04:27.358 information that the professor[br]would transcribe onto the mini 0:04:27.697,0:04:29.351 motorized blackboard[br]in the front of the class 0:04:29.635,0:04:31.267 and then we'd have a discussion. 0:04:31.573,0:04:34.793 The frustrating thing is when[br]you've done all of your homework, 0:04:35.222,0:04:37.800 you come in the next day only to find out[br]that you made an error and all 0:04:38.212,0:04:41.753 of the other numbers you did were wrong,[br]and you couldn't participate as well. 0:04:42.363,0:04:45.620 And we were marked by class participation. 0:04:46.538,0:04:50.541 So, sitting there with 87 other people[br]in the class, I got to daydream a lot. 0:04:51.836,0:04:56.269 Most programmers in those days worked on[br]mainframes, building things like 0:04:57.129,0:05:02.138 inventory systems and payroll systems[br]and bill paying systems, but I had worked 0:05:03.383,0:05:06.777 on interactive word processing[br]and on-demand personal computation. 0:05:07.594,0:05:11.469 Instead of thinking about[br]paper print outs and punch cards, 0:05:11.907,0:05:15.525 I imagined a magic blackboard[br]that if you erased one number 0:05:16.018,0:05:18.455 and wrote a new thing in,[br]all of the other numbers 0:05:19.108,0:05:22.163 would automatically change,[br]like word processing with numbers. 0:05:23.141,0:05:27.198 I imagined that my calculator had[br]mouse hardware on the bottom of it 0:05:27.731,0:05:31.252 and a head-up display like in a fighter plane. 0:05:31.820,0:05:33.836 And I could type some numbers in[br]and circle it and press the sum button. 0:05:35.200,0:05:38.546 And right in the middle of a negotiation,[br]I'd be able to get the answer. 0:05:39.093,0:05:42.636 Now I just had to take my fantasy[br]and turn it into reality. 0:05:43.103,0:05:45.833 My father taught me about prototyping. 0:05:46.234,0:05:49.479 He showed me mock-ups[br]that he'd make to figure out the placement 0:05:49.856,0:05:53.025 on the page for the things for brochures[br]that he was printing. 0:05:53.554,0:05:57.942 And he'd use it to get feedback[br]from customers and okays before 0:05:58.395,0:06:00.798 he sent the job off to the presses. 0:06:01.150,0:06:05.635 The act of making a simple, working[br]version of what you're trying to build, 0:06:06.172,0:06:08.624 forces you to uncover key problems. 0:06:09.122,0:06:12.980 And it lets you find solutions to[br]those problems much less expensively. 0:06:14.145,0:06:19.765 So I decided to build a prototype.[br]I went to a video terminal connected to 0:06:20.184,0:06:22.831 Harvard's time-sharing system[br]and got to work. 0:06:23.252,0:06:25.759 One of the first problems[br]that I ran into was: 0:06:26.408,0:06:29.369 how do you represent values in formulas? 0:06:29.806,0:06:31.428 Let me show you what I mean. 0:06:32.385,0:06:35.505 I thought that you would point somewhere,[br]type in some words, 0:06:36.151,0:06:38.567 then type in somewhere else,[br]and put in some numbers 0:06:38.900,0:06:41.583 and some more numbers,[br]point where you want the answer. 0:06:42.202,0:06:46.374 And then point to the first, press minus;[br]point to the second, and get the result. 0:06:46.858,0:06:49.461 The problem was:[br]what should I put in the formula? 0:06:50.005,0:06:52.569 It had to be something[br]the computer what knew to put in 0:06:52.989,0:06:56.215 and if you looked at the formula,[br]you needed to know 0:06:56.875,0:06:58.492 where on the screen it referred to. 0:06:58.807,0:07:01.242 So the first thing I thought was[br]the programmer way of doing it, 0:07:01.742,0:07:03.942 the first time you pointed to somewhere,[br]the computer would ask you 0:07:04.338,0:07:08.756 to type in a unique name. [br]It became pretty clear, pretty fast that 0:07:09.178,0:07:11.049 that was going to be too tedious. 0:07:11.746,0:07:15.099 The computer had to automatically make up[br]the name and put it inside. 0:07:15.531,0:07:19.056 So I thought, why not make it be the order[br]in which you create them. 0:07:19.818,0:07:23.786 I tried that. Value 1, Value 2.[br]Pretty quickly I saw that if you had more 0:07:24.383,0:07:27.431 than a few values, you'd never remember[br]on the screen where things were. 0:07:28.209,0:07:32.380 Then I said, why not instead of[br]allowing you to put values anywhere, 0:07:32.907,0:07:36.078 I'll restrict you to a grid?[br]Then when you pointed to a cell, 0:07:36.505,0:07:40.457 the computer could put[br]the row and column in as a name. 0:07:40.942,0:07:46.249 And, if I did it like a map and put ABC[br]across the top and numbers along the side, 0:07:47.006,0:07:51.649 if you saw B7 in a formula, you'd know[br]exactly where it was on the screen. 0:07:53.542,0:07:56.949 If you had to type the formula yourself,[br]you'd know what to do. 0:07:57.754,0:08:01.179 Restricting you to a grid[br]helped solve my problem.: 0:08:01.947,0:08:06.742 It also opened up new capabilities,[br]like the ability to have ranges of cells. 0:08:07.658,0:08:09.535 But it wasn't too restrictive -- 0:08:10.061,0:08:13.806 you could still put any value,[br]any formula, in any cell. 0:08:14.417,0:08:17.794 And that's the way we do it to this day,[br]almost 40 years later. 0:08:18.511,0:08:21.717 My friend Bob and I decided that we were[br]going to build this product together. 0:08:22.227,0:08:26.825 I did more work figuring out exactly how[br]the program was supposed to behave.[br] 0:08:27.231,0:08:30.683 I wrote a reference card[br]to act as documentation. 0:08:31.085,0:08:35.341 It also helped me ensure that[br]the user interface I was defining 0:08:35.779,0:08:39.305 could be explained concisely and clearly[br]to regular people. 0:08:39.817,0:08:45.055 Bob worked in the attic of the apartment[br]he rented in Arlington, Massachusettes. 0:08:45.567,0:08:48.091 This is the inside of the attic. 0:08:48.840,0:08:51.944 Bob bought time on the MIT Multics System[br]to write computer code 0:08:52.552,0:08:54.097 on a terminal like this. 0:08:54.888,0:08:59.152 And then he would download test versions[br]to a borrowed Apple II over a phone line 0:08:59.723,0:09:02.593 using an acoustic coupler[br]and then we would test. 0:09:03.408,0:09:07.538 Now, for one of these tests I prepared[br]for this case about the Pepsi challenge. 0:09:08.827,0:09:11.910 Print wasn't working yet,[br]so I had to copy everything down. 0:09:12.718,0:09:15.294 Save wasn't working,[br]so every time it crashed, 0:09:15.880,0:09:18.567 I had to type in all of the formulas[br]again, over and over again. 0:09:19.105,0:09:22.171 The next day in class, I raised my hand.[br]I got called on and I presented the case. 0:09:22.637,0:09:26.229 I did five-year projections.[br]I did all sorts of different scenarios. 0:09:26.695,0:09:29.694 I aced the case.[br]VisiCalc was already useful. 0:09:30.484,0:09:33.591 The professor said, how did you do it? 0:09:33.990,0:09:38.930 Well, I didn't want to tell him[br]about our secret program, so I said, 0:09:39.345,0:09:42.073 well I took this and added this and [br]multiplied by this and subtracted that. 0:09:42.502,0:09:44.504 He said, well, why didn't you use a ratio? 0:09:44.946,0:09:47.121 Hah! A ratio that wouldn't[br]have been as exact. 0:09:47.571,0:09:51.246 What I didn't say was,[br]divide isn't working yet. 0:09:53.507,0:09:57.888 Eventually, though, we did finish[br]enough of VisiCalc to be able 0:09:58.278,0:10:01.538 to show it to the public.[br]My dad printed up a sample reference card 0:10:01.993,0:10:04.698 that we could use as marketing material. 0:10:05.065,0:10:11.115 In June of 1979, our publisher announced[br]VisiCalc to the world, in a small booth 0:10:11.513,0:10:15.112 at the giant National Computer Conference[br]in New York City. 0:10:15.614,0:10:19.057 Now The New York Times had[br]a humorous article about the conference. 0:10:19.732,0:10:22.172 "The machines perform what seem[br]religious rites... 0:10:22.563,0:10:25.194 even as the believers gather,[br]the painters in the Colosseum sign room 0:10:26.079,0:10:28.297 are adding to the Pantheon,[br]carefully lettering VisiCalc 0:10:28.665,0:10:31.212 in giant black on yellow.[br]All Hail Visicalc. 0:10:31.753,0:10:35.947 (Gasp) New York Times. [br]All Hail VisiCalc. 0:10:37.191,0:10:41.181 That was the last mention of[br]the electronic spreadsheet in 0:10:41.552,0:10:44.883 the popular business press[br]for about two years. 0:10:45.325,0:10:48.050 Most people didn't get it yet.[br]But some did. 0:10:49.509,0:10:53.541 In October of 1979, we shipped VisiCalc. 0:10:54.159,0:10:57.342 It came in a packaging[br]that looked like this, 0:10:57.935,0:11:00.401 and it looked like this[br]running on the Apple II. 0:11:00.830,0:11:02.379 And the rest, as they say, is history. 0:11:03.048,0:11:04.729 Now, there's an awful lot[br]more to this story, 0:11:05.208,0:11:07.176 but that'll have to wait for another day. 0:11:07.611,0:11:10.520 One thing, though, Harvard remembers.[br]Here's that classroom. 0:11:11.111,0:11:16.251 They put up a plaque to commemorate[br]what happened there. (Applause) 0:11:23.840,0:11:30.388 But it also serves as a reminder --[br]that you too should take 0:11:30.746,0:11:34.827 your unique background, skills and needs[br]and build prototypes to discover 0:11:36.727,0:11:40.543 and work out the key problems[br]and through that change the world. 0:11:41.265,0:11:42.618 Thank you.