VisiCalc for the IBM PC was first released in 1981. I thought it would be interesting and instructive to take a look at a piece of software that is not only twenty three years old, but that also defined a market. If you're not familiar with VisiCalc then you should know that it was the world's first electronic spreadsheet. Imagine a time before Microsoft Excel, before Lotus 1-2-3, before Windows, before MS-DOS even. A time when a spreadsheet was a piece of paper with a grid on it that accountants used. That time was 1979 and I was five years old. I remember it, I got a train set for Christmas.
VisiCalc from Software Arts, Inc. was released into the world of 1979 for the Apple II—or Apple ][ for the cognescenti—computer. VisiCalc became the world's first killer application i.e. a program that makes people buy the hardware just so they can run that software. It was a phenomenal success and was ported to numerous other platforms, including the new IBM Personal Computer in 1981.
One of the most famous facts about VisiCalc was that it was not patented. People speculate that Dan Bricklin and Bob Frankston must have been stupid not to patent their creation, for surely it would have made them astonishingly rich. What's forgotten is that at that time patents for software were almost unheard of.
VisiCalc is a free download from Dan Bricklin's site, for Lotus—who now own the copyright—have given permission. I really like online software museums, where you can download the important exhibits, as it were. Borland have a good one. I wish more software companies would put their heritage online.
The first thing that strikes you about VisiCalc is its size, or rather, lack of it. You get a 27,520 byte MS-DOS executable (actually a .COM file) and nothing else. No installer, no uninstaller, no DLLs, just a fully functional, no frills spreadsheet program. Run it from your hard drive, run it from a floppy or run it from a USB key ring if you like; this thing is tiny! That's because it's a command-line application written in assembly language. It will run though, thanks to Windows backwards-compatibility. Upon double-clicking the file and pressing Alt + Enter to switch to full-screen mode for that authentic 1981 experience, this is what you get:
—It's instantly recognisable as a spreadsheet, but there's little clue about where to start. We've wound the clock back to a time without GUIs (Xerox PARC excepted), when applications came with proper printed manuals and handy reference cards with the commands printed on. And so it is with VisiCalc. I set about recreating the spreadsheet featured in the reference card.
Using VisiCalc is surprisingly similar to using a modern spreadsheet program. The main difference is that there is no menu bar, so you have to memorise the commands rather than being able to browse for them. +1 for the invention of the drop-down menu. The command processor is invoked by typing a forward slash, followed by a single letter corresponding to the command you wish to execute, which may be followed by further letters that define the exact command you want. To jog your memory, VisiCalc displays “BCDEFGIMPRSTVW-” in the prompt line after you type the forward slash! In use the commands are actually pretty easy to pick up. For example, /C clears the screen, /D deletes a row, /FI sets the cell format to integer; it shouldn't take too long to become a VisiCalc speed demon. I had difficulty working out how to enter the decorative line of hyphens in the reference card spreadsheet. It turns out you have to use /- to enter a repeating label and then you type the character that you want to repeat. Pressing the right arrow key fills the current cell with that repeating character, which is neat. This is what a came up with:
VisiCalc includes most of the basic functions that you'd want from a spreadsheet, including @SUM, @MIN, @MAX, @COUNT, @AVERAGE etc. It's amazing how constant these basic ideas have remained in the years since Dan Bricklin and Bob Frankston first worked it all out. It's a testiment to its creators' design and execution that VisiCalc is still a perfectly usuable electronic spreadsheet. However, I don't want to use it. Given the order of magnitude difference in size and features, it's interesting that Excel 10 feels snappier. I guess that's progress.
I like the purity and simplicity of VisiCalc and it's always interesting to meet a legend, but for my everyday spreadsheet tasks I think I'll stick with Excel. I remember the days of DOS applications—with reference cards that you stuck above the keys—from when I first entered the world of work, which is why I now don't want to give up the niceties like menus, and drag and drop, that we all now take for granted. Time to quit VisiCalc using /S(ave) followed by Q(uit) and Y(es).