Main Page | See live article | Alphabetical index

Lotus Improv

Lotus Improv was a spreadsheet program from Lotus Development that attempted to re-define the way that a spreadsheet should work.

The original spreadsheet, VisiCalc, was based on the idea of replicating existing mechanical spreadsheets (specifically, a sheet of paper with lines on it) on the computer and then adding automatic updating. From that point on almost all other spreadsheets were outright copies of the VisiCalc concept (and thus the paper) which competed primarily on the number of cells and the calculation speed. This was true even of Lotus's own Lotus 1-2-3, whose success is based almost entirely on running on the IBM PC and being faster and having more cells than VisiCalc.

Lotus set up an advanced technology group in 1986, and one of their tasks was to see if they could simplify the task of setting up a spreadsheet. Once they were up and running they were simple to use, but many users found it very difficult to imagine what the sheet needed to look like in order to get started. After a few months of studying existing real-world examples, it became clear that the data, views of that data, and the formulas that acted on that data were very separate concepts. Yet in every case, the existing spreadsheet programs required the user to type all of these items into the same (typically single) sheet's cells. This led to considerable confusion, because it's not obvious which cells hold what sort of data, is this cell an input value that is used elsewhere? Is it an intermediate value used for a calculation? Perhaps it's an output value useful only to the end users? There's no way to know.

The core concept of what would later become Improv was to separate these concepts out. The spreadsheet itself would contain only input data. Instead of referring to the data as, in effect, "the data that happens to be in these cells", each set of data in the sheet was given a name, and could then be grouped into categories. Formulas were typed into a separate section that did not rely on the data being in certain places, and used the names to find what it needed. Views of the data, some which looked like spreadsheets, others like charts, could be created on the fly and you could have as many as you liked.

To illustrate the difference between Improv and other systems, consider the simple task of calculating the total sales for a product, given unit sales per month and unit prices. In a conventional spreadsheet the unit price would be typed into one set of cells, say the "A" column, and the sales into another, say "B". A formula would then be typed into "C" that said "A1 times B1" (typically in some ridiculous syntax, like @times(A:1, B:1)). You then have to copy that formula into all of the cells in C, making sure to change the A1 to A2, etc. The sheet can automate this to some degree, but the real problem is that it simply has no idea what the formula means. Any changes to the layout will often make the entire sheet stop working properly.

In Improv one simply enters the data into to columns called "Unit Price" and "Unit Sales". You then type in a formula that says "Total Sales = Unit Price times Unit Sales". If you were to then add a "Total Sales" view, the totals would automatically appear there, because the sheet "knows" that's what it's for.

But the real power of Improv did not become clear until work had already started on the project. With the grouping system you could collect monthly sales into groups like "1995" and "1996", and call the category "years". Then one could similarly group the unit prices in terms of the product type, say "clothing" and "food". Now by dragging these groups around (represented by small tabs) you can quickly change the view. For instance if you were to drag the Product Type tab to the top of the view, the view will instantly show total sales broken down by type. Drag the "years" category onto the view and you see sales by year rather than month.

Actually implementing the ideas on the chosen platform of OS/2 turned out to be fairly hard. It was at about this time that Steve Jobs visited and gave them one of the new NeXT computers. The NeXT made Improv possible due to its powerful NeXTSTEP programming environment. Jobs clearly "got it", and became one of the product's biggest supporters and critics, and many of the ideas that appeared in the final product were at his urging.

Improv was so popular that it became one of the few killer apps on the NeXT platform, and machines started showing up in financial officies in the thousands.

After release on the NeXT attempts were made to port to other systems. This is where the trouble began. NeXTSTEP reduced the workload so much that it was difficult to bring the system up on other platforms as much of the framework needed to be re-written. A version for Windows eventually shipped in 1993, but here it faced the additional problem in that it competed directly with 1-2-3, and thus had to overcome a corporate immune response. But perhaps the biggest problem for Improv was the fact that it was so different. People were so used to the way spreadsheets worked, lousy as it might be, that no one actually used it. Lotus eventually gave up on the product.

Probably the closest thing available today is Quantrix

Links: