One cell to rule them all

There is no better way to structure and communicate a business plan than through Excel. There is also few alternatives to analyze its outputs and to manipulate hypothesis about the business.

From lists of potential suppliers to marketing activities pipelines, Excel is the norm. Whether it is the Microsoft or the Google flavor, spreadsheets are the beginning and end of a vast majority of business processes.

Why? Because they are very visual and easy to use [1]

  • They use spacial relationships to define program relationships. Humans have highly developed intuitions about spaces, and of dependencies between items.
  • They are forgiving, allowing partial results and functions to work. One or more parts of a program can work correctly, even if other parts are unfinished or broken. This makes writing and debugging programs much easier, and faster.
  • Modern spreadsheets allow for secondary notations. The program can be annotated with colors, typefaces, lines, etc. to provide visual cues about the meaning of elements in the program.
  • The modern variations also have extensions that allow users to create new functions can provide the capabilities of a functional language.

If you add on top collaboration and their non-compiled nature, you can figure why hundreds of millions use them.

Even the logic behind spreadsheets is easy: you have cells inside of which you input expressions. One cell, one expression. Expressions are made of functions and their arguments, static values or addresses of other cells. So, cells have precedents and dependents. Whenever a cell is updated, cells which depend on it update as well. It's an event-driven cascade of changes. Cells store and display the current value. In fact, you can think of spreadsheets as a program databases, functions and interfaces.

A Spreadsheet CellA Program
FormulaBusiness Logic
PrecedentsInputs
DependentsSide-effects ("Output")
ValueMemory storage

I wonder if some form of Excel will bridge the planning and analyzing activities and become the actual business engine, the Application, the Product of a business. It would make millions of spacial-programmers (the spreadsheet kind) avoid expensive and long development cycles. Knack [2] and dozens of easy App builders are also going in the direction of providing a visual way of linking tables and doing some small operations over them. Still, they are too rigid. I need Lego and Minecraft kind of flexibility.

I believe the future will bring us more of these, and closer to Excel. 

  1. Wikipedia, https://en.m.wikipedia.org/wiki/Spreadsheet
  2. Knack, https://www.knackhq.com/features/