tom haynes

Fancy data structures

Joel Spolsky explains something I’ve always thought but never put into words:

Spreadsheets are not just tools for doing “what-if” analysis. They provide a specific data structure: a table. Most Excel users never enter a formula. They use Excel when they need a table. The gridlines are the most important feature of Excel, not recalc.

Word processors are not just tools for writing books, reports, and letters. They provide a specific data structure: lines of text which automatically wrap and split into pages.

PowerPoint is not just a tool for making boring meetings. It provides a specific data structure: an array of full-screen images.

Add in a pinch of real-time collaboration and you’ll see why Google Docs is so popular. I’ve used shared spreadsheets to collaboratively plan carpools, update sports rosters, track workouts, share menus, and much more, none of which has to do with math.

Spreadsheet software needs to embrace this and add functions to support it. We need an easy way of counting filled-in cells that isn’t the obscurely named COUNTIF(), and easy ways of applying background colors that are a function of cell contents (e.g. 1 is white, 100 is black, and everything else is a shade of grey between).