The Mozilla
Organization
At A Glance
Feedback
Get Involved
Newsgroups
License Terms
Newsbot
Developer Docs
Roadmap
Projects
Ports
Module Owners
Hacking
Get the Source
Build It
Testing
Download
Bugzilla
Bug Writing
Tools
View Source
Tree Status
New Checkins
Submit A Bug
FAQ
Search

Fizzilla

or, for the boring, "Mozilla for MacOS X"

by Mike Pinkerton
last modified on 5/11/1999

What is it?

As some of you may know (and most of you probably don't), Apple is currently developing MacOS X, a replacement to MacOS based on top of Mach3 and BSD but with the traditional Macintosh look and feel. In order to allow developers to quickly port their existing MacOS-based applications to MacOS X, Apple has created a portability layer named Carbon. Carbon takes the nearly 9000 MacOS APIs, trims the dead weight, adds some new stuff, and offers the remaining 6000 APIs for use on top of MacOS X. All developers need to do is tweak their existing MacOS code to fit the new Carbon API and their apps will run in a separate process, taking full advantage of MacOS X's memory protection and pre-emptiveness.

To this end, we have made those modifcations to Mozilla so that a single binary will run on both MacOS 8.5 and MacOS X. These modifications (code named Fizzilla while they lived on Pink's hard drive) are now in the tip of the Mozilla tree, but are hidden behind an ifdef. One day we will flip the switch for daily builds, but for the time being, only those of us who want to build with these changes will.

Fizzilla made its public debut onstage at the MacOS X Session at Apple's WWDC '99. People liked it.

So?

Basing MacMozilla upon CarbonLib instead of the MacOS libraries gets us the following:

  • one binary, from one source base, will run across MacOS 8.1, 8.5, and MacOS X
  • pre-emptive multitasking and protected memory (on MacOS X) for Mozilla. But of course, Mozilla will never crash so...
  • ability to take advantage of Quartz when the APIs become available
  • it makes Microsoft look bad ;-)
  • ...this list will grow...

Fine. Now what?

The following documents discuss where to go from here and how you can help

Why not base Mozilla on Cocoa (Yellow Box)?

Why start over from scratch (new NSPR, new GFX, new Widget...) when the exact same code base that we use for our MacOS product will get us to this new platform? And besides, no one wants to write in objective-C.

Special Thanks

Many thanks to the following people at Apple for helping out: Eoin Norris, Dave Evans, Curt Rothert, John Signa, Christine O'Sullivan


written by Mike Pinkerton (pinkerton@netscape.com)

Copyright © 1998-1999 The Mozilla Organization.
Last modified May 12, 1999.