I like WURFL, but I also very much like the idea of the manufacturers themselves keeping their own handset profile XML files up to date. I ran across this again while looking at a Nokia XHTML-MP document and did a Google and found this great UAProf resource over at Source02:

A list of the locations of all the available Nokia Devices'  UAProfs is at

Available at<dev number>/<release number>.xml  eg for the Panasonic GD87


Sagem UA Profs are stored at<id>.xml eg is UA the UAProf for Sagem-X3

All the available profiles are listed at and

Stored at for example Sharp GX-10:

Stored at Siemens<device>.xml  For example, Siemens S55:

Other Resources (you may need to register at some of thes sites)
Introduction to User Agent Profile from Nokia   
Openwave developer resource about UA Prof.

DELI it is an open source project available from that that allows Java servlets to resolve HTTP requests containing delivery context information from CC/PP or
Technical Report from HP about technical detail of UA Prof and C/PP

These sites seem very up to date. Here's an example of Nokia's 7610 profile document. It's in RDF (urgh) but it seems quite complete and very accurate. I know that Cocoon uses DELI, and I know that Cocoon is used in production at Vodafone and other big mobile carriers, so this is something to take seriously. The combination of real-world usage and the fact that the manufacturers themselves are maintaining these documents is really quite compelling, no?

Now the question is, "How do you use these damn things efficiently?" Think about a website getting hammered by thousands of handsets per minute. I'm going to have to have some big-honkin data-structure in memory and check against it for every request - or at least per session. It seems like a great way to slow your mobile website down to a crawl. I guess I'll have to look at how Cocoon uses DELI and see if there's any secrets to learn there.


< Previous         Next >