9:59:59.000,9:59:59.000 How many of you have used[br]an electronic spreadsheet, 9:59:59.000,9:59:59.000 like Microsoft Excel?[br]Very good. 9:59:59.000,9:59:59.000 Now how many of you have run a business[br]with a spreadsheet by hand, 9:59:59.000,9:59:59.000 like my dad did for his small[br]printing business in Philadelphia? 9:59:59.000,9:59:59.000 A lot less. Well, that's the way[br]it was done for hundreds of years. 9:59:59.000,9:59:59.000 In early 1978, I started working[br]on an idea that eventually became VisiCalc. 9:59:59.000,9:59:59.000 And the next year it shipped[br]running on something new 9:59:59.000,9:59:59.000 called an Apple II Personal Computer. 9:59:59.000,9:59:59.000 You could tell that things[br]had really changed when six years later, 9:59:59.000,9:59:59.000 the Wall Street Journal ran an editorial[br]that assumed you knew what VisiCalc was 9:59:59.000,9:59:59.000 and maybe even were using it.[br]Steve Jobs back in 1990 said that 9:59:59.000,9:59:59.000 spreadsheets propelled[br]the industry forward. 9:59:59.000,9:59:59.000 VisiCalc propelled the success of Apple[br]more than any other single event. 9:59:59.000,9:59:59.000 On a more personal note, Steve said[br]that if VisiCalc had been written 9:59:59.000,9:59:59.000 for some other computer,[br]you'd be interviewing 9:59:59.000,9:59:59.000 somebody else right now. 9:59:59.000,9:59:59.000 So, VisiCalc was instrumental in getting[br]personal computers on business desks. 9:59:59.000,9:59:59.000 How did it come about? What was it? 9:59:59.000,9:59:59.000 What did I go through[br]to make it be what it was? 9:59:59.000,9:59:59.000 Well, I first learned to program[br]back in 1966, when I was 15 -- 9:59:59.000,9:59:59.000 just a couple months after[br]this photo was taken. 9:59:59.000,9:59:59.000 Few high schoolers had access[br]to computers in those days 9:59:59.000,9:59:59.000 but through luck[br]and an awful lot of perseverance, 9:59:59.000,9:59:59.000 I was able to get[br]computer time around the city. 9:59:59.000,9:59:59.000 After sleeping in the mud at Woodstock,[br]I went off the MIT to go to college, 9:59:59.000,9:59:59.000 where to make money,[br]I worked on the Multics Project. 9:59:59.000,9:59:59.000 Now Multics was a trailblazing[br]interactive time-sharing system. 9:59:59.000,9:59:59.000 Have you heard of the[br]Lenix ad Unix operating systems? 9:59:59.000,9:59:59.000 They came from Multics.[br]I worked on the Multics versions 9:59:59.000,9:59:59.000 of what are known as[br]interpreted computer languages, 9:59:59.000,9:59:59.000 that are used by people[br]in non-computer fields 9:59:59.000,9:59:59.000 to do their calculations while seated[br]at a computer terminal. 9:59:59.000,9:59:59.000 After I graduated from MIT, 9:59:59.000,9:59:59.000 I went to work for[br]Digital Equipment Corporation. 9:59:59.000,9:59:59.000 At DEC, I worked on software for[br]the new area of computerized typesetting. 9:59:59.000,9:59:59.000 I helped newspapers replace[br]their reporters' typewriters 9:59:59.000,9:59:59.000 with computer terminals. 9:59:59.000,9:59:59.000 I'd write software[br]and then I'd go out in the field 9:59:59.000,9:59:59.000 to places like the Kansas City Star where[br]I would train users and get feedback. 9:59:59.000,9:59:59.000 Now this was real world experience[br]that is quite different 9:59:59.000,9:59:59.000 than what I saw in the lab at MIT.[br]After that, I was project leader 9:59:59.000,9:59:59.000 of the software for DEC's[br]first word processor, again a new field. 9:59:59.000,9:59:59.000 Like with typesetting, the important thing[br]was crafting a user interface that was 9:59:59.000,9:59:59.000 both natural and efficient[br]for non-computer people to use. 9:59:59.000,9:59:59.000 After I was at DEC, I went to work[br]for a small company that made 9:59:59.000,9:59:59.000 microprocessor based electronic[br]cash registers for the fast food industry. 9:59:59.000,9:59:59.000 But, I had always wanted to start[br]a company with my friend Bob Frankston 9:59:59.000,9:59:59.000 that I met on the Multics project at MIT. 9:59:59.000,9:59:59.000 So I decided to go back to school to learn[br]as much as I could about business. 9:59:59.000,9:59:59.000 And in the Fall of 1977, I entered the[br]MBA program at Harvard Business School. 9:59:59.000,9:59:59.000 I was one of a few students who[br]had a background in computer programming. 9:59:59.000,9:59:59.000 There's a picture of me from the yearbook[br]sitting in the front row. Now at Harvard, 9:59:59.000,9:59:59.000 we learned by the case method.[br]we do about three cases a day. 9:59:59.000,9:59:59.000 Cases consist of up to a few dozen pages[br]describing a particular business situation. 9:59:59.000,9:59:59.000 They often have exhibits, and exhibits[br]often have words and numbers 9:59:59.000,9:59:59.000 laid out in ways that make sense[br]for the particular situation. 9:59:59.000,9:59:59.000 There usually all somewhat different.[br]Here's my homework. 9:59:59.000,9:59:59.000 Again, numbers, words, laid out[br]in ways that made sense. 9:59:59.000,9:59:59.000 Lots of calculations.[br]We got really close to our calculators. 9:59:59.000,9:59:59.000 In fact, here's my calculator. 9:59:59.000,9:59:59.000 For Halloween, I went[br]dressed up as a calculator. 9:59:59.000,9:59:59.000 At the beginning of each class,[br]the professor would call on somebody 9:59:59.000,9:59:59.000 to present the case. 9:59:59.000,9:59:59.000 What they would do, is they would explain[br]what was going on and then dictate 9:59:59.000,9:59:59.000 information that the professor[br]would transcribe onto the mini 9:59:59.000,9:59:59.000 motorized blackboard[br]in the front of the class 9:59:59.000,9:59:59.000 and then we'd have a discussion. 9:59:59.000,9:59:59.000 The frustrating thing is when[br]you've done all of your homework, 9:59:59.000,9:59:59.000 you come in the next day only to find out[br]that you made an error and all 9:59:59.000,9:59:59.000 of the other numbers you did were wrong,[br]and you couldn't participate as well. 9:59:59.000,9:59:59.000 And we were marked by class participation. 9:59:59.000,9:59:59.000 So, sitting there with 87 other people[br]in the class, I got to daydream a lot. 9:59:59.000,9:59:59.000 Most programmers in those days worked on[br]mainframes, building things like 9:59:59.000,9:59:59.000 inventory systems and payroll systems[br]and bill paying systems, but I had worked 9:59:59.000,9:59:59.000 on interactive word processing[br]and on-demand personal computation. 9:59:59.000,9:59:59.000 Instead of thinking about[br]paper print outs and punch cards, 9:59:59.000,9:59:59.000 I imagined a magic blackboard[br]that if you erased one number 9:59:59.000,9:59:59.000 and wrote a new thing in,[br]all of the other numbers 9:59:59.000,9:59:59.000 would automatically change,[br]like word processing with numbers. 9:59:59.000,9:59:59.000 I imagined that my calculator had[br]mouse hardware on the bottom of it 9:59:59.000,9:59:59.000 and a head-up display like in a fighter plane. 9:59:59.000,9:59:59.000 And I could type some numbers in and circle it,[br]and press the sum button. 9:59:59.000,9:59:59.000 And right in the middle of a negotiation,[br]I'd be able to get the answer. 9:59:59.000,9:59:59.000 Now I just had to take my fantasy[br]and turn it into reality. 9:59:59.000,9:59:59.000 My father taught me about prototyping. 9:59:59.000,9:59:59.000 He showed me mock-ups[br]that he'd make to figure out the placement 9:59:59.000,9:59:59.000 on the page for the things for brochures[br]that he was printing. 9:59:59.000,9:59:59.000 And he'd use it to get feedback[br]from customers and okays before 9:59:59.000,9:59:59.000 he sent the job off to the presses. 9:59:59.000,9:59:59.000 The act of making a simple, working[br]version of what you're trying to build, 9:59:59.000,9:59:59.000 forces you to uncover key problems. 9:59:59.000,9:59:59.000 And it lets you find solutions to[br]those problems much less expensively. 9:59:59.000,9:59:59.000 So I decided to build a prototype.[br]I went to a video terminal connected to 9:59:59.000,9:59:59.000 Harvard's time-sharing system[br]and got to work. 9:59:59.000,9:59:59.000 One of the first problems[br]that I ran into was: 9:59:59.000,9:59:59.000 how do you represent values in formulas? 9:59:59.000,9:59:59.000 Let me show you what I mean. 9:59:59.000,9:59:59.000 I thought that you would point somewhere,[br]type in some words, 9:59:59.000,9:59:59.000 then type in somewhere else,[br]and put in some numbers 9:59:59.000,9:59:59.000 and some more numbers,[br]point where you want the answer. 9:59:59.000,9:59:59.000 And then point to the first, press minus;[br]point to the second, and get the result. 9:59:59.000,9:59:59.000 The problem was:[br]what should I put in the formula? 9:59:59.000,9:59:59.000 It had to be something[br]the computer what knew to put in 9:59:59.000,9:59:59.000 and if you looked at the formula,[br]you needed to know 9:59:59.000,9:59:59.000 where on the screen it referred to. 9:59:59.000,9:59:59.000 So the first thing I thought was[br]the programmer way of doing it, 9:59:59.000,9:59:59.000 the first time you pointed to somewhere,[br]the computer would ask you 9:59:59.000,9:59:59.000 to type in a unique name. [br]It became pretty clear, pretty fast that 9:59:59.000,9:59:59.000 that was going to be too tedious. 9:59:59.000,9:59:59.000 The computer had to automatically make up[br]the name and put it inside. 9:59:59.000,9:59:59.000 So I thought, why not make it be the order[br]in which you create them. 9:59:59.000,9:59:59.000 I tried that. Value 1, Value 2.[br]Pretty quickly I saw that if you had more 9:59:59.000,9:59:59.000 than a few values, you'd never remember[br]on the screen where things were. 9:59:59.000,9:59:59.000 Then I said, why not instead of[br]allowing you to put values anywhere, 9:59:59.000,9:59:59.000 I'll restrict you to a grid?[br]Then when you pointed to a cell, 9:59:59.000,9:59:59.000 the computer could put[br]the row and column in as a name. 9:59:59.000,9:59:59.000 And, if I did it like a map and put ABC[br]across the top and numbers along the side, 9:59:59.000,9:59:59.000 if you saw B7 in a formula, you'd know[br]exactly where it was on the screen. 9:59:59.000,9:59:59.000 If you had to type the formula yourself,[br]you'd know what to do. 9:59:59.000,9:59:59.000 Restricting you to a grid[br]helped solve my problem.: 9:59:59.000,9:59:59.000 It also opened up new capabilities,[br]like the ability to have ranges of cells. 9:59:59.000,9:59:59.000 But it wasn't too restrictive -- 9:59:59.000,9:59:59.000 you could still put any value,[br]any formula, in any cell. 9:59:59.000,9:59:59.000 And that's the way we do it to this day,[br]almost 40 years later. 9:59:59.000,9:59:59.000 My friend Bob and I decided that we were[br]going to build this product together. 9:59:59.000,9:59:59.000 I did more work figuring out exactly how[br]the program was supposed to behave.[br] 9:59:59.000,9:59:59.000 I wrote a reference card[br]to act as documentation. 9:59:59.000,9:59:59.000 It also helped me ensure that[br]the user interface I was defining 9:59:59.000,9:59:59.000 could be explained concisely and clearly[br]to regular people. 9:59:59.000,9:59:59.000 Bob worked in the attic of the apartment[br]he rented in Arlington, Massachusettes. 9:59:59.000,9:59:59.000 This is the inside of the attic. 9:59:59.000,9:59:59.000 Bob bought time on the MIT Multics System 9:59:59.000,9:59:59.000 to write computer code[br]on a terminal like this: