Need Design Help? Hit us up!
Cover for the post Structuring Spreadsheets With “Lish” Data Model

The name Lish is a portmanteau of “list” and “hash table.” It defines a data model that modifies the standard spreadsheet grid rather than introducing new abstractions. The rationale here is that introducing a new abstraction would require considerable attention investment to learn from the user’s side.

The authors introduce the idea of using the margins of the spreadsheet to perform two functions: 1/ to define formulae over a specific range of cells, allowing one to deal with a set of cells at once, and 2/ to use the same area for defining a templating structure for the spreadsheet. In this way, both aspects of describing the semantics and the presentation get addressed.

Figure 2.2 from the paper: https://arxiv.org/abs/1801.08603

This model is said to allow for nested structures, which appear as common patterns in spreadsheets, to emerge naturally from the definition. The semantics of the table are described by the templating done in the marginal cells. A null template can be used to impose that there are no prior expectations on what the subsequent cells can contain.

Figure 2.3 from the paper: https://arxiv.org/abs/1801.08603

A Lish table with its template of { Q1, Q2, Q3, Q4 } * { 2015, 2016 } described in the margins

The data model allows for navigating objects at multiple granularities by virtue of the template structure. It advocates that the system embodies the principle of DRY (Do not Repeat Yourself) and minimizes replication of data. Multiple levels of granularity in the navigation are achieved by clicking on the margins of the nested tables. This is said to reduce the risk of off-by-one errors that imprecise mouse movements over the cells might cause. It is also premised on the idea that inputs and outputs to formulas often consist of these kinds of cursor selections. With this, I think authors could also use this idea to simplify the formula language by making these range selections a first class citizens in the environment.

In this manner, a user will be able to manipulate logically coherent pieces of data, reducing the tedium and risks associated with manually replicating tables and formulas. By creating such formal structures around the data, I think the authors have problems like the classical Reinhart-Rogoff error at the back of their minds. The paper also gives the technical details behind the data structure and spells out what the valid/invalid Lish structures are. It draws to a close by describing the future work remaining to be done in validating and developing the model.