0:00:01.030,0:00:03.859 How many of you have used[br]an electronic spreadsheet, 0:00:04.033,0:00:05.433 like Microsoft Excel? 0:00:06.443,0:00:07.425 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.531,0:00:15.996 like my dad did for his small[br]printing business in Philadelphia? 0:00:16.396,0:00:17.701 A lot less. 0:00:18.231,0:00:21.141 Well, that's the way it was done[br]for hundreds of years. 0:00:21.851,0:00:24.614 In early 1978,[br]I started working on an idea 0:00:24.814,0:00:27.434 that eventually became VisiCalc. 0:00:28.014,0:00:30.538 And the next year it shipped[br]running on something new 0:00:30.618,0:00:32.883 called an Apple II Personal Computer. 0:00:33.316,0:00:37.180 You could tell that things[br]had really changed when six years later, 0:00:37.383,0:00:39.670 the Wall Street Journal ran an editorial 0:00:39.850,0:00:43.650 that assumed you knew what VisiCalc was[br]and maybe even were using it. 0:00:44.080,0:00:47.735 Steve Jobs back in 1990 said that 0:00:48.158,0:00:50.512 "spreadsheets propelled[br]the industry forward." 0:00:50.958,0:00:54.868 "VisiCalc propelled the success of Apple[br]more than any other single event." 0:00:55.423,0:00:57.009 On a more personal note, 0:00:57.830,0:01:01.131 Steve said that if VisiCalc[br]had been written for some other computer, 0:01:01.220,0:01:03.726 you'd be interviewing[br]somebody else right now. 0:01:04.020,0:01:08.974 So, VisiCalc was instrumental in getting[br]personal computers on business desks. 0:01:09.773,0:01:12.370 How did it come about? What was it? 0:01:12.652,0:01:15.617 What did I go through[br]to make it be what it was? 0:01:16.129,0:01:20.821 Well, I first learned to program[br]back in 1966, when I was 15 -- 0:01:21.323,0:01:24.090 just a couple months after[br]this photo was taken. 0:01:24.461,0:01:27.175 Few high schoolers had access[br]to computers in those days 0:01:27.570,0:01:30.762 but through luck[br]and an awful lot of perseverance, 0:01:31.192,0:01:33.738 I was able to get[br]computer time around the city. 0:01:34.345,0:01:38.552 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.760,0:01:53.057 They came from Multics. 0:01:53.267,0:01:56.007 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.618,0:02:02.212 that are used by people[br]in non-computer fields 0:02:02.283,0:02:05.394 to do their calculations while seated[br]at a computer terminal. 0:02:05.647,0:02:07.609 After I graduated from MIT, 0:02:07.883,0:02:10.445 I went to work for[br]Digital Equipment Corporation. 0:02:11.340,0:02:14.580 At DEC, I worked on software 0:02:14.670,0:02:17.610 for the new area of[br]computerized typesetting. 0:02:17.930,0:02:21.948 I helped newspapers replace[br]their reporters' typewriters 0:02:22.284,0:02:23.856 with computer terminals. 0:02:24.095,0:02:26.559 I'd write software[br]and then I'd go out in the field 0:02:26.651,0:02:30.595 to places like the Kansas City Star where[br]I would train users and get feedback. 0:02:31.167,0:02:34.319 Now this was real world experience[br]that is quite different 0:02:34.459,0:02:36.991 than what I saw in the lab at MIT. 0:02:38.071,0:02:40.741 After that, I was project leader 0:02:40.921,0:02:45.015 of the software for DEC's first[br]word processor, again a new field. 0:02:45.949,0:02:51.158 Like with typesetting, the important thing[br]was crafting a user interface 0:02:51.258,0:02:55.475 that was both natural and efficient[br]for non-computer people to use. 0:02:56.460,0:03:00.581 After I was at DEC, I went to work[br]for a small company 0:03:00.675,0:03:05.981 that made microprocessor based electronic[br]cash registers for the fast food industry. 0:03:07.391,0:03:11.058 But, I had always wanted to start[br]a company with my friend Bob Frankston 0:03:11.129,0:03:13.511 that I met on the Multics project at MIT. 0:03:13.639,0:03:17.283 So I decided to go back to school to learn[br]as much as I could about business. 0:03:17.525,0:03:22.560 And in the Fall of 1977, I entered the[br]MBA program at Harvard Business School. 0:03:23.833,0:03:28.657 I was one of a few students who[br]had a background in computer programming. 0:03:30.156,0:03:33.517 There's a picture of me from the yearbook[br]sitting in the front row. 0:03:33.930,0:03:36.630 Now at Harvard, [br]we learned by the case method. 0:03:36.920,0:03:38.980 We do about three cases a day. 0:03:39.290,0:03:44.431 Cases consist of up to a few dozen pages[br]describing particular business situations. 0:03:45.833,0:03:50.220 They often have exhibits, and exhibits[br]often have words and numbers 0:03:50.330,0:03:53.662 laid out in ways that make sense[br]for the particular situation. 0:03:53.859,0:03:55.669 There usually all somewhat different. 0:03:55.739,0:03:57.543 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.694,0:04:04.153 Lots of calculations --[br]we got really close to our calculators. 0:04:04.948,0:04:07.904 In fact, here's my calculator. 0:04:08.344,0:04:11.676 For Halloween, I went[br]dressed up as a calculator. 0:04:13.682,0:04:17.051 At the beginning of each class,[br]the professor would call on somebody 0:04:17.086,0:04:18.810 to present the case. 0:04:19.199,0:04:22.323 What they would do is[br]they would explain what was going on 0:04:22.401,0:04:25.728 and then dictate information[br]that the professor would transcribe 0:04:25.818,0:04:28.682 onto the many motorized blackboards[br]in the front of the class 0:04:28.755,0:04:30.777 and then we'd have a discussion. 0:04:31.303,0:04:34.693 The frustrating thing is when[br]you've done all of your homework, 0:04:34.802,0:04:37.800 you come in the next day only to find out[br]that you made an error 0:04:37.922,0:04:40.333 and all of the other numbers[br]you did were wrong, 0:04:40.343,0:04:42.363 and you couldn't participate as well. 0:04:42.363,0:04:44.980 And we were marked by class participation. 0:04:45.528,0:04:49.781 So, sitting there with 87 other people[br]in the class, I got to daydream a lot. 0:04:51.596,0:04:55.279 Most programmers in those days[br]worked on mainframes, 0:04:55.399,0:05:00.653 building things like inventory systems,[br]payroll systems and bill paying systems. 0:05:01.593,0:05:04.324 But I had worked on[br]interactive word processing[br] 0:05:04.324,0:05:06.544 and on-demand personal computation. 0:05:06.654,0:05:10.529 Instead of thinking about[br]paper print outs and punch cards, 0:05:10.997,0:05:13.685 I imagined a magic blackboard 0:05:13.928,0:05:17.348 that if you erased one number[br]and wrote a new thing in, 0:05:17.428,0:05:19.951 all of the other numbers[br]would automatically change, 0:05:20.141,0:05:22.461 like word processing with numbers. 0:05:22.711,0:05:26.768 I imagined that my calculator had[br]mouse hardware on the bottom of it 0:05:27.221,0:05:30.742 and a head-up display[br]like in a fighter plane. 0:05:31.010,0:05:34.536 And I could type some numbers in[br]and circle it and press the sum button. 0:05:34.990,0:05:38.606 And right in the middle of a negotiation,[br]I'd be able to get the answer. 0:05:38.853,0:05:42.396 Now I just had to take my fantasy[br]and turn it into reality. 0:05:42.893,0:05:45.723 My father taught me about prototyping. 0:05:45.934,0:05:48.249 He showed me mock-ups[br]that he'd make 0:05:48.249,0:05:50.429 to figure out the placement[br]on the page 0:05:50.626,0:05:53.324 for the things for the brochures[br]he was printing. 0:05:53.554,0:05:56.055 And he'd use it to get feedback[br]from customers 0:05:56.195,0:05:59.028 and OKs before he sent the job[br]off to the presses. 0:06:00.610,0:06:05.095 The act of making a simple, working[br]version of what you're trying to build, 0:06:05.692,0:06:08.144 forces you to uncover key problems. 0:06:08.722,0:06:12.750 And it lets you find solutions to[br]those problems much less expensively. 0:06:13.985,0:06:16.465 So I decided to build a prototype. 0:06:16.774,0:06:21.564 I went to a video terminal connected to[br]Harvard's time-sharing system, 0:06:21.564,0:06:23.102 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.238,0:06:29.199 how do you represent values in formulas? 0:06:29.446,0:06:31.358 Let me show you what I mean. 0:06:32.065,0:06:35.185 I thought that you would point somewhere,[br]type in some words, 0:06:35.321,0:06:38.647 then type in somewhere else,[br]and put in some numbers 0:06:38.770,0:06:41.583 and some more numbers,[br]point where you want the answer. 0:06:41.762,0:06:45.934 And then point to the first, press minus;[br]point to the second, and get the result. 0:06:46.558,0:06:49.381 The problem was,[br]what should I put in the formula? 0:06:49.875,0:06:52.649 It had to be something[br]the computer what knew to put in, 0:06:52.769,0:06:54.815 and if you looked at the formula, 0:06:54.905,0:06:57.552 you needed to know[br]where on the screen it referred to. 0:06:57.857,0:07:00.792 The first thing I thought was[br]the programmer way of doing it, 0:07:00.952,0:07:03.102 the first time you pointed to somewhere, 0:07:03.238,0:07:05.736 the computer would ask you[br]to type in a unique name. [br] 0:07:06.878,0:07:10.759 It became pretty clear, pretty fast that[br]that was going to be too tedious. 0:07:11.166,0:07:14.519 The computer had to automatically make up[br]the name and put it inside. 0:07:14.911,0:07:18.706 So I thought, why not make it be the order[br]in which you create them. 0:07:19.598,0:07:21.498 I tried that. Value 1, Value 2. 0:07:21.888,0:07:24.706 Pretty quickly I saw that if [br]you had more than a few values 0:07:24.726,0:07:27.199 you'd never remember[br]on the screen where things were. 0:07:27.219,0:07:31.870 Then I said, why not instead of[br]allowing you to put values anywhere, 0:07:32.467,0:07:36.258 I'll restrict you to a grid?[br]Then when you pointed to a cell, 0:07:36.685,0:07:40.237 the computer could put[br]the row and column in as a name. 0:07:40.762,0:07:46.069 And, if I did it like a map and put ABC[br]across the top and numbers along the side, 0:07:46.626,0:07:51.529 if you saw B7 in a formula, you'd know[br]exactly where it was on the screen. 0:07:54.012,0:07:57.419 If you had to type the formula yourself,[br]you'd know what to do. 0:07:57.754,0:08:00.979 Restricting you to a grid[br]helped solve my problem. 0:08:01.317,0:08:06.412 It also opened up new capabilities,[br]like the ability to have ranges of cells. 0:08:07.378,0:08:09.125 But it wasn't too restrictive -- 0:08:09.281,0:08:13.026 you could still put any value,[br]any formula, in any cell. 0:08:14.197,0:08:17.574 And that's the way we do it to this day,[br]almost 40 years later. 0:08:19.151,0:08:23.087 My friend Bob and I decided that we were[br]going to build this product together. 0:08:23.267,0:08:27.055 I did more work figuring out exactly how[br]the program was supposed to behave.[br] 0:08:27.231,0:08:30.583 I wrote a reference card[br]to act as documentation. 0:08:30.755,0:08:35.341 It also helped me ensure that[br]the user interface I was defining 0:08:35.509,0:08:39.305 could be explained concisely[br]and clearly to regular people. 0:08:39.507,0:08:44.795 Bob worked in the attic of the apartment[br]he rented in Arlington, Massachusettes. 0:08:45.137,0:08:46.941 This is the inside of the attic. 0:08:48.420,0:08:51.274 Bob bought time on the MIT Multics System 0:08:51.342,0:08:54.057 to write computer code[br]on a terminal like this. 0:08:54.488,0:08:59.022 And then he would download test versions[br]to a borrowed Apple II over a phone line 0:08:59.343,0:09:02.593 using an acoustic coupler[br]and then we would test. 0:09:03.008,0:09:07.648 Now, for one of these tests I prepared[br]for this case about the Pepsi challenge. 0:09:08.627,0:09:11.910 Print wasn't working yet,[br]so I had to copy everything down. 0:09:12.568,0:09:15.030 Save wasn't working,[br]so every time it crashed, 0:09:15.030,0:09:18.107 I had to type in all of the formulas[br]again, over and over again. 0:09:18.445,0:09:22.281 The next day in class, I raised my hand.[br]I got called on and I presented the case. 0:09:22.377,0:09:25.969 I did five-year projections.[br]I did all sorts of different scenarios. 0:09:26.265,0:09:29.264 I aced the case.[br]VisiCalc was already useful. 0:09:30.134,0:09:33.241 The professor said, how did you do it? 0:09:33.590,0:09:36.425 Well, I didn't want to tell him[br]about our secret program, 0:09:36.545,0:09:38.705 so I said, 0:09:38.805,0:09:42.153 I took this and added this and [br]multiplied by this and subtracted that. 0:09:42.192,0:09:44.194 He said, well, why didn't you use a ratio? 0:09:44.526,0:09:47.191 Hah! A ratio -- [br]that wouldn't have been as exact. 0:09:47.411,0:09:50.387 What I didn't say was,[br]divide isn't working yet. 0:09:50.507,0:09:53.157 (Laughter) 0:09:53.507,0:09:56.868 Eventually, though, we did finish[br]enough of VisiCalc 0:09:56.978,0:09:59.053 to be able to[br]show it to the public. 0:09:59.443,0:10:01.783 My dad printed up a sample reference card 0:10:01.783,0:10:04.348 that we could use as marketing material. 0:10:04.555,0:10:10.725 In June of 1979, our publisher announced[br]VisiCalc to the world, in a small booth 0:10:11.115,0:10:14.714 at the giant National Computer Conference[br]in New York City. 0:10:15.044,0:10:18.487 Now The New York Times had[br]a humorous article about the conference. 0:10:19.562,0:10:21.922 "The machines perform what seem[br]religious rites... 0:10:21.973,0:10:25.344 even as the believers gather,[br]the painters in the Colosseum sign room 0:10:25.344,0:10:28.107 are adding to the Pantheon,[br]carefully lettering VisiCalc 0:10:28.107,0:10:29.397 in giant black on yellow. 0:10:29.397,0:10:31.383 All hail VisiCalc! 0:10:31.593,0:10:35.787 (Gasp) New York Times. [br]All Hail VisiCalc. 0:10:36.781,0:10:40.891 That was the last mention of[br]the electronic spreadsheet 0:10:41.032,0:10:44.363 in the popular business press[br]for about two years. 0:10:44.955,0:10:47.880 Most people didn't get it yet.[br]But some did. 0:10:49.129,0:10:53.161 In October of 1979, we shipped VisiCalc. 0:10:54.039,0:10:57.082 It came in a packaging[br]that looked like this, 0:10:57.245,0:10:59.711 and it looked like this[br]running on the Apple II. 0:11:00.150,0:11:02.289 And the rest, as they say, is history. 0:11:02.588,0:11:04.929 Now, there's an awful lot[br]more to this story, 0:11:04.988,0:11:07.036 but that'll have to wait for another day. 0:11:07.141,0:11:10.050 One thing, though, Harvard remembers.[br]Here's that classroom. 0:11:11.261,0:11:15.641 They put up a plaque to commemorate[br]what happened there. 0:11:16.454,0:11:20.654 (Applause) 0:11:24.470,0:11:29.568 But it also serves as a reminder --[br]that you too should take 0:11:29.646,0:11:35.267 your unique background, skills and needs[br]and build prototypes to discover 0:11:36.027,0:11:39.843 and work out the key problems[br]and through that, change the world. 0:11:41.265,0:11:42.618 Thank you.