frondoc picture

What is Frontier?
News & Updates

Web Tutorial
Scripting Tutorial
BBEdit Scripting

Mailing Lists
Sample Scripts
Verb Set
Frontier Site Outline


User's Guide
1 2 3 4 5 6
7 8 9 10 11

Apple File Edit
Main Open Suites
Web Window

Menubar Outline
Script Table WP

frondoc picture

Dave Winer on MacBird

DW tells his story of MacBird, starting in 1991.

Sat, Oct 5, 1996 at 8:46:07 AM by DW

I wanted to tell the MacBird story from a personal standpoint. I'm glad John Baxter is here. He'll find this interesting, I think...

It's been a long road, I started developing it in 1991, it took a lot of wierd turns, and some of those turns are evident in the product.

For a long time I tried to conceive of a UI tool that would be scripting language agnostic, would work equally well with AppleScript or Frontier. That's why MacBird was developed as a separate app, not built into Frontier. In every respect we tried to not depend on Frontier. (In retrospect, a waste of time, based on a misunderstanding that Frontier is much more an environment than a scripting language.)

There were some things I disliked about the dialog design tools I used, ResEdit, Resorcerer. I felt they should be draw programs with grouping and alignment. I also wanted features from spreadsheets. That's where recalculation came from. That was a long road too. They started life as "formulas" until experience showed that a more general approach was possible.

It's also a scriptable UI designer, so it's possible to build cards on the fly and run them. There might be a few missing wires. It would be great if people would try some experiments in this direction.

In 1993, the year of OSA, Doug and I spent a year working together, trying to make MacBird work as a System 7 Component Manager thing. At the same time Frontier was becoming an OSA client and server. One project worked, the other didn't. It was beyond standing on your head. The runtime code got incredibly perverted. I ended up coming to the conclusion that there were serious bugs in the Component Manager. Hearing the stories from the AppleScript developers, and seeing the difficulty they had shipping, confirmed that belief.

Shortly after shipping Frontier 3.0, in late 1993, my hiatus began. A lot of reasons for that happening. No need to go into it here. But I didn't pick up MacBird again until early 1995.

The road to recovery for MacBird was actually Clay Basket. I let go of the idea of MacBird being used to develop scripted cards, and concentrated on driving MacBird cards from C. I baked the runtime into Clay at a source code level, to completely blow away any problems with the Component Manager. It was one of those work-the-first-time things. MacBird Runtime, freed of a weak system architecture, just worked. It was easy to debug and tweak. It got rational. No more standing on the head.

I fixed a lot of bugs in the card editor app in that period. And it got burned in on a lot of machines. How many times did people set Page Info for a Clay website? All thru that process people complained a lot about Clay, but never about crashes in the UI (except for paste into text fields, heard a lot about that one...)

[An aside, that's why I insisted about a month ago that the built-in verbs be implemented in MacBird. People questioned my judgement at the time, but we needed testers to actually run cards so the bugs could be shaken out. I, for one, am glad we did this. The built-in verbs work again, and now MacBird will get a huge burn-in, and I think it's up to it.]

In late 1995, about six months into Clay, that I was convinced that MacBird Runtime was solid for C code. I hired Doug on a contract basis to do a version of MacBird Runtime as a Netscape plug-in. I released the source code for MacBird Runtime in the hope that it would be ported to other platforms. A MacBird furor was raised on the Net! I met Brent Simmons. I read on his website that he was fully committed to MacBird and Frontier. Wow.

We came up with a MIME type for MacBird cards. My webserver can still serve them. What else did we do? It's a long time ago already. Maybe someone else remembers. I think some of that stuff is worth revisiting, esp now that MacBird cards really work.

Then came 24 Hours of Democracy, and Frontier 4.0 (webscripting!) and in the rush MacBird got left behind. Brent sent me an email in June or July asking about it. I called Doug and we talked. I said go for it. Let's put it in and debug it, so that Frontier can have a GUI finally.

We're there now -- yes there are bugs in the editor. Work around them. Give it a couple of months to burn in. Our priorities for MacBird now are to prove that the IOA architecture still works (it's documented on the new website). In the meantime, no scrolling lists, or scrolling text. Just popup menus. We live with what we have. Navigators! It's still a big difference from Frontier 4.0.

Anyway, I got the final 4.1 app from Doug this morning. I'm working on switching the website over to 4.1 today. The upgrade package will be released later today, the full package early in the week. (Doug set Frontier.shipDate to 10/7/96; 12:00:00 PM. Very funny!)



PS: I wish we all lived in the same town. I'd invite you all over for drinks on Tuesday night.

PPS: An early name for MacBird was IOWA. After that we called it UserLand Interface. How did it get the name MacBird? It rhymes with Blackbird.

© Copyright 1996-97 UserLand Software. This page was last built on 5/7/97; 1:48:20 PM. It was originally posted on 10/5/96; 2:17:39 PM. Internet service provided by Conxion.