Nice article, but with responsive sites and 1080p phones, the user agent check isn't going to stay here too long.
This is really the kind of thing the User Agent string was supposed to clarify, but it's gotten mucked up with other issues. We really need a new set of HTTP variables that explicity specify whether a device has a mouse or touch screen, the general screen size, and the general CPU/Memory situation (cell phones and tablets generally can't handle heavy scripting. Google Docs, for example, is painful to use on an iPad.)
The thing is: there are really 5 classes of screen now: WAP screens, small smartphones, small tablets, large tablets, and PC's, and that doesn't even address the issue of scripting. Sites like Gawker, for example, look fine on an iPad, but fail miserably when entering messages. In fact, my ipad barfs when trying to respond on these forums. (We really need a simplified input interface for tablets and phones.)
Modern web sites need to take all of these things into consideration. Personally, I think we need some new HTTP variables to take this into account:
- Screen Size: WAP (text and images, no CSS or JS), Mobile (2-5"), Tablet (5-10"), PC (10+")
- Pointer: touch, mouse, none: this should disable "rollover" behavior on menus. I still see web sites that use rollover menus and are completely inaccessible on tablets.