How I Wound Up As An Early Mac Pioneer And Built Something Crazy

Jan 24, 2014

Thirty years ago I was working at a defense contractor as one of the few people they had working with microcomputers. I had a Lisa on my desk briefly (an evaluation unit) and got familiar with windows and mice. Once the Mac was revealed we didn't have one but I started to get itchy to do something with one.

By October I quit my job and starting writing spreadsheet templates for the oil and gas industry for both PCs and Macs. I had one of each. On the Mac the only spreadsheet was Multiplan - no Excel yet. Working on the templates it was pretty frustrating keeping the formulas straight, especially when adding additional cells and forgetting to extend the formulas that referred to them. It wasn't all the exciting to do and I often sat their and wished I could do some real programming again.

I still remember the day I came up with the idea that became the Trapeze spreadsheet program. Spreadsheets are basically relationships between individual cells; it doesn't know much about what the cells mean and when you miss something it's easy to not realize your spreadsheet is wrong. What if, I thought, you instead collected like data into "objects" and named them, then built formulas strictly by name? So a profit object would be equal to a sales object minus an expense object.

I told the other folks in our shared office space and within a few months got some angel money together, put a company together and hired a couple of friends to start working on this idea. This sounds so normal today but in 1985 it was a lot harder than today. No internet, no email, software had to be sold in boxes to distributors and mail order houses, ads, shows and reviews were the only way to let anyone know you had something. Plus we had no clue how to market software in this business. Plus none of us (and few people in the world) knew much about writing software for a windowed operating system, much less a non-traditional concept.

In the early days of the Mac there weren't all that many people writing software, much less for the Mac which was still pretty far out and very expensive. I went to the 1986 Apple "WWDC" which was called something else, at the Fairmont in San Francisco. Basically the entire Mac software community sat in one big room, maybe 300 people. In fact we were small enough that Apple rented a boat for us all to have a casino party in the Bay; imagine today trying to do that! Everyone that was anyone in the Mac software world was there and we all joked that all IBM had to do was put a torpedo in the boat, and the Mac would sink along with us!

The 1986 get together was pretty amazing, they demoed the 512K Mac, Ashton-Tate brought six programmers all dressed in leather, and I remember a big discussion that the Segment Manager API couldn't support more than 255 segments. So primitive.

Once we started development the three of us spent some time figuring out what it meant to build a spreadsheet without an A1 style address. The advantage of named blocks - we started calling the objects blocks - was of course formulas were all by name. Blocks could be a single cell, a column of cells, a row of cells or a table. Formulas were calculated by matching cells. For example two columns added together made a new column, a cell multiplied by a row produced a row where the cell was applied to each cell in the row. Adding together a row and a column produced a table result, etc. We added the concept of autosizing, basically when a block used in a formula changed size, all the formulas resized automatically to match. So extend a column a few cells and everything dependent on that automatically resized to match. It eliminated the problem I had originally (and still plagues people today) since the program understood the relationships in your formulas.

We struggled to come up with a name, one of the investors liked a band called Trapeze and suggested that and it stuck.

I worked on the UI, Bob Murphy handled the formulas and Ken Clark built the calculation engine. We had a Mac XL (basically a Lisa dolled up as a Mac with a hard drive) and two 128K Macs to start. We decided to write in C since no one liked Pascal but the compiler was so slow progress was terrible. C didn't even have prototypes to start with so matching function parameters was a manual process!

Because the blocks were not fixed into a grid you could move them around, format them and the engine moved them around as things got bigger and smaller. We had formulas which built charts and databases which were column blocks glued together. I even added graphics and text blocks. It meant you could not only do calculations but also present them like in a page layout app. This was basically a complete new idea as well. Other spreadsheets were build just to show a grid of numbers. Even Excel, which arrived while we were starting Trapeze, had a separate charting app, you couldn't combine the two.

All of this had to run on what a Mac with an 8 Mhz 68000 and a tiny screen which was a real challenge.

By August of 1986 we all went to the Boston Macworld and it was my first opportunity to really see what other people's Mac apps really looked like. In those days you had to buy software to see it working, no websites, no way to check out what people were doing. I was horrified by how crappy my UI was in comparison to what I saw.

When I got back home I did a total rewrite of the UI while maintaining the old one for Bob and Ken. I worked 100+ hours a week for four months so we could have a polished app by Macworld in January, 1987. The key turned out to be something I had seen in a university booth in Boston where I saw a demo of popup (often called dropdown on Windows) menus with multiple levels of hierarchical menus. Today it's no big deal of course. Back then it hit me it would make a perfect UI to control all the functionality in Trapeze's UI. I put it into Trapeze and as far as I know was the first to use these two ideas. A few months after Trapeze shipped Apple added both to the Mac OS although their implementation was a little slicker than mine.

When January Macworld came we were ready and demoed the app in a booth that cost way too much money, we had cool shirts (though not as cool as Silicon Beach's hawaiian shirts) and for some reason everyone thought we were Ashton-Tate. It was pretty fun though, handling press interviews, doing private demos. Someone told me Bill Gates wanted to come by the booth but he never did! We started off with strong sales.

The biggest fun I had was getting a preproduction color monitor and Mac II from Apple, and appearing on the Computer Chronicles TV show showing Trapeze running in color (probably one of the first to show color on MacOS) with Excel of course running in black and white.

Then the roof fell in. In those days reviews were the single most important marketing point. No websites, not twitter, nothing of what you can do today. Macworld gave us a good review, but the one in MacUser was horrible. Sales dried up and even though we tried to address the review with a big update it was too late. A year later Bob and I met the guy who wrote it and he apologized saying he had had a personal issue and was angry that day and let it come out in the review even though he liked Trapeze.

We had one other big issue which we didn't realize at the time and today sure sounds like a brainfart. Trapeze was called a spreadsheet and we marketed it against Excel, which even in 1987 was already a pretty big deal. Office itself didn't appear until 1989 but competing with Microsoft was pretty dumb. Plus we couldn't of course import Excel files since Trapeze was really completely incompatible. For those people who realized the power of the block-based formulas and strong presentation ability it was indispensable. A lot of people who in the future would use something like Mathematica loved Trapeze. Today I wish we had instead marketed Trapeze as an advanced modeling tool and sold it to engineers and scientists and stock analysts but we had no idea. As a numerical modeling tool you could do things no spreadsheet could then or even today.

People used Trapeze for all sorts of unique things. One guy analyzed businesses and then input the results into a single "worksheet", then printed out the last dozen pages and sent them to the customer complete with charts and commentary, all generated from the data and formatted like a custom report. His entire business ran on one file.

I still know a professor of Geology who still keeps ancient Macs around so he can still use Trapeze.

In the summer of 1987 we sold Trapeze to a company in Boston and some of us started a new company to write Mac software for other people. We worked on Persuasion 1.0, the first modern presentation application that shipped a year before Powerpoint. Then we worked on Deltagraph for 5 years but that's another blog post.

We also made more versions of Trapeze for the new owner which had split off from the Boston company and were also the publisher of Deltagraph. Trapeze's final version was compiled in 1989.

Trapeze didn't set the world on fire but it did make a lot of really happy customers, so much that over the years I have written this blog numerous people have emailed me on how much they loved it, even that it was their favorite application ever.

If we had treated it as a high end application instead of competing against the juggernaut Excel, we might still be in business today. I can image a Trapeze today using the GPU for calculations; since everything is large chunks of data it would fit nicely with OpenCL. It could have easily been extended to support relational database queries or web service calls. We had even considered implementing a "spreadsheet block" into which we could import whole Excel spreadsheets to provide a hybrid approach. But it wasn't to be.

A lot of people after Trapeze tried variations on spreadsheets (like Lotus Improv) but in the end Microsoft and Office killed all of them off. Other than Apple's Numbers the only alternatives today are clones of Excel like Google's. I rarely meet anyone that actually likes Excel today but it's basically the one you use.

I miss Trapeze's ease of playing around with quick calculations and even used it a lot to generate tables the like for coding. But I have no real desire to recreate it; it's a ton of work and even with modern languages and tools you still have the basic problem of convincing people that there really is an alternative to a grid of cells.

In the end I am glad I got the opportunity to build something that made at least some people happy during a time of great experimentation. All I have today is the ancient source code (no longer compileable) a copy of the manual and a lot of great memories. It didn't change the world like the Macintosh did or even Office, but it was a cool product and great experience.

Trapeze