There’s a great article on Smashing Magazine to help clarifying on this complex topic of device detection, and most importantly of device “capabilities” detection. Even very senior developers and designers often fail to adopt the right practices in leveraging device detection for responsive design or progressive enhancement. Quote:
“The expansion of the Web from the PC to devices such as mobile phones, tablets and TVs demands a new approach to publishing content. Your customers are now interacting with your website on countless different devices, whether you know it or not.
As we progress into this new age of the Web, a brand’s Web user experience on multiple devices is an increasingly important part of its interaction with customers. A good multi-device Web experience is fast becoming the new default. If your business has a Web presence, then you need fine-grained control over this experience and the ability to map your business requirements to the interactions that people have with your website.
Drawing on the work of people behind the leading solutions on the market, we’ll discuss a useful tool in one’s armory for addressing this problem: server-side device detection.”
I agree that the proper way to do it is to do it on both sides:
=> Server-side detection is fast and fairly reliable, it’s smart and scales for high traffic sites, and coupled with the right device database (Wurfl, Device Atlas, Netbiscuits) it allows unique server side content personalisation and UX optimisation.
In my own experience, what I gather from the market and from our customers is that server-side device detection is critical to unleash the full power of content and feature personalisation, in a progressive enhancement approach (as opposed to just responsive design maybe).