Hands-on: Firefox’s experimental new native Android interface

Mozilla is developing a new user interface for the mobile version of Firefox …

Mozilla is working on a major overhaul of the Firefox mobile user interface for Android. The developers are transitioning away from XUL—the cross-platform user interface toolkit used by Firefox on the desktop—in favor of native widgets. This major design change will offer smoother performance, better platform integration, and a look and feel that is a bit more consistent with the rest of the Android environment.

We looked at the new native Firefox mobile tablet interface when it surfaced in September for Honeycomb devices. Mozilla’s mobile team is currently preparing to deliver a similar native interface for the smartphone flavor of the browser. It shares visual style of the tablet implementation, but is designed to fit well on a phone-sized screen.

The new interface was developed in an experimental Firefox mobile branch called Birch. The changes aren’t just skin deep—the transition to native widgets involved some significant architectural changes in addition to bringing a new look and feel. Mozilla is seeking volunteers to help test the overhauled version of the browser before the changes are rolled out in a stable release.

I conducted some hands-on tests with the latest Birch nightly build, which is available from Mozilla’s FTP server. I downloaded the APK and side-loaded the application on my Nexus One smartphone. It installs as “Nightly” and can be used alongside the stable Android Market version of Firefox mobile. It needs more work before it will be ready for day-to-day use, but it seems like a compelling step forward for Firefox on Android.

The user interface has been dramatically simplified and streamlined. The distinctive sidebars that slide out from the left and right in the current stable version are gone. In the new native user interface, tab management is done with a simple menu that is accessed from an arrow on the left-hand side of the navigation bar.

Although I’m a bit sad to see Mozilla abandon the nifty thumbnail-based tab switcher, there are arguably some usability advantages to the new approach. In particular, the spacing makes it easier to hit the close button for a tab and reduces the risk of hitting the close button by accident. I think the placement of the tab menu button also helps make tab management more discoverable.

When you tap the page title at the top of the screen, the browser will give you a URL box. It displays a list of bookmark and history items that will be filtered as you type, with AwesomeBar-style completion. This interface also shows tabs for quickly navigating through your bookmarks and recent history.

Most of the peripheral functionality has been relocated to the native Android menu, which is accessible by tapping the standard hardware button. The reload and forward functions are are located in the menu. There is no back function exposed through the user interface-the user can simply hit the phone’s physical back button.

The menu also has buttons for bookmarking and sharing a page. Bookmarks are completely flat now—you can boomark and unbookmark a page, but there doesn’t appear to be any way to manually organize bookmarks or even choose custom names. It’s not clear if the new limitations in the bookmark system are intentional or if the feature simply hasn’t been fully implemented yet.

The old tabbed sheet with preferences, add-ons, and downloads that used to be accessible from the gear button is gone. The add-on manager is accessible from the overflow section of the menu and opens as a separate tab. The actual add-ons interface hasn’t been fully implemented yet. The preferences have been moved to their own native native Android sheet which is also accessible from the menu overflow.

The Gecko-based embedded HTML renderer still has some minor issues. For example, any physical contact with the rendering area is interpreted as text selection, which made the browser awkward to use. Scrolling through a page was fairly smooth, but pinch-zooming was sluggish and unpredictable. The browser also doesn’t appear to have support yet for reflowing text after zooming.

Despite the glitches, the general direction of the new browser is promising. The extensibility of a XUL-based user interface makes great sense on desktop computers, but it’s arguably just wasted overhead in an Android version of the browser. Moving to native widgets on Android will make mobile Firefox more competitive—it greatly reduces the startup time and also reportedly decreases the memory footprint. The difference in startup performance was really noticeable during my tests.

It’s important to remember that my test was conducted with a nightly build, so it’s not intended to be fully functional yet. The problems I encountered all appear to be things that are fixable, so we can expect to see a lot of improvements before this new interface lands in a stable release.

Mozilla’s quality assurance team is planning a special test day tomorrow (November 11) for the new native mobile interface to help identify technical issues. As we have said on several previous occasions, participating in the Firefox QA process is a great way for non-developers to contribute to the project. You can find more information about how to obtain and test the nightly from the Mozilla wiki.