Software Arts was founded on January 2, 1979, by me and Bob Frankston. It was named by Bob while we were having dinner together in a fast food restaurant we nicknamed "Kentucky Fried Fish". (It was an old KFC building reused by another restaurant.)
Our first location was in the apartment Bob rented in Arlington, MA. He worked in the attic:
Initial VisiCalc development in the attic
The inside of the attic looked like this:
The attic where Bob Frankston created VisiCalc
including Apple ][ and programming manual 12/21/78
Photo courtesy of Bob Frankston
Here's another view, with me discussing the product with Bob Frankston's father, Ben:
Dan and Bob's father Ben in the attic 4/1/79
Photo courtesy of Bob Frankston
The VisiCalc screen looked like this:
VisiCalc Screen, early Alpha version 1/4/79
This version of VisiCalc was from very early in the coding (about 1 week in). You'll note that all of numbers are left justified. There were no fixed decimals, yet, so we carefully typed in numbers that would all look good, with no zeros to be suppressed (e.g., "12.10" would have been "12.1"). VisiCalc used a variation of decimal arithmetic so all money values could be represented exactly, with no funny behavior common at the time from binary floating point.
In those days we got screen photos by taking pictures ourselves. I used my old trusty 35mm with a telephoto lens to flatten the image as much as possible and long exposures to avoid the "TV photograph" look.
VisiCalc was coded in assembler, first for the MOS Technology 6502 microprocessor used in the Apple ][. The assembler Bob started with ran on the MIT Multics typesharing system. It was much less expensive to use it late at night than during the prime-time of day, so Bob slept during the day, waking up when I came over after classes in the later afternoon. He dialed in using a modem and a DEC LA-120 printing terminal like this one:
DEC LA-120 terminal like the one Bob used to start coding VisiCalc
The assembler was a macro assembler, and Bob had it set up with structured programming and "IF-THEN-ELSE" type macros, so VisiCalc actually had only a couple of "GOTOs" in it, something novel (though not unique) for its day. It was heavily commented.
Here is an example of what some of the source code looked like. Each line represents no more than one CPU instruction. The "poll_keyboard" subroutine call was important. As Bob Frankston describes it: "There were no interrupts nor a clock [on the Apple II]. If the user typed a character before the keyboard input buffer was emptied it would be lost... To avoid [losing characters when the user typed fast during a CPU-intensive operation] I polled the keyboard in the middle of potentially long loops -- keyboard checks were strewn throughout the code." (See Bob's "Implementing VisiCalc" essay for a technical discussion of the implementation.)
This is an Apple ][ setup like Bob used to create VisiCalc (this is a later one with extra hardware for testing):
Apple ][ setup
When shipped, the screen looked like this:
First version of VisiCalc screenshot
Naming a new product is always a challenge. I had originally proposed the name "Calcu-ledger" for the product. I wrote about the name in the paper for my course in advertising. I listed some of the traits of that name, such as that it sounded too much like something for a bookkeeper, and then explained, "Other names that I have thought of, such as 'electronic spreadsheet' or 'calcu-paper' don't sound right, or may not be understood by people, even after they know what it is (not everybody knows what a spreadsheet is, ledger is more common)."
The product's eventual name, VisiCalc, as I understand it, was coined at a meeting with Bob Frankston and Dan Fylstra (Personal Software) at Vic's EGG on ONE restaurant on Mass. Ave. in Cambridge, Massachusetts. Dan Fylstra, as head of Personal Software and in charge of the marketing for the product, made the decision to choose that name out of all of the others being considered. Vic's is no longer there, but this photo that I took ended up in Popular Photography magazine as an example of pictures people take themselves for speeches they give, fulfilling a childhood dream of mine to be recognized as a photographer (well, at least sort of recognized).
Where VisiCalc was named
I showed the product to various professors or asked them for advice. Before coding the prototype, I got my first encouragement in the spring of 1978 from Professor Roger Schmenner, who told me how huge blackboards were used for production calculations in real companies, and from Professor Jim Cash, who praised me for dealing with the user interface issues of computing. I spoke to Professor Barbara Jackson, who had consulted to CEOs of large companies, and she emphasized going after simple use and that I'd be competing with the back of an envelope (a major driver of the interface). Professor Jeff Miller, after seeing the prototype, encouraged showing users how to do applications, including master scheduling and budgeting for manufacturers. Professor Buchanan thought it could sell for $50 for home use, and "lots (thousands) for business." Professor Robert Glauber recommended adding net present value (with end-of-year for each step) and table lookup functions (which we did), as well as IRR and other financial functions (which were put in the product well after the first release). Professor Charles Kelso, in addition to teaching me introductory finance and the value of doing financial projections, is the person who first introduced me to Dan Fylstra. I brought Dan Fylstra in to Harvard twice to meet with Professor Michael Porter to discuss competitive strategy in the market. My classmates also helped me in many ways, including John Reese's suggestions that improved the formula editing user interface. The Harvard Business School was very helpful.
The first "business problem" for which VisiCalc was used was for a class assignment at Harvard Business School. I needed to analyze the "Pepsi-Cola" case. This involved the "Pepsi Challenge" marketing campaign. (Little did I know that a Pepsi executive involved in that campaign, John Sculley, would end up a part of the PC industry at Apple years later.) To analyze the case, I used a very early version of VisiCalc running over in Bob's attic. It couldn't print (so I had to copy the output by hand) and it couldn't save (so each time it crashed I had to type in everything else again.) I was able to get called on in class the next day and "present" the case. I talked about five-year financial projections, testing multiple possibilities, with all sorts of variables. For those days of hand calculators, it was very impressive. The professor asked me how I did it. Not wanting to reveal our secret product, I just said: "Well, I added this and multiplied by that and subtracted this and..." He asked back: "Why didn't you just use a ratio?" I replied: "That wouldn't have been as exact." What I didn't tell him was that the program code to do division wasn't working yet...
Here is what the case and my notes looked like:
The first page of the Pepsi-Cola case, and a real Pepsi executive of the time photographed in 1999, John Sculley, when I told him about this use of the case
Dan's notes and typed (using a typewriter) report calculated with an early version of VisiCalc