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