Roadmap Scratchpad:XULRunner

From MozillaWiki
Jump to: navigation, search

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.