October 27, 2010

First Look at Firefox Mobile 4



Mozilla has publicized beta releases of the desktop version of Firefox 4 since July, but mobile users can test out the next major update to the mobile browser as well. Firefox 4 for Mobile is officially at beta 1, with builds available for devices running Android and Nokia's Maemo operating system.

The beta release was announced on October 7, along with a note that from this release onward, Firefox for Mobile would use the same version-numbering scheme as the desktop application, to avoid confusion.

Mobile users are encouraged to grab the actual download from their target devices, by visiting the short URL firefox.com/m/beta. Those who are already running the existing Firefox for Mobile client (version 1.1) should visit the download site with their device's system browser — and beware of data charges if attempting the download over a mobile network; the browser package weighs in at 12MB for Android and 13MB for Maemo. The package expands to consume approximately 40MB of disk storage (although Mozilla assures users it will eventually whittle that number down by 50%)


Getting the Code

A thread at the Maemo forum logs trouble that some users have encountered with the update process; the N900's Application Manager seems to reject the beta package as coming from a different domain than the Apt repository that provides it. The fix is to download the .deb package directly and install it.

Officially, only a subset of the generally-available Android phones are supported, and only the N900 phone is supported on the Maemo side. However, several Maemo users report being able to run the browser on older Maemo platforms, such as the N800 and N810 tablets. Unsupported nightly builds are available for additional Android devices, linked to from the system requirements page. In addition, Mozilla makes binary desktop builds available for Linux, Mac OS X, and Windows, so that add-on developers can test for compatibility and Web designers can test site rendering.

The news is not as bright for some other platforms, however. Mozilla announced earlier this year that all development for Firefox for Mobile on Windows Mobile has been suspended indefinitely, because Microsoft has not released a native application development kit for the newest version, Windows Phone 7. The project has also updated the explanation behind its decision to not developer for the iPhone and iPad: Apple does not allow iOS applications to include a JavaScript engine, effectively hampering a port to the point where it would cease to be Firefox.

Mozilla's Firefox Home app for iOS is still available, which uses Mozilla's Firefox Sync service to synchronize iOS's native browser with the user's existing Firefox bookmarks, tabs, and history. Symbian and Palm's webOS are similarly unsupported, although third-party efforts to port Firefox to them have been undertaken in the past.

What's New

The new release sports several improvements over the previous generation, some shared with the desktop incarnation of Firefox, but some original to the mobile user experience. Commonalities include all of the enhancements to Firefox's Web rendering and JavaScript engines, adding support for HTML5 technologies such as offline storage, <canvas>, <audio>, <video>, and Web workers, improved Geolocation support, Firefox Sync, and the ability to search for add-ons within the Add-on Manager itself.The beta contains some built-in testing and feedback options, found in the configuration panel to the right of the browser window.

Improving the speed and responsiveness of the user interface (UI) is a major focus of this release; doubly important because of the relative paucity of RAM and CPU cycles in most handheld devices. The beta introduces two key changes designed to improve browsing responsiveness. The first is called Electrolysis, which splits the rendering of browser chrome and content into separate processes. That allows the UI to respond to user input even if a loading page is consuming more than its share of CPU cycles. The second is Layers, which separates graphic-intensive actions like scrolling and zooming into a separate process as well, saving the browser from re-rendering the page during these operations.

Mobile users can now take advantage of some platform-specific features in the user interface as well. The Android builds support pinch-to-zoom, and the N900 build supports the hardware +/- keys to zoom in and out. A feature called "Smart Tapping" is designed to better interpret finger taps on tiny links and page elements, which can be tricky to target on a small screen. Along those same lines, while the Awesome Bar remains on desktop Firefox, in Firefox for Mobile it has been replaced by the "Awesome Screen," which pops-up recently-visited and bookmarked sites rendered as easier-to-touch buttons instead of narrow lines of text. Finally, "long tapping" (i.e., tap-and-hold) now brings up a context menu allowing the user to open links in a new tab or share them via email or social networking service.

The release notes also tout the mobile browser's "personalized start page," which starts the browser displaying links to the user's tabs from the previous browsing session. That functionality has not changed much (if at all) since the last release of Firefox for Mobile, which makes it a puzzling bullet point, although it is still a convenience.

Running It

I tested the Firefox 4 beta on an N900 device, and it is indeed noticeably faster than version 1.1. Start-up time has improved from an agonizing 24 seconds to less than 10, and page loading is discernibly more responsive. Naturally these numbers vary with what extensions are installed, but one nice feature is that Firefox for Mobile remembers the add-ons installed from version 1.1, even if you remove 1.1 prior to installing the version 4 beta. Presumably this is due to Firefox Sync, which is a feature rivaling the introduction of tabs for its addictiveness.Firefox for Mobile's Awesome Screen pops up full-screen, making it easier to negotiate than Awesome Bar.

On the down side, Firefox for Mobile still does not support plugins. Mozilla says this is due to the dismal performance of the Flash plugin on mobile device hardware, but while I am no fan of Flash, it still results in a gap between the "real" Web and the "mobile" Web — the very gap Firefox for Mobile set out to close. Perhaps it is just another reminder that projects like Lightspark and Gnash need more attention; it is a wonder Mozilla Corporation does not attempt to invest in their development.

Extensions, on the other hand, are a booming business in Firefox for Mobile. The Mobile section of addons.mozilla.org now hosts close to 100 extensions, not counting the "experimental" build category that may lock up or crash your browser. More and more desktop extensions are being offered in mobile versions as well, including the fix-it-all NoScript and various social media toolbars for the Twitter and Facebook addict.

In my decidedly unscientific stability tests, the Firefox 4 beta seems to have made strides over version 1.1 as well. Several common, non-interactive (i.e., not AJAX or JavaScript-heavy application sites) sites that would lock up 1.1 if left on too long have no such effect on the beta release. On top of that, Firefox for Mobile now pops-up the Unresponsive Script warning if it encounters such trouble, a feature I missed in 1.1.

The usability enhancements are probably best tested under harsh conditions, such as trying to navigate a bus schedule page one-handed while running down the street. It's difficult to accurately gauge the effect that features Smart Tapping or pinch-to-zoom would have when sitting at the desk. Still, I am confident that these are improvements the average person will be grateful for in those situations where a free hand or a stylus just aren't available.

The Mobile Play

I do not buy in to the "the desktop is dead" fad circulating on many open source news and discussion forums, but one thing is clear: the battle for dominance on mobile devices is the most important front in open source software over the next few years. That is important because Mozilla is one of the few FOSS desktop application vendors that is proactively pursuing this platform.

After all, it is all well and good that Android itself is an open source operating system, but the application marketplace and the OEM pre-installed app list is still dominated by proprietary software. Maemo is soon to be replaced in mass-market devices by MeeGo, and although its netbook builds run the usual stack of Linux applications, the handheld products may not. We might not see Emacs and XChat on our phones any time soon, but it's reassuring to see a high-quality, extensible open source browser made available. I just wonder if we will ever see it preinstalled.

Click Here!