Bringing Design to Software
© Addison-Wesley, 1996

Profile 11.

The Spreadsheet
Profile Author: Terry Winograd

One of the major developments that changed the face of computing was Dan Bricklin's introduction in VisiCalc of the conceptual model of the spreadsheet. Neither VisiCalc's command interface nor its information display (limited by the capacity of the machines that were available, and by how much space VisiCalc required) was remarkable. However, the conceptual model was exceptionally durable. With the additional design work of Mitch Kapor and an implementation on the IBM PC, the successor program, Lotus 1-2-3, quickly surpassed VisiCalc, and was the killer app that moved the microcomputer from the hobbyist's and student's desks into the mainstream of the business world. In its time, it was a radically new idea; it led to the PC revolution that populated millions of offices all around the world with desktop computers.

In hindsight, the idea of a computer spreadsheet seems obvious. The accountant's ledger sheet, with its two-dimensional grid of rows and columns, has long been a fundamental tool in professional accounting practice. When an accountant prepares a budget or financial statement, typically each row represents a different line item, and each column presents the amount of that item in a given time period. There were many programs on mainframe computers, before VisiCalc, that produced outputs that looked like ledger sheets. But a dramatic (and largely unexpected) change came from the spreadsheet's interactivity, and from the role that interactive use played in the activity of financial modeling.

Forecasting is a basic business activity, which calls for projecting alternative financial results based on choices and assumptions, such as the expected sales, cost of goods, possibilities for investment, and so on. Results, such as the amount of profit or loss, are calculated for each of the alternatives, often for a sequence of time periods (month by month, or quarter by quarter for several years). In practice, preparing a projection or a budget is an iterative design process. Different sets of assumptions lead to different results. On the basis of seeing these results, the financial analyst often wants to see what would happen if assumptions or strategies were changed. Doing multiple revisions on paper requires laborious reentry and recalculation. Programmable calculators sped up the calculation aspect, but still left users with much furious button punching and number scribbling.

Bricklin's insight was that the financial-projection process could done interactively on a microcomputer. He created a computer screen that mimicked the structure of the paper ledger sheet (Figure 11.8) so that it would be familiar and easily adopted. He extended the possibilities for the contents of an individual cell, to include not just text or a number, but also a formula for calculation, which can be based on results from other cells. With this structure, all the logic necessary to recalculate the spreadsheet is stored in the spreadsheet. When the contents of a cell are changed in a spreadsheet, all the cells whose values depend on that one are automatically, almost magically, changed. All the complexities of intermediate calculations are invisible, unless the user chooses to examine them.

Figure 11.8 The Spreadsheet The now-familiar format of a spreadsheet was developed for VisiCalc. The traditional arrangement of rows and columns in an accountant's ledger was the base for a new kind of affordance-the ability to calculate changes in an entry automatically, based on a formula that defined the entry's value in terms of other entries. Although the idea seems simple, it revolutionized the way that financial work is done. (Source: Courtesy of Lotus Corp.)

The spreadsheet was fundamentally different from earlier programs for financial calculation, with their unbridgeable separation between program and data-corresponding to a nearly unbridgeable separation between programmer and accountant. The key innovation was not in the interface elements or the software structure, but rather in the virtuality provided to the user-the underlying world of objects and their behaviors. The spreadsheet virtuality combines the regular structure of the familiar ledger sheet with an underlying structure of interlinked formulas. The nontechnical user can build a complex financial model incrementally, and can explore the model through successive iterations of inputs. This quantitative change in ease meant a qualitative change in how people worked with the data.

The interactivity of the spreadsheet made it possible to create what Shahaf Gal (Chapter 11) calls design footholds. The person designing a financial plan can quickly represent alternatives and explore the consequences of specific decisions. The power of the spreadsheet lies in the interaction between calculating results and inventing new possibilities.

An additional dimension that appeared in the next generation of spreadsheets, initiated by Lotus 1-2-3, was the ability to write short macros that could reproduce the action of a series of key strokes. Further, by the inclusion of simple control constructs (if-then, go to) and interfaces to the user interface (to display and process menus and prompts), the macro capability provided a general capability for user programming. In a way, user-created macros were the solution to the tension between direct manipulation, with its direct mapping of action to result, and programming, with its use of abstractions to create patterns of activity that do not depend on the specific data. The initial spreadsheet moved away from the programming-based models of mainframe financial software, making it highly usable but limited in power. The addition of macros brought back a good deal of that programming power to the ordinary user, or at least to the superuser (or local expert) whose background was in the financial world, but who could produce macros for use by other users (see Nardi, 1993).
Now that the spreadsheet is widely available, it has come to be used for many tasks that have nothing to do with finances. A spreadsheet can be used for any activity that calls for calculating regular arrays of values that are interrelated by regular formulas-especially for those activities that call for exploring alternatives. Professors use spreadsheets for grading courses, scientists use spreadsheets for interpreting data from experiments, and builders use spreadsheets for keeping track of materials. New kinds of spreadsheets have been developed that fill the cells with visual images, sounds, and other data representations, interlinked by formulas that perform calculations in the appropriate domain.

The lessons to be learned from this history are not about the specifics of the spreadsheet; they are about the underlying reasons for its power.

Suggested Readings

Bonnie Nardi. A Small Matter of Programming: Perspectives on End User Computing. Cambridge, MA: MIT Press, 1993.