Mozilla is expanding development of Firefox for Android with new efforts to improve its performance, lower its power consumption, adapt it for tablets--and keep the browser maker relevant in the hottest area of computing.
Firefox is the second-most widely used browser on computers, but things are different in the mobile arena. There, Firefox is at a serious disadvantage compared to mobile browsers such as Apple's Safari and Google's unbranded Android browser that are built into the operating systems.
Mozilla, by comparison, must convince people or phone makers to install Firefox, and even then restrictions keep it off several mobile operating systems.
But Mozilla clearly has recognized that mobile computing is rapidly expanding beyond the niche of technophiles and wealthy folks who want a high-status phone. Firefox won't have an easy time carving a place for itself on new mobile devices, but Mozilla is doing its darndest to build a browser that will attract users.
One illustration: When Mozilla programmer Dave Mandelin began an active discussion about what Firefox needs to run better on ARM processors, which dominate the phone and tablet market, a broad, active discussion took off. Mandelin wasn't very gentle.
"If you have a powerful device, Firefox performance is in many ways pretty good. But UI [user interface] responsiveness and memory usage seem to be in pretty bad shape," Mandelin said. "So we need to get better measurements and start improving performance in those areas, today."
And Mozilla, barred from bringing its browser to major mobile operating systems such as Apple's iOS and Microsoft's Windows Phone, is moving beyond browsers, too.
"Smartphones and tablets are where the next billion people will expect their personalized experience to be available to them anytime, anywhere," Mozilla said in its vision statement that Mozilla Vice President of Products Jay Sullivan published earlier this year. "To significantly affect Internet life in the future, we will have to deliver value on major OSes, whether we are allowed to ship our own browser engine or not."
Getting a Fennec foothold
That operating system barrier has made it harder for Firefox for mobile, code-named Fennec, to gain a foothold.
The two initial operating systems for Fennec were Maemo from Nokia and Windows Mobile from Microsoft. Maemo became MeeGo when Nokia merged the effort with Intel's mobile Linux project, but through a major Nokia restructuring, MeeGo has been consigned to oblivion.
Microsoft, meanwhile, overhauled Windows Mobile 6.5 to produce Windows Phone 7--and one aspect of that shift is the removal of the software interfaces necessary to run Firefox.
Another possible avenue, Research in Motion's BlackBerry operating system, doesn't look promising, either. Although RIM started a closed beta test of a native developer kit (NDK) last week for BlackBerry tablets, the company told CNET in a statement that won't enable browsers such as Firefox, as it's currently engineered, on phones.
"We do not have any plans to bring an NDK to the BlackBerry OS today," the company said in a statement. "It would have to be written in Java to run on our platform. Opera, Bolt, and other browsers have been ported to the BlackBerry smartphone platform to date."
The fact that Firefox runs in part as a native code on a smartphone's hardware rather than on higher-level layer such as the Java-like interface of Android raises programming challenges. Mozilla has a long list of Android devices on which Firefox doesn't run.
With Apple barring any browser from iOS that doesn't use the operating system's own built-in WebKit engine, Android is far and away Firefox's biggest hope. Even there, though, Mozilla will have to persuade people to install and use Firefox.
To get try get ahead, Mozilla could follow in Opera's footsteps by getting companies to preinstall the browser. "Mozilla is certainly interested in working with OEMs [original equipment manufacturers such as phone makers] and others who share our vision," the company said.
Such partners typically are more motivated by financial self-interest than Mozilla's vision of an open Web, though. And they'd have to be assured that customers wouldn't be confused, unhappy, or hampered by even more mobile browsing incompatibilities than they'd otherwise experience.
Pushing for Android
One measurement Mozilla is watching is feedback for Firefox on the Android Market. There, reviews are generally favorable with an average rating of 3.5 out of 5 stars, but that trails the Dolphin Browser HD, Opera Mobile, and Opera Mini, all of which get 4.5 stars. For Firefox on Android, "slow" is a top complaint. Another is lack of support for Adobe Systems' Flash Player, a browser plug-in that's widely used on desktop computers but not on mobile devices.
Mozilla is tackling the problems, though--and it's bringing its six-week rapid-release development process, too, so changes should come steadily and frequently. The next version, Firefox 7 for mobile devices, brings a wealth of new interfaces for Web programmers and the ability to copy and paste text for users.
One area where people can expect improvement is power consumption to increase battery life. "Mozilla is looking for both volunteers and potential paid employees who are experienced at measuring and tuning power usage on small devices," said Mozilla programmer Benjamin Smedberg in a blog post earlier this month.
Another area is user interface. Firefox for Android has gradually dovetailed better with Android's own interface, and a big priority now is to improve it for Android tablets.
Development speed is potentially a big advantage over Android's stock browser, which has moved comparatively slowly and, unlike Google's Gmail and Google Maps applications, hasn't been broken out of the operating system as an app that can be updated through the Anrdoid Market.
"Android WebKit is the closest thing to being the IE6 of mobile development for me," said Web developer and browser expert Dion Almaer in a blog post today, referring to the decade-old but still widely used version of Internet Explorer that Web programmers loathe. "So many people are on old fragmented versions of Android, so you still have to support the old stuff which is ripe with issues that raise their nasty head at every turn."
Firefox's cold start
Unfortunately for Mozilla, though, Firefox is at an inherent disadvantage compared to the stock Android browser because of the way the mobile operating system manages scarce memory.
When more memory is needed, idle applications get pushed out of active memory. But according to Firefox developer Mike Hommey, the WebKit browser engine used in Android's stock browser is essentially kept in memory by "all Android appications," keeping it in active memory. When Firefox gets bumped out, loading a Web page requires reloading the browser into memory.
That "cold start" means Firefox users on Android are treated to the browser's splash screen while it loads into memory again, something that's begun to pain Michael Verdi, a support content manager at Mozilla.
"The vast majority of my interactions with a browser on my phone is following a link from e-mail, Twitter, Facebook, or any number of apps," Verdi said in a response to Mandelin. "If Firefox has to cold start it's painful. And the thing is, it has to cold start all of the time. I can't tell you how many times a day I see that logo (6? 8?). It's making me start to hate the logo."
Verdi posted a video (in WebM format) that shows how much slower Firefox is than the stock Android browser at loading a page--16.9 seconds vs. 7.5 seconds on his HTC Desire HD.
Mark Finkle proposed the idea of making sure Fennec purges as much data from its memory cache as possible so that the browser is less likely to be evicted from memory.
Clearly, it's not a simple task bringing Firefox to the mobile market. The organization is trying another efforts that's arguably even more challenging: an entire mobile operating system.
Mozilla's Boot to Gecko project (B2G) aims to produce a mobile phone operating system that boots straight to a Web browser. That browser comes with enough programming interfaces to match what native mobile apps can do today--dialing the phone, for example.
Under the covers, it runs a stripped-down version of Android that's called Gonk. Apps, though, are Web apps, not those that run on Linux or Android's Java-esque environment.
Getting users or phone makers to adopt such software seems like it'll be an even harder challenge than getting them to adopt Firefox for Android. But Mozilla can be a healthy influence on the industry even when its products don't become dominant.
The B2G effort could help advance Web apps on all mobile devices, for example, helping to make them more competitive with native apps. And the Android effort could encourage Web developers to program for Web standards, not variations of WebKit.
And when it comes down to it, Mozilla has no choice. Mobile computing is the vanguard of the tech industry, it's better to undertake risky projects than to squander your relevance by ignoring the market.