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

History

The original spreadsheet program, VisiCalc, was based on the idea of replicating existing spreadsheets — a sheet of paper with lines on it — on the computer and then adding automatic updating. From that point on almost all other spreadsheets used the basic VisiCalc concept. Vendors competed primarily on the number of cells and calculation speed. This was true even of Lotus's own Lotus 1-2-3, whose success is based almost entirely on the fact that it ran on the IBM PC and was faster and had more cells than VisiCalc.

Lotus set up an advanced technology group in 1986. One of their initial tasks was to see if they could simplify the task of setting up a spreadsheet. Once they were up and running sheets 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 is an output value useful only to the end users? There's no way to know.

The concepts of Lotus Improv revolved around the concept of separating the three parts — data, views, and formulas.

Actually implementing these ideas on the initial target OS/2 platform turned out to be fairly difficult. It was at about this time that Steve Jobs (at NeXT at the time) visited and gave them one of the new NeXT computers. Pito Salas started the project to develop Improv for NeXT under the code-name 'BackBay', the name of a neighborhood in Boston. 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 offices in the thousands. After release on the NeXT (originally code named „Fluffy Bunny“, but later known as „Black Marlin“) attempts were made to port to Windows („Blue Marlin“) and Macintosh („Red Marlin“). The APIs and programming language for NeXTSTEP were sufficiently different from the state-of-the-art on Windows and Macintosh system software that porting was very difficult.

thumb|350px|right|Lotus Improv on Windows 2000 (click for an enlarged view). This is an example spreadsheet provided with the application, "Financials". It shows the actual data in the middle, broken into a number of categories on the left, and time periods across the top. The formulas driving the various outputs are at the bottom. Note, for instance, "Assets.Total". 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 resistance to change. Perhaps the biggest problem for Improv was the fact that it was so different — customers were so used to the way spreadsheets worked that no one actually used Improv. Lotus eventually gave up on the product.

A number of clones of Improv quickly appeared. Most of these were directed towards the financial market, including Quantrix, which continues to be sold today.

Concepts

The core concept of what would later become Improv was to separate the concepts of data, views of the data, and formulas into three separate portions. 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 dynamically and were not limited in number.

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 a form such as

@times(A:1, B:1)

or

=A1*B1

). Then that formula must be copied into all of the cells in column C, making sure to change the reference to A1 to a new reference for 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 of the spreadsheet will often make the entire sheet stop working properly.

In Improv, one simply enters the data into columns called „Unit Price“ and „Unit Sales“. A formula can then be created that says „Total Sales = Unit Price times Unit Sales“. Then if „Total Sales“ view is added, the totals would automatically appear there, because the sheet „knows“ that is what the formula is 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 the unit prices could be grouped in terms of the product type, say „clothing“ and „food“. Now by dragging these groups around (represented by small tabs) the view may be quickly changed. This concept has been implemented in the form of pivot tables in Microsoft Excel.

See also

*Spreadsheet 2000 *Javelin, a multi-dimensional spreadsheet/modeling program which may have influenced the design of Improv *Quantrix, a multi-dimensional business modeling & analytics software

References

*[http://www.zisman.ca/Articles/1993/Improv.html A review from 1993] *[http://sourceforge.net/projects/flexisheet FlexiSheet] is a Mac OS X program with similar features [http://sourceforge.net/projects/flexisheet/ available] under BSD license. *[http://www.apple.com/iwork/numbers Numbers] Apple's spreadsheet program based on tables placed on graphics sheets

Print/export