Handsets, Browsers, Device Capabilities and Browser User Agents

Depending on which country you wish to launch your mobile web app, the handset/browser mix may be different. AdMob (now Google Mobile Ads) used to publish a pretty good monthly report about the distribution of hits (per device manufacturer) they get by country – this gives a pretty good indication of what it’s actually like in the various markets. Sadly, since their acquisition by Google, they no longer update that report. Netbiscuits also publishes a metrics report showing that distribution (registration required). One very good site that breaks down Mobile OS by region and country is the Global Stats site.

Programming the Mobile Web by Maximiliano Firtman is a very good reference for Mobile Web development. According to it, the following are the major handset vendors and the main browsers supported:

Handset Manufacturer Browser Comments
Apple Safari on iOS iPhone, iPod Touch, iPad
Nokia WebKit WebKit is mainly for S60 devices and S40s devices come with a basic web/xHTML browser. They also have a line of devices running Maemo which is a Linux-based OS but with the introduction of Windows Mobile 7 (and dumping of Symbian), it remains to be seen which way this will go
RIM Blackberry browser While the user experience of Blackberry’s web browser has never been good compared to iOS or Android, there are still a lot of them out there issued by companies to keep employees contactable. Also, many users have installed Opera Mini browsers to get a better experience.
Samsung Android browser/Mobile IE/WebKit Samsung produces Android, Windows Mobile and Symbian based handsets. Hence the browsers are the Android browser, Mobile IE and WebKit browsers accordingly. With the Galaxy S I/II/Tab and Nexus S it would seem that Samsung is investing heavily on Android
Sony-Ericsson Android browser/Mobile IE/WebKit Sony-Ericsson (like Samsung) produces Android, Windows Mobile and Symbian based handsets.
Motorola Android browser While in the past Motorola has supported several OSs, lately it has focused primarily on Android.
LG Android browser/Mobile IE LG produces Android and Windows Mobile based handsets. It also has 2 Symbian based handsets but has focused more on Android/Windows Mobile lately.
HTC Android browser/Mobile IE The original Google Nexus was from HTC
Android Android browser While Google is not a handset manufacturer, we included this here as it has become a key player as it now supplies many handset manufacturers with a good OS for their hardware. Besides Samsung/LG/Motorola/Sony-Ericsson, other players include Dell, Huawei, ZTE and a host of smaller handset makers based on the MTK chipset.
HP/Palm webOS browser

However, in the last few years, there have been a number of players who have come into the browser market – some examples of this are Skyfire, Firefox for Mobile, Opera Mobile and Opera Mini and UC Browser (among others).

So how are the various browsers identified?

Each browser sends a different (with exceptions) User-Agent string with each HTTP request as part of the HTTP Header. Mobile-phone-specs.com has a pretty good list of mobile User-Agent (or UA) strings. Just browsing the site gives you an idea of just how many there are out there in the wild!

If you take a look at the list in detail, you will also notice what seem to be duplicates. For example, a Nokia 5800 XpressMusic may have the following UAs:

Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/52.50.2008.24; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1/21.0.015; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413

The reason for this is that for a given device model, there may be different versions of the browser due to various updates of the firmware of the device.

How do we know what hardware support exists for a given handset model?

In other words, what are the Device Capabilities (or DevCap) of a particular handset model.

The answer is UAProf or User Agent Profile. In a nutshell, this is a XML detailing what hardware support the device model has (eg. MMS, mp3, png). The XML follows the RDF format and is usually published by the handset manufacturer. To simplify the classification and searching for UAProfs, the WURFL project was introduced. Some folks have taken the WURFL data and created very useful sites for developers who want to find the device capabilities eg. uaprof.com.

Of all the device capabilities, the screen dimensions is probably the most pertinent to Mobile Web developers. In Programming the Mobile Web, Firtman puts it in a very nice manner:

Classification Dimensions
Low End Devices 128×128 pixels, 128×160 pixels
Mid End Devices 176×220 or 176×208 pixels
High End Devices 240×320 pixels
Touch enable high end devices and Smartphones 240×480, 320×480, 360×480, 480×800, 480×854, 640×960 pixels

Leave a comment

Filed under Mobile Web, Terms and Concepts

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s