This is a 0.1 release?

On Monday the Mozilla Phoenix project released its first milestone, version 0.1. Download it and try it out. This is a terrific first milestone. Because of its heavy use of Mozilla, this browser behaves more like a 1.0 release in terms of the quality and capabilities of its page layout and rendering. Yes, there are many parts that still need polish, but this is awesome. Keep up the good work, guys.

Of all the things the Phoenix developers are doing, I believe the plug-in/add-on manager is one of the most important. It is getting more difficult for add-ons to integrate into Mozilla, let alone the Gecko-based browsers that they should also work with. In most cases, the add-ons make assumptions about what menus are available and add overlays. I was thinking the other day, what if Windows 95 had included a generic program installer. Every program does similar things when installing. It would have made more sense to just have a standard package format and script for the installer to run. Of course then InstallShield would be out of business and Microsoft would be charging for installs of everyone’s apps. In any case, it would be nice if Phoenix could set up well-defined hooks into the application that mean that the add-on doesn’t need to know much about the menu structure. Microsoft products, especially Word, have had this kind of extensibility for years.

Off the top of my head, here’s a few application hooks that I believe will be important for add-on creators. I’m thinking new menus, new toolbars, and new buttons for specific toolbars will be heavily used, particularly now that toolbar customization is a reality. Event hooks to support things like mouse gestures and context menu changes also need to be considered. I suspect there are more exotic kinds of hooks that haven’t even been considered because nobody’s invented useful things for them yet. For example, I can imagine automatic spell checking of textareas and inputs or adding user page load filters. I’m hoping that Phoenix will provide an elegant mechanism for adding on to the application and managing these add-ons. If they do this right, I hope it can become a part of all Mozilla-based browsers.