Every day consumer electronic vendors fuel the growing demand for smartphones, tablets and smartwatches by releasing new web enabled devices. From the mighty Apple iPhone and iPad to the relative smaller-scale like Gionee, Oppo and Fly, 51Degrees track the post popular ensuring their specifications and capabilities are available for analysis.
For many marketers its essential to know how each device and platform is performing. 51Degrees provide a tool which aggregates usage information from over 3 billion unique web visits per month and shows vendors exactly how their models are performing by country and month. This information differs to sales figures and shows real usage of the web.
Over 1.5 million web sites and businesses including eBay, Unilever, T-Mobile and Microsoft use the information gained to optimise their web sites for different device types including feature phones, smartphones, tablets and big screen laptop and desktop devices. This article explains the simple techniques vendors should consider when releasing new devices to ensure they play nicely with all web sites.
How does 51Degrees work?
The most common method of identifying a device on the web is to examine the finger prints, called HTTP headers which identify the device. HTTP headers include a field called User Agent (UA) which is a collection of characters containing information about the web browser and operating system accessing a website. Many UAs also include information about the hardware model number. Other HTTP headers contain additional information.
Vendors are free to choose whatever UA they wish for their devices. There are no formal standards or governing bodies. However there are conventions that have evolved. Choosing a consistent format is essential.
Here is an example UA:
Mozilla/5.0 (Linux; Android 4.4.4; HTC_0P6B6 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36
Some parts of the UA are of more or less important. Words like Mozilla and Safari are only included for historical reason.
We know that "Mozilla" and "Safari" in this case has no real meaning anymore. The word "Mobile" indicates that this is a mobile device. Additionally, we can identify that it is a HTC device with 0P6B6 model number that runs on Android 4.4.4 and is using Chrome 39.0 to access a website. The User Agent includes additional information such as "Linux", which indicates it's a Linux based operating system. The characters "AppleWebKit and (KHTML, like Gecko)" indicates that it is a WebKit and Gecko based browser.
Most User Agents do not create a problem for browser or software identification, the difficulty comes with mobile hardware recognition. Let's look at the following two UAs.
Mozilla/5.0 (Linux; U; Android 4.2.2; it-it; C50 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; C50 Build/MocorDroid2.3.5) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31
We can identify that both devices are running on Android and have a model number C50. However there is no way of knowing which vendors C50 the UA relates to. Had the hardware vendor placed a prefix in front of C50 to identify themselves the problem could be avoid.
What about mobiles in desktop mode?
Although a mobile version of a website is designed to work faster and be easier to navigate on small screens some users prefer viewing a desktop version to see more details or additional feature that aren’t included on the mobile site.
In this cases, when the UA is constructed it is beneficial that it provides the device model. Let’s look how Amazon in dealing with this.
The Kindle Fire HDX 7” (3rd Gen) User Agent not in desktop mode:
Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; KFTHWA Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.23 like Chrome/34.0.1847.137 Safari/537.36
The Kindle Fire HDX 7” (3rd Gen) User Agent in desktop mode:
Mozilla/5.0 (Linux; U; en-us; KFTHWA Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.17 Safari/535.19 Silk-Accelerated=true
Both of them include model name so we know that it is a Kindle tablet but viewing the page in different mode.
Type Allocation Code (TAC) code and marketing mobile name
TAC is an 8 digits number associate with the model of device. It's allocated by the GSMA to the specific manufacturer and device model. They form a unique identifier for the model.
Some negligent manufacturers reuse TAC codes across different models either to avoid GSMA licencing fees, or due to negligence.
Using a consistent model identifier in a format that is unique to the vendor consistently across TAC registration, User Agents and requests from native applications for the model identifier will help the vendors devices be consistently identifier across all platforms.
Tips for Device Vendors
The following tips should be considered by device vendors:
- Use a model number format which is sufficiently unique to avoid confusion with other brands. The format BRAND-MODEL works well in most cases.
- Use the same model number across all elements of configuration including methods used by native applications, TACs and UAs.
- Publish information about your UAs and device models consistently on your web site. Treat the UA and model information as important fields in your product catalogue.
- Provider different UAs for differnt modes of web browsing. For example; to request a desktop version of a web site add an identifier to indicate this is the users preference.
- Follow the established format for each browser vendors UAs.
- Don't pretend to be a device you're not, like an iPhone. This only leads to disappointment for your users when the experience doesn't work as intended.
- Avoid overly long UAs with additional verbose information.
If you are a Vendor and you would like to know more how 51Degrees can help deliver better user experience for your mobile devices, or arrange a free consultation, please contact us.