Tuesday, June 26, 2012

Hands-on: Firefox for Android may become your favorite Android browser - Ars Technica

Browsing Ars Technica in Firefox for Android

Mozilla has released a major new version of the Firefox Web browser for Android. The developers have greatly improved the performance and responsiveness of the application while introducing a new user interface that is built with native widgets.

We first reported on Firefox for Android in 2010 after compiling an early experimental implementation from source code. The project has evolved considerably over the past two years. Version 14 of Firefox for Android finally offers a highly competitive alternative to the platform’s default browser.

Much like its desktop counterpart, the original Firefox port for Android had a unique user interface built with Mozilla’s XUL framework, an XML-based user interface layout system supported by Firefox’s Gecko rendering engine. After considerable testing and development, Mozilla determined last year that XUL wasn’t the right choice for an Android browser.

The developers began to rethink the mobile browser’s architecture as they looked for ways to deliver the kind of user experience that they wanted. They started working on a major overhaul that would replace the XUL user interface with native Android widgets. They also intensified their focus on optimization, looking for ways to improve Firefox’s performance on mobile devices while lowering resource overhead.

The native interface and many related architectural improvements have been shipped in public beta builds in recent months, but version 14 is the first stable release to incorporate these changes and make them available for mass consumption. The update is sure to impress Android enthusiasts. It has a lot to offer, especially for Android users who also run Firefox on the desktop.

We tested the release on a Galaxy Nexus handset running Android 4 (Ice Cream Sandwich). The program starts quickly, with no discernible delay. Rendering and interaction are consistently smooth during operations like scrolling, panning, zooming, and switching between tabs. Pages load quickly and JavaScript executes as expected. Rendering is goodâ€"particularly the text, which is highly readable.

As noted above, the new user interface is built with native Android elements, using a mix of conventional platform widgets and custom-drawn user interface controls. The design draws heavily on the new look that Mozilla is working to bring to its product lineup. Although it is less ambitious than some of the designs that Mozilla has used in previous iterations of mobile Firefox, it is simple, reasonably intuitive, and most of all, functional.

A persistent bar at the top of the screen houses a URL text box, a button for tab management, and a button for accessing the browser’s menu. When the user is viewing only one tab, the new tab button will display a plus sign that causes the browser to open a new tab when pressed. When multiple tabs are open, the button will display the current number. Clicking the button will cause a tab list with thumbnails and page titles to scroll down from the top of the screen. The user can switch to a tab by selecting it from the list. A plus button at the bottom of the list will allow the user to open additional tabs.

Enlarge / Switching tabs in Firefox for Android

Some key pieces of the user interface, including the menu and the settings dialog, are implemented with standard Android widgets that look consistent with the rest of the platform. The URL text box and tab widget are curved and colored to reflect Mozilla’s new signature style. The add-on and download managers, which open in individual tabs, use native-looking widgets that are colored to match the browser’s palette.

The browser doesn’t tie into the ICS holographic aesthetic, but it matches the underlying platform well enough to feel like a truly native application. Its behavior is also sufficiently consistent with the rest of the platform to avoid disorienting the user. There are, however, some subtle differences that astute users are likely to catch. It has elastic scrolling, for example, that feels more like iOS than Android.

One of the key features of Firefox for Android is its support for Mozilla's synchronization service. It works seamlessly with the desktop version of the browser, allowing the user to access their bookmarks and other browser data. This capability works as expected and will likely be a major draw for existing Firefox users.

We spoke with Mozilla’s Jonathan Nightingale about the update, who talked about some of the steps that Mozilla took during development to ensure that its mobile browser would offer competitive performance. To benchmark startup performance, Mozilla built a tool that captures raw video from an Android device and measures the amount of time it takes for a launched application to draw its window.

Mozilla used this technique to compare Firefox against other browsers on a variety of Android devices and continued to tweak it until they reached a competitive position. As some users might remember, Mozilla had already taken some extreme steps, such as building its own loader for native code, in order to mitigate some of the startup overhead the browser faced on Android. They were able to further improve startup performance for version 14.

I also asked Nightingale some questions about the browser’s add-on system. Much of the power of Firefox’s add-on system relies on the inherent flexibility of XUL. The move to a native user interface imposes some limitations on the manner in which add-ons can extend and customize the mobile browser. Nightingale explained that popular mobile add-ons typically don’t need to make the kind of sweeping user interface changes that some complex add-ons make on the desktop.

The add-on system in Firefox for Android still exposes programmatic access to several integration points in the user interface that add-on developers care about, such as the menu. Although it’s not as flexible as the desktop add-on system, it does have some advantages. Because mobile add-ons don’t use XUL overlays, they are all bootstrappedâ€"meaning that they can be installed without requiring a browser restart.

Enlarge / The add-on manager in Firefox for Android

Another topic that we discussed is the browser’s status on Android tablet devices. The current version was designed with a focus on phones, but Mozilla has been working on a tablet-friendly version with an interface that is designed for larger screen sizes. Nightingale told me that the tablet version is getting quite mature, but it wasn’t ready to be rolled out in this release because it still lacks full Flash support.

Nightingale enthusiastically recommended the nightly builds for experienced users who want to try out Android for Firefox on a tablet. He said that the tablet version is ready for testing and that his team would welcome feedback from Ars Technica’s readers.

Users who want to test the new stable release of Firefox for Android can simply install it from the Google Play marketplace. Users who are interested in trying out the nightly build can download the APK from Mozilla’s website and sideload it on a device.

No comments:

Post a Comment