0:00:00.911,0:00:03.747 How many of you have used[br]an electronic spreadsheet, 0:00:03.771,0:00:05.171 like Microsoft Excel? 0:00:06.315,0:00:07.716 Very good. 0:00:07.740,0:00:12.158 Now, how many of you have run a business[br]with a spreadsheet by hand, 0:00:12.182,0:00:15.182 like my dad did for his small[br]printing business in Philadelphia? 0:00:16.174,0:00:17.332 A lot less. 0:00:17.937,0:00:20.522 Well, that's the way it was done[br]for hundreds of years. 0:00:21.494,0:00:24.584 In early 1978,[br]I started working on an idea 0:00:24.608,0:00:26.927 that eventually became VisiCalc. 0:00:27.466,0:00:29.149 And the next year it shipped 0:00:29.173,0:00:32.450 running on something new[br]called an Apple II Personal Computer. 0:00:33.276,0:00:36.990 You could tell that things[br]had really changed when, six years later, 0:00:37.382,0:00:39.508 the Wall Street Journal ran an editorial 0:00:39.532,0:00:42.783 that assumed you knew what VisiCalc was[br]and maybe even were using it. 0:00:43.770,0:00:46.714 Steve Jobs back in 1990 0:00:47.189,0:00:50.420 said that "spreadsheets propelled[br]the industry forward." 0:00:50.886,0:00:54.796 "VisiCalc propelled the success of Apple[br]more than any other single event." 0:00:55.423,0:00:56.592 On a more personal note, 0:00:57.607,0:01:00.711 Steve said, "If VisiCalc had been written[br]for some other computer, 0:01:00.735,0:01:02.941 you'd be interviewing[br]somebody else right now." 0:01:03.360,0:01:09.425 So, VisiCalc was instrumental in getting[br]personal computers on business desks. 0:01:09.773,0:01:10.923 How did it come about? 0:01:11.675,0:01:14.598 What was it? What did I go through[br]to make it be what it was? 0:01:15.914,0:01:21.259 Well, I first learned to program[br]back in 1966, when I was 15 -- 0:01:21.283,0:01:23.525 just a couple months after[br]this photo was taken. 0:01:24.207,0:01:27.175 Few high schoolers had access[br]to computers in those days. 0:01:27.570,0:01:31.064 But through luck[br]and an awful lot of perseverance, 0:01:31.088,0:01:33.339 I was able to get[br]computer time around the city. 0:01:34.265,0:01:39.093 After sleeping in the mud at Woodstock,[br]I went off the MIT to go to college, 0:01:39.514,0:01:42.585 where to make money,[br]I worked on the Multics Project. 0:01:43.350,0:01:48.016 Multics was a trailblazing[br]interactive time-sharing system. 0:01:48.379,0:01:51.537 Have you heard of the[br]Linus and Unix operating systems? 0:01:51.561,0:01:52.799 They came from Multics. 0:01:53.315,0:01:55.633 I worked on the Multics versions 0:01:55.657,0:01:59.475 of what are known as[br]interpreted computer languages, 0:01:59.499,0:02:01.949 that are used by people[br]in non-computer fields 0:02:01.973,0:02:04.977 to do their calculations while seated[br]at a computer terminal. 0:02:05.588,0:02:07.803 After I graduated from MIT, 0:02:07.827,0:02:10.696 I went to work for[br]Digital Equipment Corporation. 0:02:11.340,0:02:14.582 At DEC, I worked on software 0:02:14.606,0:02:17.340 for the new area of[br]computerized typesetting. 0:02:17.819,0:02:22.117 I helped newspapers replace[br]their reporters' typewriters 0:02:22.141,0:02:23.371 with computer terminals. 0:02:23.897,0:02:25.048 I'd write software 0:02:25.072,0:02:28.824 and then I'd go out in the field[br]to places like the Kansas City Star, 0:02:28.848,0:02:30.905 where I would train users[br]and get feedback. 0:02:31.270,0:02:33.120 This was real world experience 0:02:33.144,0:02:36.396 that is quite different[br]than what I saw in the lab at MIT. 0:02:37.919,0:02:40.532 After that, I was project leader 0:02:40.556,0:02:45.317 of the software for DEC's first[br]word processor, again a new field. 0:02:45.711,0:02:51.234 Like with typesetting, the important thing[br]was crafting a user interface 0:02:51.258,0:02:55.325 that was both natural and efficient[br]for non-computer people to use. 0:02:56.372,0:03:00.341 After I was at DEC, I went to work[br]for a small company 0:03:00.365,0:03:06.468 that made microprocessor-based electronic[br]cash registers for the fast food industry. 0:03:07.255,0:03:11.049 But, I had always wanted to start[br]a company with my friend Bob Frankston 0:03:11.073,0:03:13.511 that I met on the Multics project at MIT. 0:03:13.535,0:03:17.163 So I decided to go back to school to learn[br]as much as I could about business. 0:03:17.187,0:03:23.019 And in the Fall of 1977, I entered the[br]MBA program at Harvard Business School. 0:03:23.853,0:03:26.337 I was one of the few[br]percentage of students 0:03:26.361,0:03:29.194 who had a background[br]in computer programming. 0:03:30.091,0:03:33.258 There's a picture of me from the yearbook[br]sitting in the front row. 0:03:33.282,0:03:34.283 (Laughter) 0:03:34.307,0:03:36.919 Now at Harvard,[br]we learned by the case method. 0:03:36.943,0:03:38.551 We do about three cases a day. 0:03:38.933,0:03:44.629 Cases consist of up to a few dozen pages[br]describing particular business situations. 0:03:45.610,0:03:50.171 They often have exhibits,[br]and exhibits often have words and numbers 0:03:50.195,0:03:53.361 laid out in ways that make sense[br]for the particular situation. 0:03:53.859,0:03:55.795 They're usually all somewhat different. 0:03:55.819,0:03:56.970 Here's my homework. 0:03:56.994,0:03:59.866 Again, numbers, words, laid out[br]in ways that made sense. 0:04:00.233,0:04:04.303 Lots of calculations --[br]we got really close to our calculators. 0:04:04.725,0:04:06.588 In fact, here's my calculator. 0:04:08.209,0:04:10.995 For Halloween, I went[br]dressed up as a calculator. 0:04:11.019,0:04:13.446 (Laughter) 0:04:13.787,0:04:16.982 At the beginning of each class,[br]the professor would call on somebody 0:04:17.006,0:04:18.264 to present the case. 0:04:19.095,0:04:21.861 What they would do is[br]they would explain what was going on 0:04:21.885,0:04:25.603 and then dictate information[br]that the professor would transcribe 0:04:25.627,0:04:28.533 onto the many motorized blackboards[br]in the front of the class, 0:04:28.557,0:04:30.105 and then we'd have a discussion. 0:04:30.129,0:04:34.271 One of the really frustrating things[br]is when you've done all of your homework, 0:04:34.595,0:04:37.603 you come in the next day[br]only to find out that you made an error 0:04:37.627,0:04:39.872 and all of the other numbers[br]you did were wrong. 0:04:40.215,0:04:41.985 And you couldn't participate as well. 0:04:42.009,0:04:44.230 And we were marked by class participation. 0:04:45.321,0:04:50.230 So, sitting there with 87 other people[br]in the class, I got to daydream a lot. 0:04:51.294,0:04:55.120 Most programmers in those days[br]worked on mainframes, 0:04:55.144,0:05:01.151 building things like inventory systems,[br]payroll systems and bill paying systems. 0:05:01.537,0:05:04.029 But I had worked on[br]interactive word processing 0:05:04.053,0:05:05.786 and on-demand personal computation. 0:05:06.178,0:05:10.439 Instead of thinking about[br]paper print outs and punch cards, 0:05:10.893,0:05:13.642 I imagined a magic blackboard 0:05:13.666,0:05:17.047 that if you erased one number[br]and wrote a new thing in, 0:05:17.071,0:05:19.933 all of the other numbers[br]would automatically change, 0:05:19.957,0:05:21.727 like word processing with numbers. 0:05:22.592,0:05:26.853 I imagined that my calculator[br]had mouse hardware on the bottom of it 0:05:27.221,0:05:30.218 and a head-up display,[br]like in a fighter plane. 0:05:30.700,0:05:34.854 And I could type some numbers in,[br]and circle it, and press the sum button. 0:05:34.878,0:05:38.263 And right in the middle of a negotiation,[br]I'd be able to get the answer. 0:05:38.623,0:05:41.636 Now I just had to take my fantasy[br]and turn it into reality. 0:05:42.702,0:05:45.089 My father taught me about prototyping. 0:05:45.577,0:05:47.157 He showed me mock-ups 0:05:47.181,0:05:50.522 that he'd make to figure out[br]the placement on the page 0:05:50.546,0:05:53.085 for the things for brochures[br]that he was printing. 0:05:53.109,0:05:56.067 And he'd use it to get feedback[br]from customers 0:05:56.091,0:05:59.680 and OKs before he sent the job[br]off to the presses. 0:06:00.435,0:06:05.212 The act of making a simple, working[br]version of what you're trying to build, 0:06:05.601,0:06:07.861 forces you to uncover key problems. 0:06:08.722,0:06:13.131 And it lets you find solutions to[br]those problems much less expensively. 0:06:13.722,0:06:15.956 So I decided to build a prototype. 0:06:16.758,0:06:21.452 I went to a video terminal connected to[br]Harvard's time-sharing system 0:06:21.476,0:06:22.839 and got to work. 0:06:22.863,0:06:26.142 One of the first problems[br]that I ran into was: 0:06:26.166,0:06:28.833 How do you represent values in formulas? 0:06:29.302,0:06:30.658 Let me show you what I mean. 0:06:32.009,0:06:35.159 I thought that you would point somewhere,[br]type in some words, 0:06:35.183,0:06:37.303 then type in some somewhere else, 0:06:37.327,0:06:40.858 put in some numbers and some more numbers,[br]point where you want the answer. 0:06:41.246,0:06:44.452 And then point to the first, press minus,[br]point to the second, 0:06:44.476,0:06:45.666 and get the result. 0:06:46.391,0:06:49.468 The problem was:[br]What should I put in the formula? 0:06:49.795,0:06:52.423 It had to be something[br]the computer knew what to put in. 0:06:52.447,0:06:54.146 And if you looked at the formula, 0:06:54.170,0:06:57.177 you needed to know[br]where on the screen it referred to. 0:06:57.857,0:07:00.717 The first thing I thought was[br]the programmer way of doing it. 0:07:00.741,0:07:02.654 The first time you pointed to somewhere, 0:07:02.678,0:07:05.375 the computer would ask you[br]to type in a unique name. 0:07:06.767,0:07:10.546 It became pretty clear pretty fast that[br]that was going to be too tedious. 0:07:10.570,0:07:13.816 The computer had to automatically[br]make up the name and put it inside. 0:07:14.617,0:07:18.974 So I thought, why not make it be the order[br]in which you create them? 0:07:19.478,0:07:21.641 I tried that. Value 1, value 2. 0:07:21.982,0:07:24.752 Pretty quickly I saw that[br]if you had more than a few values 0:07:24.776,0:07:27.284 you'd never remember[br]on the screen where things were. 0:07:27.308,0:07:32.315 Then I said, why not instead of[br]allowing you to put values anywhere, 0:07:32.632,0:07:34.243 I'll restrict you to a grid? 0:07:34.708,0:07:36.952 Then when you pointed to a cell, 0:07:36.976,0:07:39.695 the computer could put[br]the row and column in as a name. 0:07:40.634,0:07:46.544 And, if I did it like a map and put ABC[br]across the top and numbers along the side, 0:07:46.854,0:07:49.727 if you saw B7 in a formula, 0:07:49.751,0:07:51.973 you'd know exactly[br]where it was on the screen. 0:07:52.647,0:07:56.877 And if you had to type the formula[br]in yourself, you'd know what to do. 0:07:57.460,0:08:00.511 Restricting you to a grid[br]helped solve my problem. 0:08:01.205,0:08:06.797 It also opened up new capabilities,[br]like the ability to have ranges of cells. 0:08:07.362,0:08:08.931 But it wasn't too restrictive -- 0:08:08.955,0:08:13.290 you could still put any value,[br]any formula, in any cell. 0:08:14.101,0:08:17.964 And that's the way we do it to this day,[br]almost 40 years later. 0:08:19.103,0:08:22.774 My friend Bob and I decided that we were[br]going to build this product together. 0:08:22.798,0:08:26.901 I did more work figuring out exactly how[br]the program was supposed to behave. 0:08:27.231,0:08:30.480 I wrote a reference card[br]to act as documentation. 0:08:30.504,0:08:35.302 It also helped me ensure[br]that the user interface I was defining 0:08:35.326,0:08:38.805 could be explained concisely[br]and clearly to regular people. 0:08:39.523,0:08:44.922 Bob worked in the attic of the apartment[br]he rented in Arlington, Massachusetts. 0:08:44.946,0:08:46.477 This is the inside of the attic. 0:08:46.501,0:08:47.651 (Laughter) 0:08:48.221,0:08:51.032 Bob bought time on the MIT Multics System 0:08:51.056,0:08:53.771 to write computer code[br]on a terminal like this. 0:08:54.400,0:08:57.906 And then he would download test versions[br]to a borrowed Apple II 0:08:57.930,0:09:01.180 over a phone line[br]using an acoustic coupler, 0:09:01.204,0:09:02.354 and then we would test. 0:09:02.983,0:09:07.650 For one of these tests I prepared[br]for this case about the Pepsi challenge. 0:09:08.706,0:09:11.634 Print wasn't working yet,[br]so I had to copy everything down. 0:09:12.488,0:09:14.894 Save wasn't working,[br]so every time it crashed, 0:09:14.918,0:09:17.934 I had to type in all of the formulas[br]again, over and over again. 0:09:18.309,0:09:22.222 The next day in class, I raised my hand;[br]I got called on, and I presented the case. 0:09:22.246,0:09:25.443 I did five-year projections.[br]I did all sorts of different scenarios. 0:09:25.841,0:09:29.531 I aced the case.[br]VisiCalc was already useful. 0:09:30.173,0:09:32.744 The professor said, "How did you do it?" 0:09:33.470,0:09:36.145 Well, I didn't want to tell him[br]about our secret program, 0:09:36.169,0:09:37.669 (Laughter) 0:09:38.199,0:09:41.065 So I said, "I took this and added this[br]and multiplied by this 0:09:41.089,0:09:42.240 and subtracted that." 0:09:42.264,0:09:44.320 He said, "Well,[br]why didn't you use a ratio?" 0:09:44.344,0:09:47.339 I said, "Hah! A ratio --[br]that wouldn't have been as exact!" 0:09:47.363,0:09:49.935 What I didn't say was,[br]"Divide isn't working yet." 0:09:49.959,0:09:53.070 (Laughter) 0:09:53.094,0:09:56.954 Eventually, though, we did finish[br]enough of VisiCalc 0:09:56.978,0:09:58.808 to be able to show it to the public. 0:09:59.443,0:10:01.498 My dad printed up a sample reference card 0:10:01.522,0:10:03.434 that we could use as marketing material. 0:10:04.284,0:10:09.656 In June of 1979, our publisher announced[br]VisiCalc to the world, 0:10:10.067,0:10:14.196 in a small booth at the giant National[br]Computer Conference in New York City. 0:10:14.805,0:10:18.955 The New York Times had[br]a humorous article about the conference. 0:10:19.466,0:10:21.949 "The machines perform[br]what seem religious rites... 0:10:21.973,0:10:25.220 even as the believers gather,[br]the painters in the Colosseum sign room 0:10:25.244,0:10:26.538 are adding to the Pantheon, 0:10:26.562,0:10:29.672 carefully lettering 'VISICALC'[br]in giant black on yellow. 0:10:29.696,0:10:31.489 All hail VISICALC!" 0:10:31.513,0:10:35.094 (Gasp) New York Times. All Hail VisiCalc. 0:10:35.118,0:10:36.685 (Laughter) 0:10:36.709,0:10:40.904 That was the last mention[br]of the electronic spreadsheet 0:10:40.928,0:10:44.803 in the popular business press[br]for about two years. 0:10:44.827,0:10:48.002 Most people didn't get it yet.[br]But some did. 0:10:48.938,0:10:53.136 In October of 1979, we shipped VisiCalc. 0:10:53.864,0:10:56.704 It came in a packaging[br]that looked like this. 0:10:56.728,0:10:59.194 And it looked like this[br]running on the Apple II. 0:11:00.030,0:11:01.974 And the rest, as they say, is history. 0:11:02.373,0:11:04.475 Now, there's an awful lot[br]more to this story, 0:11:04.499,0:11:06.553 but that'll have to wait for another day. 0:11:06.577,0:11:08.648 One thing, though, Harvard remembers. 0:11:09.386,0:11:10.568 Here's that classroom. 0:11:11.261,0:11:14.672 They put up a plaque to commemorate[br]what happened there. 0:11:15.651,0:11:22.611 (Applause) 0:11:24.414,0:11:27.328 But it also serves as a reminder -- 0:11:27.352,0:11:32.590 that you, too, should take[br]your unique backgrounds, skills and needs 0:11:32.899,0:11:38.142 and build prototypes to discover[br]and work out the key problems 0:11:38.166,0:11:40.269 and through that, change the world. 0:11:41.059,0:11:42.210 Thank you. 0:11:42.234,0:11:46.865 (Applause)