[inline:Fx4-Mobile.png]

A couple weeks ago, Mozilla released Firefox 4 Mobile (née Fennec) for both Android and Maemo.

I’ve had an Android phone since 2008 and honestly, I’ve never browsed the web on my phone as much as I have in the past few months when I started using Firefox 4 Mobile. It really is that much better! Here are my thoughts (focused on the Android version) on why.

Sync

Firefox 4 Mobile’s number 1 killer feature is Sync, which syncs tabs, logins, browser history, and bookmarks across multiple devices. The most useful of these are logins and browser history.

It’s a complete pain to type user names and passwords on mobile keyboards, exacerbated personally since I practice good security and use a different password for each site on the web. Because Firefox Sync makes available on my phone all the passwords I’ve saved on my desktop, I never need fumble entering or remember anything anymore.

I use the web quite a bit (who doesn’t?), proof of which is my 15 MiB history file. Sync makes available that same browsing history, everywhere. Having your browser history available to do simple things like coloring visited links purple really makes a difference (e.g., think about looking through apartment listings on Craigslist).

Having history available also powers Firefox 4 Mobile’s Awesome Bar. I don’t need to remember exact URLs anymore, or rely on a search engine—I can just start typing a keyword and Firefox’s Awesome Bar automatically searches URLs and page titles of pages I’ve visited, just like it does on the desktop.

As a freedom-loving, free and libre open source software advocate, another bit about Sync I love is that it is an autonomous web service. That is, you can download the server-side component of Sync and run it yourself, should you not trust Mozilla.

Google has a Sync-like feature in Android 3.0 for its built-in web browser and Chrome for your desktop, but so far nothing is available for anyone stuck on older versions of Android. It also isn’t autonomous—you’re locked into trusting Google.

HTML5

Firefox 4 Mobile has much better HTML5 support, in the sense it supports more New & Exciting Web Technologies ( NEWT ), such as CSS3, SVG, and new Javascript APIs.

Firefox has dropped vendor-specific prefixes for many CSS3 properties, including border-radius, box-shadow, text-shadow, etc. All in all, it makes your CSS that much more clean.

There’s support for SVG, only recently supported in Android 3.0.

There’s support for notifications via a proprietary API. Recently landed in Chrome 10, it’s still missing (AFAIK?) in Android 3.0, even with 3.0’s rich notifications support.

The iPhone has had multi-touch Javascript events (think pinch-to-zoom, essential for mapping widgets) since its debut, but multi-touch support and support for such events is missing from Android, even though Android was introduced much later. Firefox 4 Mobile has had multi-touch support since last year, though it does not support gestures, like the pinch-to-zoom event (patent concerns?). Even without gestures, nothing stops you from implementing gestures yourself. Firefox Mobile also is leading the way in supporting the (draft) W3C TouchEvents specification.

A good overview of the other HTML5 features Firefox 4 Mobile supports is Mozilla’s HTML5 & Friends demo

Other stuff

Firefox 4 Mobile also supports add-ons. While I haven’t found the need for any, there are some neat ports, like Adblock Plus Mobile. Expect the list of add-ons to grow quickly.

When Firefox 4 Mobile was in beta, Mozilla didn’t do a very good job alerting people to its high system requirements. However, on release, a supported platforms and systems requirements page is first and foremost. A summary: you need a phone with at least 512 MiB RAM. The official builds require an ARMv7-generation processor (or more specifically, one that supports ARM’s Thumb instruction set), but there are unsupported builds for older ARMv6 devices that have enough RAM (e.g. T-Mobile’s MyTouch Slide, aka the HTC Espresso). Not to gloat, but Firefox 4 Mobile for Android works great on my T-Mobile G2.

Firefox 4 Mobile’s previous name was Fennec 2.0, a name I much prefer. But somewhere along the way, Mozilla decided to take a page from Microsoft’s marketing playbook—home of atrocities like Microsoft Windows Live Mesh and Microsoft Windows Server Base Operating Systems Management Pack for Microsoft Operations Manager 2005. What makes it worse is disambiguating Firefox 4 Mobile for Android and Firefox 4 Mobile for Maemo means you’re using 5 words for a product title. For web developers, fortunately, Firefox 4 Mobile still keeps the keyword “fennec” in its user agent screen for easy detection.

In my opinion, the best software keyboard for Android is Swiftkey (proprietary software, unfortunately). SwiftKey crashes when used with Firefox 4 Mobile… SwiftKey hasn’t been very helpful diagnosing the problem (it is SwiftKey doing the crashing!) but Mozilla has fixed the SwiftKey crash on their own, available by Firefox 5 Mobile, if not 4.02.

So, go download Firefox 4 Mobile now from Mozilla’s landing page if you’ve not done so already. You can also get it from the Android Market, or, if you don’t or can’t use the Android Market, get the latest Firefox 4 Mobile release from Mozilla’s FTP site instead. If release versions are not bleeding edge enough for you, consider the Nightly or Aurora build channels instead.

Also, if you’re playing Mozilla’s Spark, please tag me!

UPDATE MAY 20: I forgot one of Firefox 4 Mobile’s most unique features: Electrolysis. One of Google Chrome’s best features (conspicuously missing from Android’s browser) is its multi-process architecture that keeps each tab in a separate process. If a tab crashes, that’s all that crashes — your browser stays running!