In praise of the spreadsheet

Emma Stanton
|
September 11, 2023

The enduring and essential interface breaks rules, wreaks havoc, and has a permanent place in our hearts

Most of us could only dream of designing something as successful as the spreadsheet. It is so ubiquitous, so seemingly timeless and elemental, that today one has a hard time imagining it being designed by humans at all, as if it emerged magically of its own volition from somewhere deep in the mists of computing history.

Its patterns and logic are now accepted and ingrained to the point that, as designers, we co-opt them for our own purposes, assuming they will make our own designs more understandable and easier to use (and usually realizing later that a spreadsheet already fills whatever need we’re trying to address, and probably much better).

Despite the fact that spreadsheets throughout the corporate world tend to be riddled with wildly expensive errors, nobody in their right mind would suggest getting rid of them. They rose to prominence in a time before help was a Google search away, when figuring out how to solve a problem meant either struggling through impenetrably dense documentation or, hopefully, making friends with an Excel whiz (of which every workplace needs at least one).

It has a million and one uses, from boring business-y ones like monitoring budgets and tracking schedules, to fun stuff like wireframing, making art, recreating classic games, and, uh, solving linear programming problems in operations research (trust me, this is both cool and powerful!). You can bet that there are at least as many uses still out there waiting to be discovered, most of which will solve problems that we haven’t even yet conceived of.

Heuristics? ¯\_(ツ)_/¯

And yet, the wild success of the modern spreadsheet program flies in the face of so much conventional wisdom! With all of its hidden features, lack of affordance, and confusing information architecture, it would never survive a modern design critique. If it were a new product, it would fail a standard usability test miserably. It has an outrageously long (but not steep) learning curve.

Given our industry’s current approach to problem solving, it is nigh impossible to imagine a design student today coming up with anything like it. How could we possibly define a problem such that something this wide open would be the solution?

UX Designers love to use Nielsen Norman Group’s 10 Usability Heuristics for User Interface Design as a rubric for judging interfaces. The spreadsheet finds this hilarious. Here, look:

Heuristic #3: User control and freedom
Users often perform actions by mistake. They need a clearly marked “emergency exit” to leave the unwanted action without having to go through an extended process.

Reality: ever mess up one of those complicated formulas, which you had been tweaking over the course of days, which refers to some other cell in some other sheet, which itself refers to yet another cell? Maybe you used a relative reference where you should’ve used an absolute reference, but you don’t realize something’s wrong until a few steps later? You could try doing a bunch of Ctrl-Zs, but who the hell knows how that will turn out? Yeah, good luck finding the emergency exit!

Heuristic #5: Error prevention
Good error messages are important, but the best designs carefully prevent problems from occurring in the first place. Either eliminate error-prone conditions, or check for them and present users with a confirmation option before they commit to action.

Reality: the latest versions of Excel and Google Sheets warn us when they think that our formulas are bad, although their definition of “bad” is pretty limited. Even that is a very recent development. For decades, if we weren’t making wacky mistakes in our spreadsheets, were we even trying?

Heuristic #6: Recognition rather than recall
Minimize the user’s memory load by making elements, actions, and options visible. The user should not have to remember information from one part of the interface to another. Information required to use the design (e.g. field labels or menu items) should be visible or easily retrievable when needed.

Reality: that formula you used that one time for that other thing, which would be perfect for the thing you’re trying to do now… do you happen to remember it? No? Here’s a huge list of bizarrely named functions for you to stare at like a schmuck. Have fun!

Heuristic #8: Aesthetic and minimalist design
Interfaces should not contain information which is irrelevant or rarely needed. Every extra unit of information in an interface competes with the relevant units of information and diminishes their relative visibility.

WRITTEN BY
Emma Stanton
September 8, 2023