Thinking more about the IP/Country database that I found recently, it reminds me of the frustration of the quality of open data on device profiles. The problem is that when a browser hits your site, how do you know what it can do? Is it a phone, PDA, or a desktop browser? If it’s a phone, how large is the screen, and most importantly for Skweezer, how much data can it handle before it chokes? For non-mobile sites, there are tools such as Browserhawk that can help you determine what your visitor can and can’t do, but the mobile solutions for this are pretty bleak. Microsoft has half-heartedly tried exposing mobile browser capabilities, but this has historically been problematic, and going forward won’t do us much good on the mobile side anyway.
The best freely available all-in-one solution right now is an open data repository called the Wireless Universal Resource File (WURFL) which is maintained by volunteers. The WURFL is an XML file of user agent strings. By matching the UA header to the XML, you can get a lot of information about the device. Many phones send an extra header that points to an XML file somewhere that may or may not be right (UAProf), and the WURFL people have done their best to remove errors from this manufacturer-supplied data, but this task is sisyphean. The trouble is that devices and mobile browsers are coming out all the time, and if it’s not in the WURFL, you’re blind.
On one hand, we don’t want to be in the business of maintaining a user agent database. On the other hand, I don’t see how we can avoid it.