Grids, Sheets and Narratives

Design improvements to the three most powerful end user productivity tools.

  1. Grids

An error prone design

An alarming amount of the world’s financial system runs on spreadsheets, where relationships between elements and the source of data and formulas are buried and prone to error from mistakes in creating them, purely because of inherent product design reasons — the spreadsheet model currently mixes presentation with meaning and doesn’t make relationships visible at a glance.

In addition, the underlying relationships and formulas are attached to a two dimensional grid, so they cannot be serialised into a linear format, to debug the logic, in the way that most software can be.

That everyone likes to use

And yet, despite this, the flexible grid turns out to be incredibly user friendly and familiar way to model quantitative data. It’s a simple, flat file, end user, database creation tool. Visual relational database systems like FileMaker never took off the way that spreadsheets did and the grid model is not going to go away.

Which has an underlying structural design flaw

Just as a rigorous software language should be strongly typed to avoid underlying errors in the meaning of data, in a spreadsheet interface, all style elements should relate to the underlying data and have some meaning. For example, changing the look of an element to bold should mean something, it shouldn’t just be to look pretty. And the relationships between cells and even external data should be easily visualisable.

Examples: a $ sign next to a number should mean that the number has to be a currency; red text (or whatever style element is chosen and fixed at the time of shipping the software) could mean that a cell’s contents are formula derived rather than hardcoded and what cells contribute to the calculation should also be visible somehow.

Below Are some examples of this:

The equivalent of strong typing in software, every visible element should have meaning and not just be styling, e.g. a ‘$’ symbol should mean that the data must behave like a currency element and must have a country specified.
All visual elements should have underlying meaning, and some underlying meaning should have a fixed visual representation. For example, red could indicate that the contents of a cell are derived from other cells, and black that they are hard coded.
Relationships between elements should be like a wiring diagram
It should be possible to easily reference data from trusted external sources (oracles) to create live formulas e.g. currency mappings (here $ to £) based on realtime rates, and visualize these through labelled graph ‘wiring’ elements which are at 45 degrees to represent the z axis and therefore a separate sheet and url.

In summary: spreadsheet design could be improved by making all presentation relate to underlying meaning and making all relationships visually understandable, including those to external sources.