Today we will be looking at the history of the very first personal computer spreadsheet, VisiCalc. And for that, we need to go all the way back to fall of 1977 at the Harvard Business School where a first year student has just encountered an incredibly tedious task.
Dan Bricklin had been a programmer since the 1960s, both as an employee of Digital Equipment Corporation, a major player in the minicomputer computing world of the 1970s as well as for himself as an independent software developer. However by 1977, Bricklin felt that programming was actually getting to be so easy that he would be out of a job in the future if he didn’t do a career switch.1
As hard as it is to imagine this now, in the 1970s higher level programming languages like COBOL, FORTRAN, and Smalltalk had brought a new accessibility to programming, especially when compared to the programming world of the 1950s and early 1960s. Given the comparatively greatly reduced barriers to entry, Bricklin felt that the world would soon have a marked oversupply of programmers, and so he decided to enroll in the Harvard Business School and get his MBA in preparation for a new career in the business world.
As a fresh MBA student in fall of 1977, Bricklin’s production professor introduced him to production planning using a matrix that could easily span multiple blackboards across multiple rooms. This matrix of rows and columns was used to create what-if scenarios, where changing the value in one cell; for example employee wages; sent changes rippling across all related cells. This was great for modeling various business cases, and was a fairly common business tool at the time, but it was also a brutally tedious one as every change in a cell had to be manually recalculated by hand.
True, there were fairly cheap calculators around by the late 1970s but each calculation still had to be manually punched in, worked through, and handwritten over an erased value on the blackboard. Since a single change in a cell could ripple like a mathematical wave across dozens of other cells, large financial models could require hours or even days to recalculate. And of course, any mistake by the human doing the calculation or any missed cells that were linked to other cells would affect all other related calculations and be difficult to track down.
Bricklin wasn’t impressed by the thought of wasting large chunks of his professional life on these boring, repetitive, error prone calculations. In his book “Bricklin on Technology” he cites a paper he wrote in late 1978 for an advertising class that gives some insight into his thoughts at the time, stating that after spending hours working on homework calculations he would “invariably find that one of [my] initial calculations was in error, invalidating all of the numbers that followed it.”
As a professional programmer, his thoughts naturally turned to, as he put it “If only I had a magic piece of paper where I could change a number at the beginning of a set of calculations, and have all of the other numbers automatically recompute themselves...If only I had an electronic spreadsheet.”2 and he started thinking about using one of the new personal computers to do these calculations automatically.
This was not necessarily an obvious idea, in 1978 there were only about two hundred thousand personal computers worldwide. The world’s first significant personal computer, the Altair 8800, had only come out three years previously and the heavy hitters of the Commodore Pet, TRS-80, and Apple II had just come out the previous year and were still gaining traction.
The Apple II in particular was lagging the other two systems, having only sold about 20,000 units in 1978. Mainframes were embedded in companies large and small, but they were largely used for things like inventory management, payroll processing, and things of a similar nature, frequently batch related.
Financial software did exist, including packages like Foresight and Business Planning Language, but these were more time share focused, were not really interactive, required considerable training to use, and were solely used on mainframes designed to service many simultaneous users. According to one source “Spreadsheet-type applications were readily available on mainframes and time-sharing computers (usually in the form of financial modeling packages, but the lack of interactivity limited their usefulness.”3
They were primarily tools requiring professional support to use and they were frequently not real time. Additionally the timesharing systems cost hundreds or even thousands of dollars a month in fees to access, further limiting their reach and usefulness. The name “spreadsheet” did exist, although it typically referred to the physical matrix based financial models that Bricklin saw at Harvard Business School.
The lack of interactivity in systems such as the pioneering LANPAR system from 1969 greatly limited their usefulness since there was no easy way to sit in front of a computer screen and start playing with various financial scenarios in real-time. Additionally, given that all existing spreadsheet type applications ran on expensive mainframes they were not widely available to an individual but were rather more the domain of large businesses.
However the new personal computers were orders of magnitude cheaper than these systems, and Bricklin realized that the demands of an electronic spreadsheet could be handled by even their far slower processors. A spreadsheet after all is not a terribly complex system, at least not in its most basic form, it is an excellent example of a tedious task that is easily computerized.
What Bricklin was envisioning was an easy to use spreadsheet that was customized for a single user, running in real time on a comparatively inexpensive personal computer.
His program could not only be used for running a small business’s finances but also for an individual who just wanted to keep track of their monthly budget. Bricklin originally imagined his electronic spreadsheet as part of a heads up display where he “could see the virtual image hanging in the air in front of me. I could just move my mouse/keyboard calculator around on the table, punch in a few numbers, circle them to get the sum, do some calculations and answer ‘10% will be fine!’”4 Bricklin quickly refined this imaginative vision down to something that could realistically be achieved by a 1 MHz processor with 32k of RAM.
Bricklin received encouragement from some of his teachers, as both his production professor and his accounting professor loved the concept, although his finance professor did not agree, telling Bricklin that there were already plenty of sophisticated financial analysis programs available for mainframes and that there was no room for a little one that ran on a personal computer.
However this professor did suggest that Bricklin talk to a former student of his, Dan Fylstra, who had been exploring the possibilities of selling software to the personal computer market, and had cofounded a small software publishing company called Personal Software after graduating from Harvard Business school with his own MBA in 1977. Personal Software was a pioneer in the early personal computer software market, and was doing quite well, thanks to an early chess program called MicroChess created by its other cofounder, Peter Jennings.
Bricklin originally created a very rough prototype of VisiCalc in early 1978, written entirely in BASIC on Harvard’s timesharing system. It primarily served to help him flesh out the concept further. This is where some sources tend to mix up Bricklin’s first prototype, created in early 1978 on the time sharing system in BASIC, and his second prototype, which he did in Apple BASIC on a borrowed Apple II in the fall of 1978. The first prototype on the timesharing system helped him refine the idea and matrix interface and how the cells would be addressed, the second one on the Apple II helped him work out things like how navigation would work.
Bricklin had originally hoped to use a mouse to control things, since he was aware of the pioneering work done by Douglas Engelbert and Xerox PARC, but this was unfortunately not possible on a 1978 era Apple II, which wouldn’t see a mouse until a prototype5 of a mouse and graphical user interface was created by Bill Budge, Burrell Smith,and Andy Hertzfield in 1981, later released in 1982.
Four years away from a viable Apple II mouse, Bricklin’s next idea was to use the Apple II’s game paddles to hop from cell to cell, but he found them to be too sluggish and imprecise for the fast navigation that he wanted, so he eventually went with using the arrow keys. One wrinkle was that the Apple II did not have up and down arrow keys, only left and right, forcing Bricklin to utilize the space bar to switch between horizontal and vertical movement.
Having worked out how he wanted VisiCalc to look and work, Bricklin then partnered with a friend of his from MIT by the name of Bob Frankston (note: in the original script I stated that Frankston and Bricklin were not only friends but had also been roommates at MIT, as that is what one of my sources6 directly stated. Frankston himself was kind enough to comment on the video and correct me on this), who was an accomplished programmer in his own right.
The two of them formed a small company called Software Arts with the goal of developing a full version of VisiCalc for retail sale. Frankston would be the one to actually program the full version of VisiCalc, using Bricklin’s prototype as a reference and with constant refinement and feedback from Bricklin. A veteran programmer, Frankston had been programming since the 1960s and his handling of the coding allowed Bricklin to focus on the high level view of exactly how all the pieces of the program should work, as well as start writing some of the user documentation.
When Bricklin spoke with Fylstra, he was very interested in VisiCalc and quickly offered to publish VisiCalc through Personal Software. Fylstra was also responsible for the choice of the Apple II as the initial target platform. The Apple II was chosen purely because Fylstra had both it and a TRS-80 on hand in fall of 1978 when Bricklin first spoke to him and since he wasn’t using the Apple II, that’s the one he loaned it to Bricklin, who then used it to create his second prototype.
This Apple II was solely used for developing the second prototype, it was not used to develop the actual retail version. Bricklin had no personal preference between the TRS-80, the Commodore Pet, or the Apple II as he owned none of them and thus the enormous sales benefit that Apple gained from being the initial VisiCalc target platform happened purely by chance.
Once the second prototype had been used to work out all the implementation details, Frankston got to work developing the final retail version that would be distributed by Fylstra and Personal Software. He implemented VisiCalc entirely in assembler, using a time-sharing system called MULTICS that ran on a big mainframe that could be accessed remotely for an hourly fee. Since the fee for computer time was cheaper at night, VisiCalc was primarily programmed during nights, with Frankston remoting into the mainframe from his house, programming during the night and sleeping during the day.
Frankston wasn’t remoting in from a personal computer either, he did his development from a DEC LA-120 terminal with no screen, just an endless roll of paper. Given that Fylstra had loaned Bricklin an Apple II, I would assume that Frankston used the emulator on a timeshare system due to the enhanced programming tools and more reliable backups the mainframe he was remoting into offered.
Programming the early personal computers was still difficult in the late 1970s as they lacked many of the helpful tools that mainframes had and suffered from frequently unreliable storage. Although some sources state that Frankston was using an Apple II emulator, he in fact appears to have specifically used a 6502 emulator. Since he was coding entirely in 6502 assembler anyhow this would make the most sense.
There seems to be some confusion over how long it took to program VisiCalc as Wikipedia says it was programmed in two months at the end of 1978 while the seminal work on the development of the personal computer, Fire In The Valley, says the first prototype of VisiCalc wasn’t available until spring of 19797 and Accidental Empires states that it took “close to a year”8 to finish.
This is presumably due to the confusion over just how many versions of VisiCalc were created. To clarify, there were three separate versions of VisiCalc, starting from when Bricklin first created a rough prototype in BASIC on the Harvard mainframe, then another version done in Apple BASIC on the Apple II borrowed from Fylstra, and finally the full version done in 6502 assembler. Frankston initially did this last version by developing on the mainframe at night, compiling the resulting code for transfer to the Apple II, and then debugging on the borrowed Apple II. According to a comment Frankston left on the YouTube video, his only aid in debugging was the very primitive debugger that the Apple II came with.
Final development was eventually moved to a minicomputer that Frankston and Bricklin bought when they first rented office space. This last one was the first to be given the name VisiCalc, a name that was Frankston came up with during a meeting with Fylstra and Bricklin at a restaurant called Vic’s EGG on One in Cambridge, Massachusetts.
There is also some confusion over when it launched with Wikipedia stating June 4th of 1979 and sources such as Accidental Empires giving the date of October of 1979. This is because although VisiCalc was first announced and publicly shown at the National Computer Conference in June of 1979, it initially attracted little interest and there was still additional development needed on it.
However, an influential analyst by the name of Ben Rosen saw a demonstration of pre-release version of VisiCalc and wrote that it was “hard to imagine any serious user of a personal computer not owning-and frequently using-VisiCalc.”9 He additionally stated that VisiCalc “seems to be unique in the computer industry. Mainframe people I’ve shown VisiCalc to claim there’s nothing like it available on conventional machines.” His prediction would soon be put to the test, but first VisiCalc needed to complete development.
Based on VisiCalc’s anticipated sales, Personal Software advanced Bricklin and Frankston a prepayment of 100,000 dollars, enabling them to rent space in the basement of a commercial building, buy the aforementioned minicomputer to finish development on, hire two employees and finish VisiCalc’s development. They also started the process of porting VisiCalc to the other two dominant members of the nascent personal industry, the Commodore PET and TRS-80. The PET was an easy choice since it used the same 6502 processor that the Apple II did, which could not be said for the TRS-80, which used a Z80 processor.
Although VisiCalc was technically available for sale at this point, only a literal handful of copies seem to have been sold, with Bricklin remembering only five copies being shipped sometime that summer. VisiCalc’s first real, boxed release was version 1.37 which shipped in October of 1979 with an initial retail price of 100 dollars. As released, VisiCalc only ran on an Apple II with an expanded RAM of 32k, eight times the 4k of the original 1977 Apple II and double the standard RAM of the newly released Apple II+.
VisiCalc was also a pioneer in its packaging, with Personal Software shipping the boxed release out in a handsomely designed brown and gold binder, with excellent documentation that was professionally typeset and illustrated. The vast majority of software in 1979 was merely a floppy disk or cassette tape inside a Ziploc bag with xeroxed documentation that was merely stapled together. Fylstra knew the importance of presentation, and made sure that VisiCalc presented itself professionally.
Although slow to start, VisiCalc quickly became the first “killer app” of the personal computer era. Up until VisiCalc’s launch, the uses for a personal computer were not necessarily evident to most people who weren’t programmers. The Altair 8800 that kicked off the personal computer industry in 1975 originally came with no software, no display, had to be programmed in machine language by flipping toggle switches on the front, and had no persistent storage.
This all was rapidly changing but by 1979 the most useful thing for most people that a computer could do was probably word processing, with the first word processor, Electric Pencil hitting the market in 1976, and the WordStar reaching the market in 1978. But this was still a tiny market overall.
Now however, for about 2500 dollars in 1979 dollars, a business could purchase a copy of VisiCalc and an Apple II to run it on and “have a turnkey system for handling the accounting and spreadsheet work they had been doing longhand (at small companies) or on mainframes with punch cards (at big companies)”10 accessing real time capabilities that even big businesses lacked. And this was a single one time cost, not a monthly recurring one.
VisiCalc was something that any MBA, financial analyst, small business owner, or anybody who dealt with numbers on a daily basis, could immediately grasp and see its enormous utility. People bought a computer solely to run VisiCalc and sales of Apple IIs, previously lagging far behind the PET 2001 and the TRS-80, its two main competitors, skyrocketed. Prior to this Apple had been selling only small numbers of Apple IIs but with VisiCalc fueling enormous demand, Apple’s sales exploded even after VisiCalc’s price was raised from 100 dollars to 150 dollars and then to 250 dollars by 1982.
Although VisiCalc was only exclusive to the Apple II for a year, it gave Apple the jump it needed to become the powerhouse it became in the 1980s. Additionally, because VisiCalc required the upgraded 32k Apple II over the standard 16k model, Apple made even more money per sale as the upgraded Apple II had a higher profit margin than the base model.
VisiCalc eventually was ported to most major computers of the era, not just the Commodore PET and TRS-80 but also Atari’s 8 bit line of computers, CP/M machines, and was available at launch for the IBM PC in 1981. Personal Software was put in the somewhat unique position of being primarily a single software company, almost entirely dependent on VisiCalc for revenue, a program that as the publisher, it didn’t own the rights to.
A number of other programs were created to play off of the VisiCalc name, such as a GUI called Vis-On and some programs that extended VisiCalc’s functionality such as VisiTrend and VisiPlot. These last two programs were purchased by Personal Software and were also unique in that one of the two programmers who created them, Mitch Kapor, would later leave Personal Software to form his own company called Lotus, whose flagship product, Lotus 1-2-3, would play a key role in VisiCalc’s future. More on that in a bit.
1979 started with 500 copies of VisiCalc shipping every month but that number quickly expanded to 12,000 copies a month by 1981, and then to 30,000 copies a month, reaching a total of a million copies sold by 1985 when VisiCalc was discontinued. However by this time it had been essentially moribund since 1983, when Lotus 1-2-3 came out for the IBM PC.
VisiCalc simply did not keep up with the rapid pace of software development that the computing industry of the 1980s required and although it had been available for the new IBM PC in 1981, no special effort had been made to take advantage of the PC’s feature set. The IBM PC 5150 could have up to 640k of RAM, but the version of VisiCalc released for it was merely a port of the TRS-80 port of the original Apple II version with essentially no special development.
There is some conflicting information here on how much RAM the original IBM PC version supported as Accidental Empires says that it could use no more than 64k11 of RAM, and had the exact same feature set as the old Apple II version while Bricklin himself says that it could in fact make use of a full 512k12 that an upgraded IBM PC could come with, quite a lot of memory in those days, although less than the 640k that a fully upgraded IBM PC could possess. I am going to go with Bricklin’s account here, which does not disagree that the PC version of VisiCalc was feature-wise the exact same as the Apple II version with no new functionality or customization for the IBM PC specifically.
Still, the IBM PC version sold very well for two years until 1983 when Lotus 1-2-3 was released. Lotus 1-2-3 was released solely for the IBM PC, it was developed to run as fast as possible on it as it solely targeted the IBM PC and was written in 8088 assembler. It also boasted a vastly expanded feature set over VisiCalc, whose sales quickly fell off the proverbial cliff. Other competitors such as SuperCalc also played a role in marginalizing VisiCalc, but it was Lotus 1-2-3 that really killed its hopes in the marketplace.
Additionally a legal battle erupted between Personal Software and Software Arts that sucked up much time and money on both sides, and ensured that little time and attention was given to developing VisiCalc further. In brief, Personal Software had come to feel that the royalty agreement it had signed with Software Arts, giving them 37.5 percent of every copy of VisiCalc sold, was far too high, and indeed it was over twice the 15 percent royalty that became common once the software industry matured in the 1980s.
However, Bricklin and Frankston felt that since they had a signed contract for the 37.5 percent, and both sides were making quite a bit of money, there was no reason for them to negotiate with Fylstra over the issue. This wasn’t the reason for the lawsuits erupting, but it was an underlying source of stress between the two companies that exacerbated matters. Another source of tension between the companies was Personal Software rebranding itself as VisiCorp in 1982, and minimizing Software Arts’ name and connection with VisiCalc, the product it had created and still owned.
Bricklin and Frankston had been working on a new and improved version of VisiCalc, called VisiCalc Advanced Version that had a raft of new features and would have been far more of a feature competitor to Lotus 1-2-3 on the IBM PC, had things gone differently. Unfortunately it was doomed by two poor choices, the first one was that it wasn’t initially targeted at the IBM PC, but rather was first released for the ill-fated Apple III. The second mistake was that when it was ported to the PC, it was not developed in 8088 assembler but rather in a high level language.
This made it easier to program, faster to deliver, and easier to port but also ensured that it would run far slower than Lotus 1-2-3. The IBM PC release was also not delivered until 1984, a year after its original planned release date13 and this led to VisiCorp suing Software Arts for 60 million dollars in damages. The bad blood between both companies was on full display as Software Arts countersued, stating that VisiCorp had not properly marketed VisiCalc and furthermore, owed royalties for other programs that Software Arts felt were merely extensions of VisiCalc.
Eventually the court battles wound up essentially destroying both companies, and in 1985 Lotus actually bought both Software Arts and the rights to VisiCalc. Once Lotus owned the rights to VisiCalc, it saw no point continuing development on a competitor to Lotus 1-2-3 and discontinued it entirely in 1985. That same year also saw Microsoft releasing the first version of the spreadsheet that would eventually kill Lotus 1-2-3 in turn, Excel. Without its flagship product VisiCorp quickly went defunct and its remaining assets were sold off to Paladin Software in the mid-80s.
Bricklin went on to form several other tech based companies and currently is the president of a software development company called Software Garden as well as the Chief Technical Officer of Alpha Software. Frankston went on to work for Lotus and then Microsoft among others and today sits on the board of governors for the IEEE Consumer Electronics Society, where he writes a regular column for their magazine. Fylstra had a varied career as well, and for the past 33 years has been the president of software company Frontline Systems.
And that wraps up the story of VisiCalc, the world’s first electronic spreadsheet for personal computers.
Cringely, R. X. (1996). In Accidental empires: How the boys of Silicon Valley make their millions, battle foreign competition, and still can't get a date (p. 64). HarperBusiness.
Bricklin, D. (2009). In Bricklin on technology (p. 425). Wiley Pub., Inc.
Campbell-Kelly, M. (2004). In From airline reservations to sonic the hedgehog: A history of the software industry (p. 213). MIT.
Bricklin, D. (2009). In Bricklin on technology (p. 426). Wiley Pub., Inc.
Hertzfield, A. (n.d.). Apple II Mouse Card. Folklore.org: Apple II Mouse card. Retrieved June 5, 2021, from https://www.folklore.org/StoryView.py?story=Apple_II_Mouse_Card.txt&characters=Burrell%2BSmith
Carlston, D. G. (1985). In Software people: An insider's look at the personal computer software industry (p. 38). essay, Simon & Schuster.
Freiberger, P., & Swaine, M. (2000). In Fire in the valley: The making of the personal computer (p. 290). essay, McGraw-Hill.
Cringely, R. X. (1996). In Accidental empires: How the boys of Silicon Valley make their millions, battle foreign competition, and still can't get a date (p. 70). HarperBusiness.
Carlston, D. G. (1985). In Software people: An insider's look at the personal computer software industry (p. 121). essay, Simon & Schuster.
Rubin, M. (2006). In Droidmaker: George Lucas and the Digital Revolution (p. 210). essay, Triad Pub. Co.
Cringely, R. X. (1996). In Accidental empires: How the boys of Silicon Valley make their millions, battle foreign competition, and still can't get a date (p. 151). HarperBusiness.
Bricklin, D. (2009). In Bricklin on technology (p. 453). Wiley Pub., Inc.
Pollack, A. (1984, February 26). How a Software Winner Went Sour. New York Times.