May 26, 2012


On returning from Hamburg, I started a big new project.

The Tinderbox code base is ten years from release 1.0.2. It’s in remarkably good shape, but it’s time for a thorough shakeout. We’ve got technical debt to pay up, and we’ve got new things to do and we’ve got a bunch of new ideas to build out, and everything will work better if the foundation is more solid.

I think this will lead to several new tools, and several new platforms. Exciting times.

Tinderbox 5.11.1 overview in Tinderbox

The first step — I did most of this on the plane from Hamburg — was literally to take stock. What, exactly, is Tinderbox? Each note in this Tinderbox map is a Tinderbox class file, generated by importing a directory listing into Tinderbox and using Explode. Most represent a single class, though a few (like CeresMapDrawingPolicy) represent a half dozen cooperating objects and a handful, like ExportElements or AgentActionExtras, represent 25 or 50 small classes. Adornments represent functional clusters like “XML handling,” “Agents” or “Graphic primitives.”

After sorting out lots of baggage we plan to leave behind, we’ve got about 350 of these objects and object clusters. We’re jettisoning hundreds of framework classes in this leap, too, though these aren’t shown on the map. And as we leave them behind, I think that the world pretty much leaves behind PowerPlant, the MacOS framework that became a classic in many senses. A tip of the hat, then, to Greg Dow and John Daub and MWRon and a bunch of other people I’m forgetting now for the foundation of the software on which we all depended for so much, for so long.

It wasn’t paradise, but it was home.