Interface Seams
Spreadsheets often have columns specified by alphabetic labels, and numbered rows. A specific cell can be identified by its coordinates, e.g., B17. Similarly, rectangles can be specified by their corners, e.g., A2:D14. Formulas are stored in cells in the table. The benefit of an electronic spreadsheet is that formula cells are automatically updated when the values they depend on are changed. A downside of the "formula in cell" approach is that the formulas themselves are mostly invisible. We'll examine a number of alternative spreadsheet structures, with an eye toward keeping the formulas explicit and visible. The simplest "spreadsheet" has no cells. The formula has no value
to work with - so in effect it's a constant.
The next simplest spreadsheet has one data value and one formula (which
takes a single argument).
A list of items provides an interesting level of complexity:
Commutative operators are particular useful: if
Trees provide a way to structure formulas explicitly. The interior cells provide a place to "hang" the operators. We can treat each node as having a list of children (thus reducing it to the previous "list" example). For example, we may want a sum of products:
Notice how the leaves of the tree are the data values, and the interior nodes have operators. The value at the interior node is the result of applying the operator to the list of children. If we're willing to restrict our formulas somewhat, we can require that each node at a given level have the same operator. (The example tree has this property.) We can have a very compact formula that describes each level. For our example, "+*" describes a sum of products. What can we bring back to the rectangular spreadsheet? The idea of a
visible formula, working across a row or down a column.
(We've set it up so the formula cells contain the resulting value, the operator that applies, and an optional label.) By letting operators "stretch" across the cells to which they apply, we've removed the need for specifying cell and rectangle coordinates. In summary, we've used a variety of alternative spreadsheets to explore some variations, and brought a new formula style to the rectangular spreadsheet. The new style retains the table structure and dynamic updating that makes spreadsheets so responsive, but also separates the data from the formulas in a way that will make their hidden contents more explicit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright 1994-2006, William C. Wake - William.Wake@acm.org |