Mobile Device Detection
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.
- ID (PK)
- DATE / TIMESTAMP
- USER_AGENT (VARCHAR 4096) but with a pretty high max as user agent strings are freeform and contain a lot stuff)
- FEATURES, as <key=value> pairs separated by a comma, maybe as TEXT so we can arbitrarily add more features in the future without ALTER TABLE statements. Maybe we should store is in JSON format.
- IP Address (maybe), strictly not necessary but could be nice to track adoption of new devices and see what devices are where popular (also as a workaround for the HTTPS issues that are making it hard to do geocoding)
- X-WAP-PROFILE headers, in particular 4 headers are currently used:
- Other potentially useful X-headers include:
Maybe we want to capture all X-headers as they are so random and it is hard to predict which ones are useful.
Mobile Device Features to DetectEdit
- Available Height
- Available Width
- Color Depth
- Pixel Depth
- Local Storage
- AJAX xhr type
- Manipulate DOM
- Manipulate CSS
- Support events
- Cookie support
- File upload
- Vendor (navigator.vendor)
- Platform (navigator.platform)
Mobile Device Features Not Possible to DetectEdit
- Probably Media could be another section, separate from HTML5, with audio, video, graphics.
- Java/J2ME version
- Version of JS and CSS
- External storage, Phones typically have a maximum size of SD card, if they support external storage.
- Processor, speed and internal memory
- 2G, 2.5G, 3G, HSDPA, 4G
We might want to use (a subset) of modernizr.js