Device Detection

Device detection means that when a user visits some web page the type of device the user has is detected. Without device detection same content is served to every device.

When a device makes a request through http protocol it sends header information with the request. This header information comes in tens of different fields. The most important fields for device detection are http-user-agent, x-wap-profile and accept headers. Device detection would be an easy task if all devices would conform standards correctly, however many devices lack proper data or have false information in their headers. Some devices have proprietary header information and some header information might be removed or changed by a proxy. These abnormalities makes device detection constantly changing problem and a difficult task to cope with.

Device detection can be done in several stages during content delivery. Most common ones are network proxy, server and content. When done in network proxy the owner of the content can not affect to the detection. The proxy can for example modify header infromation, scale images, change web site structure or even rewrite requested url without knowledge of the owner of the content. The proxy can even pretend to be a different device than the original requesting device and send false header infromation to content server. Relying to a third party such as network proxy to enable good user experience is risky and often leads to unwanted results.

When done in server side where the content is located the owner has the ability to choose how different devices are handled. This of course leaves the owner of the site more room to affect to the user experience and to generate targeted content to different devices. During the last few years mobile advertising has grown and publishers have created dedicated content for mobile devices to be able to show dedicated adds to mobile web users. A server side device detection is often used with such a web sites.

Device detection in content means some kind of script which is executed in the device before the content is shown to the user of the device. The usual case is a javascript which redirects certain devices (mobile devices) to another web site. When device detection is done in the end user's device it is very error prone. Different devices handle scripts differently and the result might be unwanted. When done in the content the server also have to send same content to each device. This creates longer download time to mobile web users and worsen the user experience. Beside longer download times leaving detection for a script also makes it impossible to modify content along devices features such as screen width.

Movila Detection is a product which handles device detection efficiently and reliably.