My Kingdom for a Scrollbar!

So: I give up.

I suppose I have to tell you what I give up, eh? But it’s embarrassing to me both coming and going, so bear with me.

I’ve mentioned a side project here before. It’s called MacTADS. TADS is a specialized language for writing text adventure games, a.k.a. interactive fiction. There is an ancient compiler/debugger/runtime suite for the Macintosh for making such games. About five years ago, I took over maintenance of it. After making some small changes to it for a while, I decided to rewrite it completely, but with a twist: since the games themselves tended to be amazingly backward compatible, I promised that so would the developer suite. I would fully support from System 7 to the yet-to-be-released Mac OS X.

Even then, it wasn’t the smartest idea, but at least it wasn’t completely insane. The users of such a specialized tool are few and far between. If, during its life, MacTADS has fifty regular users, I will be surprised and gratified. And two of the people at that point who were most likely to be users of the product hadn’t even upgraded to Mac OS 8 yet. I was doing it for them!

Well, the years went by. My efforts had morphed into a C++-based framework called “Isthmus,” since it was a bridge to the past. Steve Jobs declared Mac OS 9 dead. Most people I knew started using the ported Unix command-line tools to compile TADS games. I lost touch with one of my 7ers, and the other gritted his teeth and started using OS X on a new machine. I continued on, mostly because I’d made a promise.

For the last six months or so I’ve been working on preliminary Appearance manager 1.0 support for OS 8, which turned out to be surprisingly difficult. If I could’ve achieved it quickly, if I could’ve gotten a product out by the end of the year, I would’ve kept going.

The straw that broke the camel’s back was Appearance list controls. I’d mostly gotten them working the way I wanted, after quite a few problems and nasty workarounds, but found out that if I didn’t put enough content in them before they were displayed, they didn’t show scrollbars correctly. I would either have to fill them with bogus content, or spend three days, if it was even possible, tracking down the exact technical cause of this problem for a more targeted workaround. Six months of such investigations and workarounds!

And I hadn’t even started on Carbon.

So: I’m giving up.

Which way is this embarrassing? That I’ve been working on System 7/OS 8 support for an app in 2004, for a nonexistent audience? Or, for those people who value promises, that I can’t even keep one damn promise?

You, my readers, can decide.

What to do next? Well, there’s already an OS X-only, GUI-based compiler application out there, called TADS Workbench for Macintosh, written by my friend Uli Kusterer. It doesn’t support OS 9, and it doesn’t support earlier versions of the TADS language, which were some of the things that MacTADS was going to do, but it works, which gives him a major advantage over me! I am currently in touch with him about collaborating on new features for that application, especially debugger support.

And who knows? Maybe I’ll just take a break for a while.

3 comments

  1. Joe Mason

    It sounds like you’ve been trying to achieve a 100% correctness at each step before moving on. That’s never gonna work. Why not just ship it with broken listboxes in Appearance Manager 1.0, since they’re so hard to get right and far fewer people will need them compared to Carbon support? If you end up with good support for, say, Sytem 9 and OS X, and really half-assed System 7 support, you’ve still at least got a base for getting System 7 support working so you can fix it at leisure if you still feel motivated. Meanwhile, you’ve at least got something out there that people can use, which will give you more incentive to fix it than if your only choices are to release the final version or to release nothing.

  2. Melissa

    “Which way is this embarrassing? That I’ve been working on System 7/OS 8 support for an app in 2004, for a nonexistent audience? Or, for those people who value promises, that I can’t even keep one damn promise?”

    Give yourself a break. It’s a sad fact of life that not all promises can be kept. If you can manage to honor the majority of them, I think you’re doing better than most people. This is just one of those cases where it’s too tough to keep the promise. I see no reason to be embarrassed that.

  3. lookmark

    “Which way is this embarrassing? That I’ve been working on System 7/OS 8 support for an app in 2004, for a nonexistent audience? Or, for those people who value promises, that I can’t even keep one damn promise?”

    Oh, the first, much more embarrassing — esp. that “System 7” part. 😉

    No, I think sometimes it’s much better to deep-freeze a project that’s spun somewhat out of control … than live with the invisible (but ever-present) burden of carrying it around with you all the time. If you can’t release it w/o Herculean efforts… let it go.