Firefox Browser for Android Rebuilt for Speed

Mozilla takes another kick at the mobile browser, dramatically improving speed.

Mozilla has been trying to build a successful mobile browser for years. The open source group first started thinking about mobile with its Fennec browser for Maemo, which over time evolved to become Firefox for Android.

The first Firefox for Android release debuted in 2011 and didn't fully embrace mobile, offering up a sluggish and unsatisfactory performance. Mozilla has been on a mission since October of 2011 to change that, with a rethought and rebuilt Firefox for Android browser, which is officially being released today.

Johnathan Nightingale, Director of Firefox at Mozilla told InternetNews that the Firefox for Android improvements include mobile items such as panning and zooming. Going beyond that,he explained that Mozilla brought in its entire graphics team and gave them the mission directive that Firefox for Android must be excellent. To that end the graphics team has optimized graphics compositing from top to bottom.

While Firefox for Android is a rewritten browser, Nightingale emphasized that at the core. It uses the same Gecko open source engine that the Firefox desktop browser users. Both Google and Apple use the competing WebKit open source rendering engine as the underlying technology for their respective Android and iOS browsers. WebKit's pervasiveness does not mean that Gecko can't compete on mobile as well.

"Users don't look for platform they are looking for a browser," Nightingale said. "Gecko can be top tier and as a mobile browser it really understands the web."

While Firefox for Android has been optimized for Android, the core Gecko engine remains the same, meaning that web sites and technologies that work well on the desktop will also work and render in the mobile browser.

"In the ways that that it are most important, Firefox for Android is not a different code base than the desktop," Nightingale said.

There are, however, some differences under the hood and in user interface. For one, Firefox for Android uses native Android widgets as opposed to Mozilla XUL widgets, which are used on the desktop.

Mozilla mobile developer Mark Finkle explained that in terms of development, the developer teams went through a lot of trial and error to figure out what would work better and faster on Android in terms of images and themes. The overall goal was to provide a native experience that surpasses the native Android browser.

The Firefox for Android JavaScript engine, called JaegerMonkey, also delivers a speed boost over its predecessor, further accelerating the overall performance of the browser.

One way that other mobile browsers have tried to accelerate performance is by way of a proxy system where requests are funneled through the mobile browser backend infrastructure. That's the route taken by the Kindle Fire's Silk browser as well as Opera, but it's not something that Firefox for Android is doing. Nightingale argued that the proxy browser approach cuts down on the interactivity of the page.

There are some tricks that Mozilla developers have put in place that accelerate page look-up. For example, when a user goes to startup Firefox, the Android part of the code will do a look-up for the short links ( etc) separately to get the real link faster, and thereby deliver the page faster to the user.


The new Firefox for Android is targeted at phones first, but work is already underway for a specialized Android tablet build.

"When we did the re-write, the first priority was the phone, so we could show that gecko can handle its own," Nightingale said. "Now that we have that, we're already building for tablet, with an optimized user interface since, after all, tablets are different devices than phones."

Sean Michael Kerner is a senior editor at, the news service of the IT Business Edge Network, the network for technology professionals Follow him on Twitter @TechJournalist.

Tags: Android, browser, Mozilla Firefox

0 Comments (click to add your comment)
Comment and Contribute


(Maximum characters: 1200). You have characters left.