Roadmap Scratchpad:XULRunner
This page describes the process and tasks of converting our apps to use the common XULRunner runtime. The embedding bits of XULRunner are discussed elsewhere.
Major Tasks
Build System
- Getting Firefox built on top of XULRunner
- Time estimate: 30-40 hours + significant review time. I expect this to be done before the end of January so we can produce ZIP nightly builds soon after that.
- De-ifdefing
- This is not fully investigated; could be really easy or freakishly hard. 20-100 hours.
Installer
- Windows
- by far the most important part of the xulrunner transition; fairly well speced, and most of the major work will actually be done in the Firefox 2 timeframe for the stub installer (see [spec]). Dropping the xpinstall-based install mechanisms will also make various kinds of enterprise deployment (MSI) scenarios much more manageable. Time estimate: installer 30-55 hours; uninstaller 20 hours. Release-engineering: 20 hours. QA: manymany hours
- Unix
- What installer? Basically we're not considering this a blocker at this point; it's very easy to just bundle xulrunner+app in one tarball. There is some interest from the autopackage folk to provide autopackage build automation.
- Mac
- Drag-and-drop install is important to some, not to others, and significantly affects the XULRunner install strategy. If we're doing drag-and-drop bundles, do we auto-install XULRunner from the bundle? Probably 30-40 hours in either case.
Developer Kit
Target timeframe for this is Firefox 2 (xulrunner 1.8.1). The very basic developer kit is mainly build-config work and refactoring the dist/ directory structure in the tree with a couple of "wizard" apps. build-config 30 hours + significant review time; wizard apps (some volunteer wizards look very good and should be adopted) 35 hours. Release-engineering time: 20 hours.
App Update
(bug 297925). The strategy has been ironed out, and that's about 90% of the battle. This is mostly going to be a hellish job for QA, to test various combinations of app versions and upgrades. 20-25 hours coding; 40-60 hours build-release (AMO will need xulrunner MARs and firefox MARs, and tinderbox automation to produce them; server-side may also need some work); 100+ hours QA.