Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘visicalc


leave a comment »


I’ve been using my Raspberry Pi for retro-gaming, but I was thinking that if my Pi can run old video games for the Apple II and IBM PC then can it also run old business programs? The answer turns out to be yes, with a few notes. The developers of the emulator programs clearly claim their goal is to support gaming, but that of course most other programs will also work. But the emphasis is on user input, general processing and graphics. What is left out or secondary are more business things like printing or networking. The networking aspect would be important if you were trying to run a database server program or a multi-user program that used file locking to control concurrent access.

Anyway it turns out that many older business programs have been provided by the publisher or current own to the Internet Archive for historical preservation. So these are actually available for legal download and playing with. The Internet Archive even links to browser based emulators that can run these in a browser. In this article I’m going to be looking a bit at the history of spreadsheets and the fun fact that you can still run these and have some fun.


VisiCalc is often cited as the first electronic spreadsheet program. It was originally developed and released for the Apple II in 1979 and propelled the Apple II from being a hobbyist computer into a useful business tool. VisiCalc was written in 6502 assembler and was very fast and compact. VisiCalc was ported to the IBM PC when it came out in 1981, written in 8088 assembler, it was only 27K in size. However VisiCalc was a straight port of the Apple version (including bugs) and never utilized the greater hardware capabilities of the newer PC. After Lotus supplanted VisiCalc they purchased what was left in 1985 and eventually donated VisiCalc to the Internet Archives for historical preservation. So let’s give it a try on the Raspberry Pi, running under the various Retro Pie emulation libraries. First with the Apple II. I couldn’t get it to work in 80 column mode or with lower case letters, but otherwise seemed to be working fine. I couldn’t figure out the emulator’s screen capture function so I just took a photo of my monitor.

Using VisiCalc reminded me how bad the original Apple keyboard was. It didn’t have many keys so VisiCalc used escape for backspace, and there were only horizontal arrow keys so you had to toggle between moving vertically or horizontally using the space bar.

Now let’s try it in a DOSBox to emulate an original IBM PC. Here upper/lower case work, its 80 columns and there are all 4 direction keys, so moving around is much more natural.

The PC version of VisiCalc isn’t that bad. It’s just too bad the developers spent all their time porting to different platforms and didn’t develop the feature set or recognize where the spreadsheet world was heading.

Dan Bricklin, one of the founders of VisiCalc is still around and a frequent writer and blogger. He has quite a bit to say on technology evolution and the history of VisiCalc and Lotus. You can check out his web site here. One thing he points out is that because VisiCalc was so popular, that anyone entering the market had to be compatible so Lotus 123 had to read VisiCalc files seamlessly and it ended up copying VisiCalc’s expression language and structure pretty closely. As a result no VisiCalc customers were orphaned or abandoned since they could easily and seamlessly move to Lotus 123 and then Excel and now Google Sheets. If you do play with VisiCalc, it’s worth having a look at the reference cards that Dan posted here.

Lotus 123

With the advent of the original IBM PC with better hardware (mostly more memory for programs to run, but with the original 640k limit), the stage was set for someone to supplant VisiCalc who just did a straight port. Enter Lotus 123 in 1983 which claimed to be a spreadsheet, graphics and database program (hence the 123). The database claim was rather dubious but the graphics claim of producing business charts and graphs from your spreadsheet data was groundbreaking for the time. The first couple of versions of 123 were written in 8088 assembler and went around the BIOS and DOS to access the hardware directly. This made the program blazingly fast. Eventually 123 was supplanted by Excel and Lotus was bought by IBM in 1995 for a whopping 3.5Billion. IBM donated some early versions of 123 to the Internet Archives. I tried downloading and running 1.0a. This was a good version to play with since I didn’t have to install anything, I could just run it directly from the original floppy disk image. Below is a photo of my screen running Lotus 123 1.0a on my Raspberry Pi under the RetroPie MS-DOS emulator.

Trying to view graphs didn’t work in the emulator, I suspect this oldest version of 123 expects a graphics mode that the emulator hasn’t spent much time on (ie pre-VGA and probably pre-EGA).

Lotus 123 lost the battle when the world went to GUIs and Microsoft’s Excel became the new defacto spreadsheet program. IBM shutdown 123 development in 2014 and put this program to bed for good. Of course migration from 123 to Excel is painless so no one was left in a lurch due to this.

What’s Next?

A common question is: As 123 supplanted VisiCalc and as Excel supplanted 123, what’s next? I think one thing to be aware of is that Lotus 123 was dominant for a long time and its decline was slow. I think the seeds of replacing Excel are already sown. Now Microsoft isn’t just a one product company so it can keep Excel (and Office) going for a long time, but the contribution of Office to the bottom line is going down and Microsoft is looking to other areas for proper growth (like Azure). It might not be that there is just one replacement, since spreadsheets are used for many things, at different groups of users may take different paths. Some of the alternatives are:

  • Cloud based like Google Sheets. These offer much better collaboration and your data is kept safe in the cloud. You can run these on all your devices from your phone to your workstation. Many would argue that Microsoft is doing well here with Office 365, but I think Office Online is an also ran to Google Sheets just as Lotus 123 for Windows was an also ran to Excel.
  • Free software. LibreOffice is now really good and does most things people need. Why would anyone pay for Office when LibreOffice is there. Note that LibreOffice is also pre-installed on the Raspberry Pi.
  • Per device specialist. For instance Apple has Numbers which is freely available for all their devices as an app or for other platforms as a web app. This is very tailored to Apple devices and many will use this since it is usually pre-installed.
  • Specialty apps. People don’t seem to be going in for big giant programs anymore. The in thing are small task specific apps that typically run on a mobile device. For many tasks rather than use a spreadsheet, people just install a specialty app from their app store to get the job done.
  • Accounting apps. Many accounting companies like Xero, Sage or Intuit have extremely easy to use entry level products. Much of the use of spreadsheets is to keep simple general ledgers. People perceived using proper accounting apps as too difficult or too expensive, but this is no longer the case. Similarly most banks have really good web interfaces that give you most of what you need.
  • Machine learning and advanced analytics. This field has also moved away from spreadsheets and into more sophisticated tools and often more pure code  solutions. Much advanced analytics is now performed in R or Python since the quantity of data has overflowed spreadsheet usage.
  • Digital assistants, perhaps you don’t need to calculate with a spreadsheet anymore. Now you can just ask your digital assistant a question and get an answer. Digital assistants can have access to your accounting data and other data to give an answer without you needing to know formulas or type in any data. You can even type questions or formulas into Google directly and often just get a good answer. Its really good at metric conversions and other common tasks.


Playing with retro-business apps is almost as much fun as playing with retro-games. It’s certainly fun to be able to run all these older programs under emulation on my Raspberry Pi. It is also amazing how performant they seem and what a good job the open source communities that work on these emulators have done.

There are many other spreadsheet programs that you can play with, but I chose these two since I actually used them and they were industry leaders in their time. Some of the other abandoned spreadsheets include SuperCalc, Multiplan, T/Maker, Symphony, Jazz, Improv and Quattro Pro. But there is only so much time and this is already quite a long article.

Written by smist08

December 1, 2017 at 12:13 am