There has been much confusion over what the XULRunner short-term plan is, and when various features are supposed to be available. This post is my attempt to define my short-term goals and plans and outline my timeline for important changes in the next milestone:
Update: The XULRunner roadmap is now being maintained at http://wiki.mozilla.org/XULRunner:Roadmap.
For the current milestone (gecko 1.8/Firefox 1.1), my immediate goal is to get a developer preview release of XULRunner that can be used to demonstrate capabilities and determine future feature needs. This release will probably not be especially useful for actual production deployment because it will lack some of the (very important) installer capabilities. The included libxul has many problems, such as exported nonfrozen symbols and a very nonfrozen API.
This developer preview release will be shipped as a framework DMG on mac, and a zip/tarball build on win/unix. There are experimental RPMs available for SuSE (and there hopefully will be some fedora-compatible RPMs as well). The XULRunner binary has the ability to register itself as a GRE for embedding purposes.
Assuming all goes smoothly, XULRunner will have the ability to install a xulapp from a directory or a zipfile from the commandline, as well as ship with a GUI xulapp to perform the same function. For the 1.8 timeframe this will not add the program to the Windows Add/Remove program list or set up a dependency tree very well (automated uninstall may not be supported, you would have to just delete the installation directory).
The major tasks left for XULRunner 1.8 are linking changes to the standalone XPCOM glue so that it does not depend on NSPR, the stub binary which is used by installed xul applications and the abovementioned xulapp installer code. Finally, the Great and Mightily Overworked Chase has promised that there are new tinderboxen on the way which will build XULRunner with SVG+canvas support and will actually start producing mac nightly builds at all.
In the 1.9 timeframe my goal is to make XULRunner a completely workable production solution for XUL applications including Firefox and hopefully Thunderbird, as well as for embedding applications such as Camino and Epiphany. There are many steps to this process, but my general approach is incremental:
- Make many useful XPCOM utility classes available from the XPCOM glue.
- Allow the build system to build Firefox as a xulapp. This will not be the default (yet), while work is being completed on the installation mechanisms.
- Get the windows installer working
- Build Firefox as a XULApp by default.
- Get the various platform-specific embedding mechanisms integrated tightly and freeze the basic necessities. Windows Mac GTK QT.