# Mozilla Firebird

This project is a redesign of the Mozilla browser component, similar to Galeon, K-Meleon and Chimera, but written using the XUL user interface language and designed to be cross-platform.

## Principles, Strategy, Tactics, and Concrete Design Decisions

1. CVS access is restricted to a very small team. We'll grow as needed, based on reputation and meritorious hacks.
2. This will be a single process for the browser only. Mail clients, web editors, etc, will be out-of-process. Hooks for other apps will be provided eventually, although that is not an immediate goal.
3. No profile manager UI on startup, although you can still select multiple profiles from the command line.
4. The default theme will be based on Classic, utilizing nsITheme to respects the system look and feel. Mozilla Firebird will not use the old and stale Communicator icons. Additional themes will be supported but will not be part of Mozilla Firebird.
5. The toolbar(s) will be configurable. That includes moving the location bar where the user wants it (not just splitting it so it takes a whole toolbar width).
6. The personal toolbar is the personal toolbar, not the whorebar.
7. All wallet-like functionality will be rewritten from scratch.
8. We will have a sidebar, but it may work differently from Mozilla's current one.
9. There won't be 239 access points for Search and for Bookmarks!
10. We may drop the throbber.
11. The interface will not be "geeky" nor will it have a "hacker-focus". Nor will it be "minimal". The idea is to design the best web browser for most people. (This doesn't mean every feature has to be enabled by default.)

## Notes

We won't be redesigning the editor widget(s) or other parts of Gecko as part of this project.

We plan to move this app to the MRE or the XRE but those projects are not ready for us so we have not started that work yet.

## FAQ

### Q1. Why?

Some of us want to have fun and build an excellent, user-friendly browser without the constraints (such as unnecessary features, compatibility, marketing requirements, month long discussions, etc.) that the current browser development requires.

Others of us are simply using this as a prototype to demonstrate possible optimizations to the trunk, such as stripping overlays or separating the application into separate processes instead of running one monolithic suite.

### Q2. Why only a small team?

The size of the team working on the trunk is one of the many reasons that development on the trunk is so slow. We feel that fewer dependencies (no marketing constraints), faster innovation (no UI committees), and more freedom to experiment (no backwards compatibility requirements) will lead to a better end product.

### Q3. Where do I file bugs on this?

We're still chopping with strong bursts and broad strokes. There's plenty that's obviously broken and we don't need bugs on that. If you find a bug (a feature request is not a bug) and you're sure that it's specific to Mozilla Firebird (not present in Mozilla) and you've read all of the existing Mozilla Firebird bugs well enough to know that it's not already reported then feel free report it on the Phoenix product in Bugzilla.

### Q4: Why are you guys wasting time making a FAQ?

Because we would waste tons of time answering these questions, if there were no FAQ.

### Q5: How do I get involved?

By invitation. This is a meritocracy -- those who gain the respect of those in the group will be invited to join the group.

## Getting and Building the Source

### UNIX, Windows (gmake), Mac (mach-o)

1. Create a .mozconfig file in your home directory, or in the mozilla directory, containing the following:
   `export MOZ_PHOENIX=1
   mk_add_options MOZ_PHOENIX=1
   ac_add_options --enable-crypto
   ac_add_options --disable-tests
   ac_add_options --disable-debug
   ac_add_options --disable-composer
   ac_add_options --enable-optimize=-O2
   ac_add_options --disable-ldap
   ac_add_options --disable-mailnews
   ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices
   Note: DO NOT USE --enable-optimize=-O2 on Windows. There are bugs. Simply use --enable-optimize.`
2. Pull from CVS and build as described in the Mozilla build instructions.
3. Run the MozillaFirebird executable that is left in dist/bin

## Mac (CodeWarrior)

This platform is currently not supported.