Resurrecting The Dead

March 31, 2014

In my copious free time at work (my job will eventually vanish but for the time being I am a captive with nothing much to do but wait for the work at the end) I need sometime to do, something I can put into the App Store. Everything I've done at work will go away so having something useful to display my abilities with is sort of useful.

Back in 1985 (yes that far) I was building spreadsheet models and got frustrated that it was so easy to make errors in the standard row and column cell model. You forget to extend a formula, or extend it too far and fail to notice and soon everything is big mess. Or worse, it's a mess but you don't know it. This of course still happens today and can bite people in the ass.

I came up with a different way to build spreadsheet like models, based on named arrays (we called them blocks). It was a little of APL, combined with a little of the numerical side of what would eventually be Mathematica, all wrapped up in something somewhat like a spreadsheet, and with the ability to move stuff around and format without messing up any calculations. We called it Trapeze.

At the same time a company called Javelin was coming up with a different but still non-spreadsheet like approach to solving the same type of problem. That product eventually died but the ideas wound up in Lotus Improv, and as that was dying those ideas eventually went into some specialized modeling products like Quantrix Modeler and some ideas even wound up in Apple's Numbers.

So there is a history around that I got to be in on building numerical models or analysis that wasn't like Visicalc, Lotus123 and of course Excel.

Row and column cell-based calculations are very flexible since the atom is a single value; but with that power comes a real downside in how easy it is to make invisible errors and how hard it can be to finding and fixing them. To build a complex spreadsheet you need incredible discipline, care and attention to detail. As in the example linked above, making the error is easy (missing a few values) but if your entire presentation is affected it can destroy the whole model and make you look like chumps.

Trapeze's great benefit was that all calculations were based only on names. Relationships between the blocks were always adjusted according to simple logical rules so that the end result was always correct. So for example a row multiplied by a column gave a table, a single multiplied cell by a table gave a table with that single value multiplied by each value in the original table. Trapeze was best at building models and complex data manipulations but its fatal flaw was it was not Excel. It was a square peg to Excel's round hole and there was no way to read or write Excel files. Stupidly we tried to market against Excel when we really should have focused on high end scientific, engineering and educational uses; so after releasing in 1987 after 5 versions and 13,000 copies it vanished in late 1989.

But I still get emails from people who loved it, and I know of people who keep ancient Macs around just so they can still run it.

So it obviously cannot run any more; even though I have the source it isn't compileable at all.

Since I have so little to do, and I haven't found anything I like to work on (and having had no luck getting people I've emailed to gain access to interesting data to build an app around to reply) I finally gave in and decided to build a simple version of Trapeze from scratch on iPad. I can't build the whole thing so this will be a kind of MVP, though I don't expect to make any money or even charge for it unless it catches on.

Our biggest issue back then was explaining that this wasn't a cell by cell spreadsheet and that it could do things Excel could not do (and still can't) and Excel could do things Trapeze couldn't since it didn't do cell by cell. People who understood this was a different beast entirely were able to do amazing things with it; people who thought it sucked because it didn't read Excel files just gave up. So it will likely still be hard to explain, although with a few demos it's pretty simple to grasp what you can do with it.

If you think of it as APL crossed with a spreadsheet you might vaguely get the idea.

Sadly I can't show you anything until I write something. All I have of the original package is the manual. Funny thing is if I had the binary people are building old MacOS images that run in Javascript in the browser and I could probably rig something up with that. Pretty funny, running a high performance (at the time) app in a browser today on top of Javascript. Trapeze was always faster than Excel, mostly because we could calculate things in bigger chunks that they could: direct comparisons of course were hard to create.

If anyone is curious, you can see me demo Trapeze on the Computer Chronicles TV show in an awesome white pimp suit.

So can I resurrect the dead, and get it work on a finger friendly iPad? Who knows, but it might be fun to try. Nothing like bringing an app back to life that I started 29 years ago. Maybe it will rock. Maybe it will suck. Either way I can't call it Trapeze any more since someone else owns that trademark today but I'm sure I can figure out something.

Back in those days we had to invent and write everything; other than a terrible version of Yacc and a UI toolkit called MacExpress we wrote everything ourselves. There wasn't any open source in those days, no web, no stackoverflow, nothing but our own inventiveness. Today it's a lot easier to find things I can leverage. The real trick will be to build a modern UX and get it work with fingers instead of a mouse. Trapeze was pretty advanced for its day, I used a hierarchical popup menu 5 months before Apple even put it in MacOS. But that was advanced for 1987.

I guess I will see what happens. Raising the dead is not always easy.