WURFL position paper for W3C Workshop 2006, July 2006

Luca Passani & Andrea Trasatti


At the end of 1999 the first WAP phone was launched in Europe, followed by many others in the following months. By 2001 it became clear that WAP devices exhibited significant differences in the way they handled WAP content. The implication of this was that mobile developers had a hard time supporting an increasing numbers of devices: cost of application development, cost of testing and, last but not least, the cost of the very devices made WAP development unbereably expensive as compared to web development. It did not take long before some developers realized that they could leverage the open-source model to come to their own (and everyone's) rescue. Openwave's Luca Passani and Andrea Trasatti, an independent consultant, united forces and gathered a community around a shared repository of device capability information. WURFL, the Wireless Universal Resource FiLe, was born.

WURFL is now 5 years old and it is still growing. The WURFL format is simple: you have a big XML file that collects all the data. The choice of XML was consistent with the basic requirement of making the repository simple and extensible. In addition, XML has made it simple to build APIs to access and manage the repository on a variety of programming platforms.

Design decisions for the WURFL device repository have been a winning choice: over the years the project gained many followers and supporters from different geographical regions and with different backgrounds. The first basic API was in Perl. Java and PHP libraries appeared shortly afterwards, soon followed by a better Perl version, Ruby, and, more recently, C#, Python, XSLT and C++.
Today, mobile companies can download WURFL, deploy it and have an adaptation framework ready in a matter of hours. Once again, the simple structure and the offering of different libraries is one of the main reasons behind the success of the project.

Given the growing number of users and contributors and the growing number of technologies that showed up in mobile it was only a matter of time before WURFL also covered new areas in Mobile: started as a repository for information about WAP, WURFL now lists capabilities about xHTML, i-mode, image formats, downloadable content (such as ringtones and wallpapers), video/audio streaming, messaging and J2ME. The project has grown a lot but the structure has remained the same and this certainly demonstrates that the original concept and design was sound.

As of today, WURFL contains more than 400 different capabilities.

The repository, the libraries and the software that was built around it is currently used by tens of companies (such as Telefonica I+D, DADA, Siemens, Vimpelcom) and online services (such as Pepsi and T-Mobile), just to name a few.

The Future

The WURFL team was already part of the first charter of the Mobile Web Initiative, both the Best Practices WG and the Device Description WG.

If W3C wants to go on with an implementation phase of the Device Description project, WURFL has obviously a lot to offer to the industry in terms of:

It should be clarified that WURFL is a self-sustained reality which does not depend on W3C nor other organizations in order to finance and guide current and future developments.
Having said this, the WURFL team ackowledges that W3C could give a contribution to making access to Device Description Repositories a standard, when done properly. This would be consistent with WURFL's ultimate goal: making developers' lives simpler. For this reason, the WURFL team has chosen to partecipate. We believe that our experience can be valuable in the requirement definition and implementation of what was identified in the past charter.

The new repository needs to offer everything that WURFL offers today in terms of functionalities. Our aim is to create a common DDR interface to query, update, extend and share device information.
We also acknowledge that commercial DDRs need to differentiate from WURFL to justify the cost for their platforms. In our view, such diffentiation should be achieved in terms of:


We will not support any requirements that would make it impossible for WURFL to comply because of its open-source model.