21. October 2017

3 things you don’t understand about spreadsheets (Part 1)

The world has a love/hate relationship with spreadsheets.

People loath them, and use them as a metaphor for the cold, the calculated and the impersonal. Yet hundreds of millions of people hardly go through a day without using them.

“Sophisticated” programmers and IT people like to frown upon their usage. Yet they’re fighting a losing battle as spreadsheets are everywhere. And used for everything. Including — granted — things they are not right for.

But there are 3 things that most people don’t understand about spreadsheets. I’ll cover those one by one in a series of three posts.

#1 Spreadsheets are programs

This is the single most important thing to understand about spreadsheets. Once you get your head around this, everything else about them and their use falls into place: Spreadsheets are programs.

Spreadsheets are programs and Excel is the most popular software development environment in the world!

Or as one of the smartest researchers in this field — Felienne Hermans — likes to say: “Spreadsheets are code” (and she makes a pretty damn convincing argument).

In fact they are both programs AND code. In the world of spreadsheets there is no distinction between the runtime and the software code.

Granted, spreadsheets are not a linear sequence of operations that are executed in succession. Instead:

  • Relationships between data elements are encoded in a declarative way (functional)

  • These data elements are automatically reevaluated when anything they depend on is altered (reactive)

And if you’ve been keeping up with the literature, you’ll know that functional and reactive programming are all the rage. In fact, I’d argue that currently spreadsheet programs are the only mainstream environments that come close to Bret Victor’s ideas on instant feedback and “Inventing on Principle” (if you consider yourself a nerd and haven’t seen this presentation yet, drop everything and watch it NOW).

The third characteristic of spreadsheets as programming environments is that they mix data, logic and presentation.

This is a key strength and weakness at the same time:

  • It’s a strength in the eyes of regular users that don’t think about such abstractions and can just start typing in data (without thinking about data types or data models), logic in the form of formulas (without thinking about testing, code reuse or documentation) and presentation (without thinking about client development, device form factors, etc.). In fact they use spreadsheets to build everything from pure databases to print-out forms with no data or logic element. Without a second thought.

  • But it’s equally a weakness in the eyes of professional software developers where such lack of abstraction is blasphemy as they need to think about testing and quality assurance, maintenance, co-development and operations.

In the early days of the personal computers everybody understood the nature of spreadsheets instinctively: They were a way for regular users to write their own business applications instead of having to buy, or worse — wait for — someone to pick up on their specific need and write software for it. They were a way to turn the generic purpose machine that was the personal computer into a machine that addressed your specific need.

Or as Ben Rosen wrote in the Morgan Stanley Electronics Newsletter in a 1979 review of VisiCalc, the first spreadsheet for a personal computer:

Though hard to describe in words, VisiCalc comes alive visually. In minutes, people who have never used a computer are writing and using programs. […] You simply write on this so-called electronic blackboard what you would like it to do — and it does it.

But more about the early days of spreadsheets in part 2

More blog posts

30. September 2021

Build a price quote calculator in 5 easy steps 

Embed interactive features like calculators on a website, and voilà! They become super-engaging conversion rate boosters 🚀

25. August 2021

Embedding 101: Entrepreneur Edition

As GRID grows and evolves, so do interesting new use cases and patterns of GRID-authorship. These patterns help us learn...

23. March 2021

GRID launches empowering spreadsheet-to-web software 

It’s launch time, and we couldn’t be more thrilled. Something special happens when a team this passionate unites behind a...

27. October 2017

3 things you don’t understand about spreadsheets (Part 2)

This is part 2 of 3 in a series of posts about the nature and history of spreadsheets.

28. August 2018

Excel vs. Google Sheets usage — nature and numbers

One of the most common questions I get is if Excel is still important, implying that “everybody” must be using...

16. October 2018

The 3 types of spreadsheets

We have been taking quite a deep dive into the world of spreadsheets lately. We have analyzed tens of thousands of...

03. November 2017

3 things you don’t understand about spreadsheets (part 3)

This is the third and final part of a series of blog posts on the origin and nature of sspreadsheets.

14. December 2018

The 20 Best Spreadsheet Quotes

In GRID’s deep dive into the world of spreadsheets, we’ve come across a lot of insightful, witty and sometimes somewhat distressing quotes....

08. February 2019

Excel — a Domain Specific Language for Finance?

One of my biggest inspirations when doing background research before starting GRID was Felienne Hermans. I met Felienne first at Strata in London...