It was a tough decision for Firefox on Android: improve the browser's performance or keep its compatibility with add-ons and other technology?
But after creating a prototype, Mozilla settled on the winning answer quickly: performance. And tomorrow, a month after making the decision, Mozilla plans to release an early version of the overhauled Firefox for Android.
The organization will introduce the new version on the "nightly" channel, where Mozilla tests raw new technology. With the organization's rapid-release cycle, the nightly version graduates to the Aurora, beta, and final-release channels, maturing for six weeks in each phase.
The new version is strategically important for Mozilla for multiple reasons. First, smartphones and tablets are at the center of a mobile-first transformation of the computing industry, and Firefox isn't preinstalled anywhere right now. Second, with Firefox shut out on Apple's iOS and Microsoft's Windows Phone, Android is effectively the only route for Mozilla to bring its browser to the mobile market.
Last, Mozilla's objective--to ensure an open Web--relies on Firefox. Right now, Apple and Google browsers based on the open-source WebKit project dominate mobile browsing.
Release manager Christian Legnitto announced the move Friday. Initially the new version was geared just for phones, but Mozilla expanded it to tablets, too, after concluding it couldn't offer separate versions.
Firefox for personal computers, and many of the add-ons that helped make the browser popular by making it more customizable, use an interface called XUL (XML User Interface Language). But because the XUL-based version of Firefox took so long to start up on Android and isn't as responsive, Mozilla instead embraced Andoid's built-in technology.
Among the native interface advantages, according to programmer Mark Finkle:
- Startup--A native UI can be presented much faster than a XUL based UI, since it can happen in parallel with Gecko startup. This means startup times in fractions of a second, versus several seconds for a XUL UI on some phones.
- Memory Use--We believe a native UI will use significantly less memory.
- Responsiveness--A native UI has the potential for beautiful panning and zooming performance.
It comes at a cost, though. XUL-based add-ons are one issue.
"Native UI builds are considered a new application and are not add-on compatible with the XUL versions," Finkle said
Mozilla is working on a new approach for add-ons on Android, though, through an interface called NativeWindow, Finkle said. And in a comment, Finkle added that it could be possible to build Firefox's newer Jetpack interface for add-ons atop the NativeWindow foundation.
There are other challenges, too, with the new version. The current Firefox Sync, for example, no longer works as a way to share bookmarks, passwords, and open tabs across multiple versions of the browser. A native version of Sync for Android is under construction, though, and due to arrive in December. Also being addressed is the fact that the current upgrade path drops saved passwords and browsing history.
Another list of objections came from Robert Kaiser, a Firefox project contributor, who listed his misgivings in a mailing list message: "The awesomebar algorithm [which suggests full links based on what people type in the adress bar] will be removed. The privacy of bookmarks and history will be removed. Open video might get undermined," he said. "A lot of Add-on awesomeness will be removed... Somehow I don't believe you fully there."
All these are potential problems, to be sure. But not as big as people not using the browser at all because it's too slow.