Exposing the crippling solution used to detect iPhone and iPad models
For the latest instructions on how to detect Apple iPhones and iPads please refer to this blog
Device Detection is among the best techniques available to optimise websites for multi-screen. The power of the web server and the web browser are both utilised to deliver the most appropriate processes and screen layout for each device category. When combined with Responsive Web Design (RWD) the resulting improvement in user experience leads to visitors staying for longer and spending more.
Apple are Different
Device vendors as varied as the mighty Samsung, to brands like Pantech and Micromax all recognize the importance of supporting this distinction between devices. Information about the model of the device is embedded into the data sent to websites. However, Apple do not fully support this approach.
As a result, a more complex process of identifying Apple devices is required by device detection solutions like 51Degrees. Measuring the ratio of screen height and width, plus examining the pixel density provides insight into the iPhone model. It reveals most of the important information needed by website owners to differentiate by screen size.
However, the technique is not without its problems. Detailed examination of Apple iPhones and various web browsers by the 51Degrees data analysis team shows that an iPhone 6 plus in zoom mode shares the same reported screen information as an iPhone 5. Where screen sizes are similar such as across the 5 and 5c it's not possible to tell the devices apart.
The technique does not work for iPad's where the reported screen information is almost identical across most models.
Desperate Device Detection
Some device detection solutions have tried to address the problem by artificially stressing the iPhone or iPad to determine how quickly its processor can complete iterative tasks (Micro Benchmarking). Understanding how the device performs under stress provides an indication as to the CPU used and therefore the model of device. The approach can yield more information but ironically at the expense of user experience as the page load time increases and the battery is drained more rapidly.
Competitors who adopt this approach acknowledge up to 100ms processing times. In reality on older models, the delay could be much greater. The concept is terrible in theory and awful in practice. 51Degrees have never used this approach. We choose not to. A full technical analysis covering all Apple iPhone and iPad products and all the major browsers (at the time of publication) is available here.
Request to Apple
If every web site were to stress iPhones and iPads to gain model information the web would slow down for Apple users. This isn't in Apple's interest. Fortunately, only a minority of device detection solutions currently utilize stress testing.
The need to use such techniques would be eliminated if Apple were to make a very simple modification in a future update of iOS and provide the information they already provide to application developers to web developers. Such a move would bring Apple into line with all other major device vendors.
In the past when most iPhone's and iPad's shared the same screen information the problem was annoying but not critical. The arrival of the iPhone 6 has made the issues more pressing. Perhaps Apple have not considered the need to change their policy. Now would be the time for Apple to do so before those less responsible than 51Degrees slow down the web for Apple customers.
All code and methods shared in our blogs are only relevant as long as Apple do not block the information that can be accessed.