A research idea that reoccurs to me periodically is to look at the genealogy of the tabular format. Excel and Google Sheets are many people’s first exposure to the table these days, but it is also pervasive in data analysis with formats like CSV, models like the DataFrame (Pandas, R), query languages like SQL, and even some newer file formats like Parquet and Lance that attempt to separate data from compute. (If you are interested in learning more about Lance, and how it is different from Parquet, this podcast is pretty interesting if you can filter out the techbro vibe).

I think this idea first presented itself while reading The Stuff of Bits by Paul Dourish, which has a whole chapter on Spreadsheets, that starts with the story of VisiCalc, and explores the role of the Grid and the Formula play in its use (Dourish, 2017). It might be interesting to dig into some of the sources cited there, to see if Dan Bricklin made any conscious connection to existing forms of the table, or if he just took it as a well established form. If you haven’t read it The Stuff of Bits is a beautiful book, all about how digital representations have materiality and a social history.

But the topic recently came back to me while working on marctable to turn MARC data into tabular data. Aligning these two in code suggested some alignment in the concepts of a table as a collection of records. And how these are made commensurate and joined – effectively mobilizing them aka immutable mobiles (Latour, 1986)).

Where does the representation of a table come from? Yeo’s Record Making and Record-Keeping Societies, specifically the chapter How Records Began, details how important tallying information was in proto-record keeping practices (Yeo:2021?). Does it make sense to think of notches on wood, or collections of stones/tokens, like a series (Pandas)? (Memories of Dad using VisiCalc, which he replaced with Quicken.)

The recent passing of of Niklaus Wirth, led me to look at innovations of Pascal, one of which was to fully integrate Record types, which are tabular, struct like, and are just about everywhere now in programming languages, since they kind of get cooked into Object Oriented Programming. Is a Record equivalent like a Row within a Table? Do they actually share any lineage?

One obvious angle to explore would be the history of Accounting since the practice is so old, and tabulation is so fundamental. If you have suggestions of things to read please let me know. Maybe the reason why this idea reoccurs is that it’s too big and sprawling, and quickly gets filed under impossible…

Update: William Blackerby wrote me an email recommending Double Entry: How the Merchants of Venice Created Modern Finance which looks like an excellent lead – Thanks William!

I guess another reason this came to mind recently, as I’ve been caring for my Dad, is that I first really got into computers when my Dad brought an Apple 2 home, in order to use VisiCalc. I was able to run Apple Pascal on it for a class at school. A bunch of meandering threads mixing and combining…

References

Dourish, P. (2017). The stuff of bits: An essay on the materialities of information. MIT Press.
Latour, B. (1986). Visualization and cognition: Drawing things together. In H. Kuklick (Ed.), Knowledge and society: Studies in the sociology of culture past and present (Vol. 6, pp. 1–40). JAI.