Looking Back at Lotus Improv
After I finished at university back in the early 90's, I worked for a few years at American Express in Brighton. If you've been a student in Brighton the chances are you've worked at Amex at some point (their European processing centre is in the centre of the city) and I worked in the part of the organisation that settled up with retailers. Part of my work involved building databases and financial models, and one of the applications I used was something called Lotus Improv.
Lotus Improv was a new spreadsheet application by the makers of Lotus 1-2-3, and was billed as being a revolutionary rethink of how spreadsheets should work. Improv did away with column and row headings, separated out data from formulas and from views of the data, and had an approach where you keyed in the data that made up your model, Improv guessed at what you were trying to do and between you and the application, the financial model just sort of appeared.
The really cool thing about Improv though was that it let you put together multi-dimensional worksheets that aren't a million miles away from the OLAP applications we work with today. Using Improv, you could put together a regular rows and columns spreadsheet in a similar fashion to 1-2-3 or Excel, but then you could go on and name these as for example "Products" and "Time" and then add additional "dimensions" such as Salesperson, Item, Channel and so forth.
In fact, what you were building up was very similar to the crosstab interfaces with dimension selectors you get with OracleBI Discoverer and the OracleBI Spreadsheet Add-in, with the added benefit that you actually entered the data directly into the spreadsheet rather than having to load it through the OLAP server first. There's an excellent write-up of Improv over at Moose's Software Valley where you can see the complete process of building an Improv spreadsheet and doing some multidimensional analysis.
As well as giving you a spreadsheet interface to an OLAP cube, Improv also came with a scripting language called Lotus Script that performs much the same function as Express 4GL and Express Basic.
Not a bad little package actually. Although Improv originated on the NeXT platform, the version I used was ported to Windows 3.1 back in 1993 and it sold for around 100, for which you got a desktop OLAP server, a pretty capable spreadsheet and what was considered to be a powerful scripting language. So, where did it all go wrong?
From speaking to a few guys in the office who used to work for the OLAP vendors of the time, the likes of Comshare, Holos and IRI were worried about Improv at the time as it had much the same functionality as product such as Holos and Express but with the backing of Lotus, who at the time were number one in the spreadsheet market with 1-2-3. In the end though, Lotus marketed Improv more as "spreadsheets done right" (referring to the separation of data and formulas, and the more rigid structure of an Improv model) rather than it's OLAP capabilities, which unfortunately had the effect of confusing those customers who now had to choose between 1-2-3 and Improv, and instead chose Microsoft Excel instead. From an architecture viewpoint, Improv was also limited by the fact that its cubes ran in memory rather than being paged to disk, so it was always limited in what it could hold, especially with the typical amount of memory a PC had then, and so in the end was never really the threat to vendors such as IRI and Holistic Systems that it could have been. Still, it's an interesting historical footnote and the technology, or at least the approach, still lives on today in the Pivot Tables you get with Microsoft Excel, and a product called Quantrix that aims to recreate much of the same functionality that Lotus Improv had.
If you're interested in reading a bit more about Lotus Improv, here's a few good resources: