Need Design Help? Hit us up!
Cover for the post The Spreadsheet Interface: A basis for end-user programming

Spreadsheets provide a concrete, visible representation of data values with immediate feedback to the user. It allows users to perform computations by applying formulas to blocks of cells. The perspective taken by the authors here is that the users of spreadsheets are not to be treated as under-skilled programmers who need assistance in learning programming but rather as domain experts who are attempting to model problems of interest in their domains. Programming is only incidental to the task they are trying to achieve with spreadsheets. With this view, spreadsheet environments turn into an authoring environment that allows domain experts to solve problems within their domain of interest in a short time period, with programming being only incidental to achieving their goals.

The success of spreadsheets

Spreadsheets succeed because they combine 1/ a parsimonious high-level programming language with 2/ a powerful visual format to organize and present data with 3/ immediate feedback and comparatively little attention investment. The spreadsheet’s table model assists the user throughout the problem-solving process by helping them to clarify and model the problem. The tabular representation acts as a problem-solving device throughout this process: it helps in unearthing and reifying parameters of their problem space. The visibility of the emerging model allows them to monitor and evaluate its accuracy and completeness.

Here is a detailed look at the core strength of spreadsheets:

1/ Parsimonious primitives

Spreadsheets present a parsimonious set of high-level, task-specific operations sufficient for building domain-specific applications. It strikes a good balance between textual and visual paradigms. The text based formula language is compact and efficient, while the layout for the data is done in a visual tabular environment. Leveraging both of these, a user can quickly model their problems by establishing relationships across the data they are modelling.

2/ Strong visual format

A strong visual tabular format for structuring and presenting data. This is supported by spreadsheet’s way of combining computation and presentation:

2.A/ Computation

Spreadsheets shield users from lower-level programming constructs. It is said to be at an appropriate level matching user’s techniques for computing problems of interest. Users represent the variables of their problem in the cells and express relationships among them using functions described using the formula language.

Iteration

Iteration over a set of values in traditional programming is visually expressed as a selection spanning over values.

Control model in spreadsheets

The control model in spreadsheets are concealed to a certain extent. In this way, they are conceptually simpler than their programmatic counterparts: conditionals don’t transfer control from one part of the spreadsheet to another. Effects are localized to the individual cell.

On the one hand, it reduces the amount of complexity one has to follow through and on the other conceals the logic by putting the evaluated data on the forefront.

2.B/ Presentation

The table-oriented interface is said to be a significant aid to model the problems spreadsheets tackle.

An elusive problem: Why are tables effective?

Authors acknowledge that the perceptual reasons for tables’ exceptional capability to effectively display data are not well understood. They suggest Cleveland’s notion of clustering from his work in data visualization — the ability to hold a collection of objects in short-term memory and carry out further visual and mental processing as relevant in this regard.

Explicit representation of variables

The data to be modelled gets an explicit visual representation in the tables. The structure of rows and columns directly helps the users to situate themselves in the problem. It allows them to grapple with the problem by referring to these data by means of (row, column) notation.

The spreadsheet environment reifies intermediate computations that enables their visual perception. Implicit values that need to be stored in the local scope in a typical programming language are made explicit and stored as a data value in the tabular representation.

Code

                                            
function pythagoras(x, y) {

    let sqrX = x * x;
    let sqrY = y * y;

    return Math.sqrt(sqrX + sqrY);

}

Spreadsheet

Let expressions can be reified visually in the spreadsheet environment making the result of intermediate computations (here 32 and 42) tractable rather than having to compute the intermediate values in one’s head if one so prefers. The equivalent in coding would be to use logging statements.

The need to create an intermediate variable to store the result of a summing operation is obviated as the result is directly calculated as a result of the span of the selection directly into the cell. The equivalent in certain textual languages involve writing a loop to iterate over a collection and creating variables for the loop counter and summation.

Code

                            
const primes = [2, 3, 5, 7, 11, 13];

let sum = 0;

for(let i = 0; i < primes.length; i++) {
    sum = sum + primes[i];
}

console.log(sum);
                            

Spreadsheet

Such tasks incidental to bookkeeping in a typical programming language find explicit visual representation in spreadsheets. This makes computation tractable for users as the results are persisted as data present for further manipulation in the cells.

The model is not buried in a text file of many lines of computer code, and it is not littered with obscure temporary variable names, but instead consists of an orderly set of parameter names and variable values laid out in a simple 2D space.

In these ways, quite powerful computational tasks can be achieved without bringing oneself into the low-level details that are needed in a traditional text programming language.

3/ Tight feedback cycle with immediate reward

Spreadsheet primitives allow users to develop quick facility with a program and to build a real application, however simple, with a relatively short time investment. After only a few hours of work, spreadsheet users are rewarded with simple but functioning programs that model their problems of interest.

3.A/ The gradual learning curve

This angle of immediate reward is also aided by the gradual learning curve of the environment. Spreadsheets enable achieving immediate results with minimal time investment and then scale up to more advanced skills with further investment as a user’s experience matures. There is a very attractive price tag at each stage for the upfront learning involved.

Users can work with partial knowledge as the environment is driven via direct manipulation. Their knowledge repertoire can be built up by adding new programming concepts incrementally. The motivational barrier is thus breached as users achieve rapid success and get immediate feedback on the improvements they make.

3. B/ The modelling process

All the above mentioned benefits of the spreadsheet come together in the modelling process. A spreadsheet model is grounded in the distinct tabular format of rows and columns. It acts as a framework providing structure for modeling user’s problems. It gets constructed in successive approximations as the user critiques and amends the emerging model.

The way data is presented shapes the problem solving process. The tabular grid's overarching structure accommodates the parameters and variables of the model the user develops iteratively. User is made aware of the parameter space by scanning the rows and columns of a table. It also allows them to verify the emerging model's completeness and accuracy as it gradually emerges.

The act of viewing data in a spreadsheet table is thus not merely a means by which to find a data value, or to check out the bottom line; it is a key aspect of the active process of model construction.

The ability to segment the rows and columns into localized parts provide the semantics. Within the framework of the rows and columns the user can restructure the model by reorganizing them and by adding new parameters as they are unearthed.

Modelling is usually a demanding task which would force a user to build a problem solving infrastructure before getting to work on their goals. With the features of the spreadsheet summarized above, it provides a nice staging area out of the box for the user to tinker with right away. It provides an immediate test-evaluate-debug feedback cycle that enables growing the model in tandem with the development of user’s understanding of the problem space.

Problems associated with the spreadsheet model

Though there are many advantages associated with the spreadsheet environment, authors take the effort to also point out some shortcomings.

Lack of global structure and lack of modularity

One of the main problems associated with the spreadsheets is that the dependencies among the cells are hard to trace. Hence, the global sense of structure of the data is hard to be grokked by the user. For the same reason, spreadsheets are not particularly modular since the code that implements a particular piece of a spreadsheet is distributed over a potentially large and unpredictable set of cells. It also makes it difficult to reuse a piece of one spreadsheet in another new spreadsheet.

On closer examination, we are able to see that this is a tradeoff that had to be struck to make way for localized edits and then use the formula language to establish relationships. Spreadsheets allow the user to reason in the local while at the same time lead to localized code that is distributed over a wide range of cells. This makes it hard for them to reason about the global structure of a spreadsheet.

In summary, this was a paper well worth reading for the way it articulates the key features that made spreadsheets a success. While we have attempted to rephrase some sentences in this paper here, we repeatedly found we could hardly change the wording as they often captured the core of what makes spreadsheets a successful medium in great precision.