MacBirdSourceReleaseSite:
The Open Source graphic user interface builder and runtime.

 
Home

FAQ

License

Download

Source

Listings

Screens

Resources

Discuss

Community



 
 

"I love MacBird, but I don't have time for it. I want to make MacBird my gift to the world. Take it. Love it. Make it your own." -- Dave Winer

Welcome to the MacBird source release website.

On 1/3/00 we released the source code of this classic Macintosh application. It's a draw program with grouping and alignment that's used to design and run graphic user interfaces.

Designed as a descendant of HyperCard and Visual Basic, it solves issues raised by both. In comparison to HyperCard, we use object based graphics, and have draw-type commands, this means fast rendering, small applications, and designer-oriented features like grouping and alignment. HyperCard sees each UI as a bitmap with regions, yielding fatter applications and less designer flexibility. (At least for designers who know Draw programs, like me.)

In comparison to Visual Basic, MacBird is designed to be agnostic about scripting languages, where VB is bound to Microsoft's BASIC. All the interfaces to the scripting language are open, by necessity, because MacBird had to work with both AppleScript and Frontier. It implements the Open Scripting Architecture which was a Mac platform innovation, co-designed by Apple and UserLand, to make scripting languages replaceable. This idea is absolutely necessary, because there are so many scripting languages! See the home page for XML-RPC for an idea.

In the age of the Web, MacBird may have new relevance, because it employs UI techniques and consistency that have been lost as "coolness" became the norm, not ease of use and user performance. In other words, the user interface for the Mac is pretty good. If we can get MacBird ported, that user interface will run on other systems. I guess that seems pretty obvious, but people tell me I have to say this on the home page.

Mac Meets Linux?

MacBird has been covered by MacWEEK and Linux Today.

Help MacBird get more press. Tell everyone you know that the open source world now has a graphic UI design tool.

History

MacBird was actively developed between 1991 and 1993. We picked it up, briefly, several times between 1995 and 1997.

What makes MacBird different?

There are other UI runtimes, some are even open source.

MacBird is different because it's built for the designer. You create and edit MacBird "cards" using a draw program with grouping and alignment.

Further, the UI it uses is carefully coded to be compatible with the Macintosh user interface standard set in the early 1980s. It's the most familiar interface for designers and users.

Screen shot

It's open architecture

MacBird defines a plug-in architecture called the Interactive Object Architecture. It's a common set of callbacks and a record structure that allows MacBird to be dynamically configured with new object types at runtime.

In its initial release the only interface supported is the Macintosh Component Manager, which is part of QuickTime. This should be changed, probably to a cross-platform DLL interface. But the coding standard is set, creating a new object type is relatively easy to do.

It's possible that XML-RPC may be a good interface for the connection between MacBird and scripting environments.

Open Source

Our open source license is the clean and simple MIT Open Source license. It's designed to give developers the most flexibility, to in no way limit the ways the source code and the ideas and algorithms it implements, can be used.

UserLand's role

UserLand Software, the company that created this software, wants to take a back-seat in the future development of MacBird.

We'd love to build software that connects in behind MacBird interfaces. We make web content management software, and scripting and user interfaces are key technologies for what we do.

We will not accept updates. That's up to whatever community may form to develop MacBird. There are excellent technologies available for managing community-developed software. If the Zope or Mozilla communities want to adopt MacBird that would be great. If they want to change it, that would be fine too.

However, let me express the hope that everything developed with MacBird be open with interfaces that can be implemented by anyone.

Dreams

As the designer and developer of MacBird let me tell you where I think it wants to go.

It should be easy to port MacBird to Windows, BeOs and Linux. It wants to be cross-platform, to include the most popular user platforms in a compatible network of graphic user interfaces that go beyond what web browsers can do. And of course since it's open source it can be baked into the browsers, probably quite easily.

Beyond that, it can provide a discussion platform to teach C developers how to talk with user interface designers and vice versa. MacBird is close to what designers want. It's not perfect, tweaks and performance enhancements are totally possible. But it's much closer than anything that the open source world has created so far, imho.

Further, because it's free and open, interested designers can learn how designer software works internally. Dig in to the source code, let it confuse you and then come back in a couple of weeks and try again. Eventually if you stay curious and smart the puzzle will recede, it will sink in, and you'll learn how to work with masters of C and the internals of operating systems. You might even become one yourself. (I know this horrifies many designers.)

Mac-style UIs in open source

MacBird is open source software that comes from the Mac. It isn't the first, after all Python got its start on the Macintosh. But it's different because instead of loosely supporting Macintosh as an afterthought as many open source tools do, this software supports the Macintosh first.

A teaching tool

I also hope that MacBird will be used to teach computer science. It's a functional graphic program. Imho, this is the best way to learn computer science. Start with something simple that works, learn how to change it.

Dave Winer
1/3/00

 




Last update: Sunday, March 5, 2000 at 10:37:56 AM.

This is a Manila site.