A new standard for mobile and tablet browser user agents

With the release of Firefox 10.0, many new features having been added. Though one of the features added in Firefox 10.0 that I have not seen get much attention is on the mobile version of Firefox, Fennec. This new feature allows the user the ability to choose their own user agent from a set of predefined user agent strings. This is a huge plus in terms of user experience and general usability, now users on Android tablets can finally have a user agent that differentiates them users on Android phones. You can access this feature by clicking the menu button on your phone while Firefox is open and then clicking on preferences.

Fennec 10.0 menu barOn the Preferences page you’ll now find the option to change your user agent.
Fennec user agent switcherBelow is a picture of the user agent options in Fennec 10.0
Fennec 10.0 user agent optionsPre-Firefox/Fennec 10.0, users on Android tablets that were using Firefox Mobile had the same user agent as users on Android phones.

Firefox Mobile 9.0 user agent on Android phone - Samsung Galaxy S – Epic 4G
Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111208 Firefox/9.0 Fennec/9.0

Firefox Mobile 9.0 user agent on Android Tablet - Asus EEE Pad Transformer
Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111208 Firefox/9.0 Fennec/9.0

Without the ability to change the user agent, this meant that there was no way for device detection scripts that look at the user agent to differentiate users on Android phone from user on an Android tablet if they were using Firefox.

A new standard
This raises the question, should this feature be standard in all mobile browser on Android that can be used on phones and/or tablets, and possible soon Google enabled TVs? The need for browser vendors to include keywords for us to detect like mobile and tablet will only grow as we see more and more web capable devices emerge. Fornately, most of the browsers you can download today on the Android Market, let you choose your user agent, either a mobile one, a tablet one, or a desktop one, some even let you type in your own. I’m glad to see Firefox finally add this to their mobile browser.

There are some other popular mobile browsers that still lack this feature though. Opera Mini is the one the first comes to mind. The user agent of Opera Mini is the same on Android phones as it is on Android tablets.

Opera Mini user agent on Android phone - Samsung Galaxy S – Epic 4G
Opera/9.80 (Android; Opera Mini/6.5.27452/26.1235; U; en) Presto/2.8.119 Version/10.54

Opera Mini user agent on Android Tablet - Asus EEE Pad Transformer
Opera/9.80 (Android; Opera Mini/6.5.27452/26.1283; U; en) Presto/2.8.119 Version/10.54

The lack of ability to change user agents in Opera  Mini is a bit odd, because Opera Mobile does have this feature.

Opera Mobile default user agent on Android phone - Samsung Galaxy S – Epic 4G
Opera/9.80 (Android 2.3.5; Linux; Opera Mobi/ADR-1111021320; U; en) Presto/2.9.201 Version/11.50

Opera Mobile default user agent on Android Tablet - Asus EEE Pad Transformer
Opera/9.80 (Android 3.2.1; Linux; Opera Tablet/ADR-1111101157; U; en) Presto/2.9.201 Version/11.50

Notice the addition of the keyword “tablet” to the user agent string. This is very helpful in recognizing users who are on a tablet using Opera Mobile.

Opera Mobile user agent on Android phone set to desktop mode - Samsung Galaxy S – Epic 4G
Opera/9.80 (X11; Linux zbov; U; en) Presto/2.9.201 Version/11.50

What will happen to browser vendors that do not add this feature?
Bolt Browser, though not as popular as Opera Mini was another browser that did not allow users to change to user agent. When I tested on my phone, Bolt’s user agent was:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.800) AppleWebKit/534.6 (KHTML, like Gecko) Version/5.0 Safari/534.6.3

Last month, Bolt Browser was discontinued. According to BitStream,

The free BOLT mobile browsing service has been discontinued. Unfortunately, the economic circumstances prevented us from running a free service going forward. We apologize for any inconvenience and thank you for your loyalty and support.

While I won’t goes as far as saying this is why Bolt Browser was discontinued. The Bolt browser lacked many other features common on modern mobile browsers such as lack of accurate support for media queries and lack of support for correct javascript browser width detection, though I’m sure the ability to not change the user agent was not helping them gain any new users either.

Without browser vendors giving us anything in the user agent string to determine what type of device the user is on, it becomes more difficult to categorize devices correctly. Incorrectly detecting the device a user is on, only leads to a frustrated user. This is why I strongly recommend adding a link to your site allow users to change how their device is categorized.

Looking to the future.
Google recommends that if you want to detect a Android tablet to look for the words “Android” and the absence of the word “Mobile”. While this works for the most part, if you really want your device to be recognized as a tablet, include the word “tablet” in the user agent. The list of web capable devices will only grow. For device detection to continue to work, we need standards we can rely on.

  • altix31

    Hi Brett,

    I just installed FF 10.0.2 on my Android and this new feature is not present. shame, I wanted to believe I had an iPad :-(

    • Brett

      Did you install FF 10.0.2 on an Android phone or Android tablet? What’s the make and model? I have 10.0.2 on my Samsung Galaxy S and am able to change the user agent, check in the preferences menu.

  • altix31

    I installed FF 10.0.2 from Market on HTC HD2 with Android ROM. Ok, it’s not an original Android phone but it works very well with Android and I think the origin of the ROM does not matter (here is Sensation XL V3.4 from dansta34 on XDA developpers). The GUI is in french and here also, I think it does not matter.

  • altix31

    Hi Brett,

    Did you install some Add-ons for Firefox?
    I installed Phony (version 3.1.1 in my case) and the User Agent have been added on preferences menu.
    I hope this “trouvaille” can help someone.