WURFL means real money

WURFL is an open-source project and it has been running for about 5 years now. Initially it was a common effort of a few developers around Europe willing to share some information and save some money from buying every phone on the market.

Later it turned into a very valuable information source for anyone in the mobile space from anywhere in the world.

Today is the de-facto standard for anyone that wants to build a mobile solution in-house.

How much does WURFL cost? It is still entirely free. The main XML includes devices for 1999 to 2006 (and 2007 soon!). The free libraries range from PHP to Java, Ruby, python, .NET, etc. Basically any well known programming and scripting language.

What do you need to start? An idea and One or more programmers to turn your idea into something real using the tools that WURFL provides.

It looks like there’s someone with an idea and looking for an experienced programmer: J. Edgar and associates, a recruitment company. I just found a post about a job opportunity in which WURFL is a requirement!
The yearly payment is not bad at all, 90.000+ dollars. It is not clear to me if it’s US dollars or Canadian. Anyway it seems like WURFL programmers are very well considered.

WURFL 2.0.3 is ready

I just pushed on sourceforge and on the main WURFL site a new wurfl.xml.

The new file is ready to download. It took a few months to have an update, but it was worth the wait. We added a lot of new user-agents and device descriptions.

Notably I did a lot of work with my friends from DADA to add a lot of information about Verizon devices. We now list all the approved mobiles have real user-agents for most of them and also list the unique id’s that Verizon assigned to them. This means that we also list those strings that Verizon uses with its MM7 gateway!

A new capability is also available that will tell you if an XHTML device also supports file upload via WAP. Very useful, isn’t it?

WURFL 2.0.3 can be downloaded. Take it while it’s fresh!

Tera-WURFL

More than 4 years ago I developed the first library to parse WURFL. Initially it was only a PHP file that parsed the XML and created an associative array.

Later I added a class to also search a device given a user-agent and get capability values for the user-agent. With the growth of WURFL, caching was needed to try to speed up the search and retrival of data.

My WURFL PHP library has a very minimal set of requirements, PHP and XML support compiled in. This is something that I never wanted to change during these years to make sure that ANYONE could download and use it.

I am happy to announce that more development has been done on top of my original library and that Steve Kamerman, the author, has achieved great performance results with his new library.
The new library uses MySQL, so a new requirement is added. For this reason I will keep my library as-is, but still, if you have a database available and want some good performances, then I suggest you take a look at Tera-WURFL.

It’s worth visiting the links presented below to see it in action.
There is a test page that lets you see how user-agents are matched and some speed test.
Also, since Tera-WURFL uses a database you will need to update it when a new XML comes. Steve provides a nice admin panel to manage the script and data (don’t mess up with it too much!).

So, once again, congratulations to Steve for his huge work and great new library.

WURFL survey results

First of all thank you everybody for taking the time to answer our little survey. All the data that we have collected will help us to improve the project in the near future.

It was really flattering to see that more that 50% of the respondents think WURFL data deserves a 4 out of 5, 10% thinks it deserves a 5 and 30% a 3. This means that all respondents thinks WURFL is pretty good.
We know that in the mobile space there is a huge variety of devices, browsers and different capabilities, so not only is important quality, but also quantity. It seems like the respondents agree that we are covering most of their needs as the unsatisfied are just 5%, the remaining 95% is happy with what WURFL provides and 23% rate it 5.

It is interesting to note that most users download the official XML when it is released (54%), but then 41% of the users need to patch data with their own information. This means that probably WURFL could be updated more often and that these users should try to contribute more regularly with their data. In fact, from the open-ended answers, we can see that a lot of developers are too lazy or don’t know how to contribute. This is something that we can easily fix on our side providing better documentation about how to contribute and how contributions will be used, but we certainly need more support from developers that are doing their own device testing and being too lazy to send the data.

So, what are users doing with all this data? 91% of the respondents use the XML data, more than half uses the API’s that we provide and almost half of the users uses WALL (java 31%, PHP 16%).

And now the final question, who is using WURFL. Well, the bad news is that we can’t exactly say who is using it. The good is that the reason why we can’t say it is because everyone in the mobile ecosystem is using it, from site developers, to content aggregators, news sites, games developers (Java, BREW and online), and R&D divisions. It looks like WURFL is really covering all the bases.

You can download and see the full results here.

WURFL survey

Wether you are a WURFL user or not you should take 5 minutes to answer to a survey that we prepared.

We are looking for some feedback about the usage of WURFL or, if you don’t use it, why and what you use as an alternative.

There could have been tens of questions, but we don’t want the survey to take too long. It should be something quick and not stressful. So, please, take it!

What does it take to write a FAQ entry?

Writing a FAQ entry is not hard at all. Well, first of all you need to have a question, of course and then you need to search for an answer.

It’s not that hard and you certainly know a lot of answers that other people doesn’t know. I think this is the basic principle on which is based Google Answers.

In this case, anyway, I’m thinking about The Wireless FAQ. We brought back the site to life, but if we want it to shine as it used to, we need to collect questions and answers.
I am sure that you know a lot of things about mobile, all you have to do is think to something that sounds interesting or particular, and write a question and its answer.
You know all about downloads? Then maybe you can write something about download methods (OMA DD, Openwave’s DownloadFun, direct downloads, OMA DRM, more), maybe you know all about images, so you might write something about wallpapers and screensavers or about iamge resizing both for downloads and for browsing.
Maybe you know a lot about messaging, we have a section for SMS and another one for MMS.
Are you CSS expert? Well, we need to feed a lot of contents about XHTML, XHTML-MP, WCSS and CSS in general!

First of all you will need to create an account, I’ll give you write access and then you can write everything.
If you’re lazy and don’t want credit for writing, don’t worry, send me the text and I’ll publish it.

Seriously, there is no reason why you should not contribute!

WURFL, what’s next

We just put online an overview of the ideas for the future of WURFL.

This is the result of the experiences, comments and requests that were made in the last months.
We think that it should address most of the possible technical issues that you might have and should also ease the management for me and allow more additions in the next months and years.

Read about it on the official site, here

Comments are welcome and required. On wmlprogramming of course. Or here, if you like it better.

The PHP library will obviously support all the new features one we agree on them and get them in place!

What’s up?

I have been quite for almost a month here. Certainly not because nothing happened, quite the opposite, too many things happened and I could not find the time to post on the blog.

In short, I joined M:Metrics, if you still did not know it. New consultancy, new duties, new things to see and learn, many things to follow. And all the old ones such as WURFL, of course!

M:Metrics is a company that makes measurements and statistics about mobile devices usage. Many techniques are used and many statistics are generated. This new consultancy is very interesting for me, because my previous experience has a great value for them (mobile devices, VAS development and WURFL, of course) but it is also a new world for me as I have never worked in this kind of company. Most of the times I had to generate simple graphics or CSV files that would be elaborated later. So this is a totally new experience for me as we collect data and then we have analysts generating reports about the usage of mobile devices and VAS.
Device descriptions are really important and this is why WURFL is central in my current occupation. You will soon be able to see the results of my current work.

Among the other things, a new WURFL was released.
It’s been 6 months since our last public release, not because we did not do anything, quite the opposite, we did so many things that we always felt like we could do a little more before releasing. This is a BIG update, thanks to our regular contributors and many developers from around the world we are able to provide a new XML with more than a thousand real devices!

This is not all, of course! The Wireless FAQ is coming back and we will need support from everyone to bring it back up-to-date and make useful. Expect a new launch soon.

What about the W3C? Yes, I know, I am following many things all together, but I can’t resist, they are all so interesting. The DDWG charter is almost completed and we are just refining the last bits in the documents. I will attend the Workshop in Madrid and I am in the Programme Committee, which means that I have to review the position papers and proposed presentations.
I am looking forward to the workshop as we received a lot of attention from many big companies (that I can’t name) and I can tell you that it will be very interesting.
All position papers and presentations will be made public after the workshop, so everyone will be able to read them.

Right now I’m in London in the new M:Metrics offices, 5 minutes from Piccadilly Circus. Today is mostly sunny, so a nice day, considering that it always rains around here! 😀
I will be back in Milan at the end of the week. Next week a few days of vacation, then a week in Milan, then Madrid. This is going to be the busiest summer I ever had!

WURFL Patch debugging

The ability of applying your own patches, modifications and updates to WURFL is really important. If you are here reading the post then you probably have already visited the WURFL site and read about the patch file. If you haven’t this is a good time!

As the WURFL evolves and as we add new devices, it is obvious that you might find some conflicts applying your patch file OR it might happen that you patch file is not applied properly.
Something that happened to me just a few days ago (and I actually hit my head on the wall for a while before understanding why) was that we slightly changed the fall_back tree for the SonyEricsson S700 “family”. First of all, why do I say family? That’s because many recent SonyEricsson devices are all the same and change their name slightly depending on the area. For example the S700i is the same as the S700a, the former is sold in Europe, the latter in North America and they are the same as the S700c which is sold in China.
For this reason we have created a “virtual device” so not an actual_device called S700 and then configured the S700i, S700a and S700c to fall_back on it. The fall_back was changed from sonyericsson_401_generic to sonyericsson_s700_ver1 and all capabilities such as screen size and image formats were moved for the S700i to the “generic S700”.

Unfortunately in my patch file I was add some information about the S700i and I was automatically changing the fall_back from to the old one. This way I basically still got my “new capability” but LOST all the device capabilities such as the screen size!
This was really disappointing!

How to verify your patch file?
I just committed to CVS an update to the PHP library. In the wurfl_config.php there’s a new constant called “WURFL_PATCH_DEBUG“, it’s a boolean. By default it’s set to false, but if you need to check your patch file you should change it to true.
When set to true, when applying the patch, the library will generate A TON of logs, but really useful to track changes and updates.
This is an example of what you get:

Fri, 3 Mar 2006 14:46:04 +0100 [Enlighted 1599][parse] Updating device nokia_3220_ver1
Fri, 3 Mar 2006 14:46:04 +0100 [Enlighted 1599][parse] nokia_3220_ver1: setting themes_nokia_s40=1

As you can see, now I can check which devices were updated. I also see if a device was added and of course what was added or updated. In this case I configured that the device supports Themes for the Nokia Series 40.

Now let’s see what it says about the S700:

Fri, 3 Mar 2006 14:46:05 +0100 [Enlighted 1599][parse] Updating device sonyericsson_s700i_ver1 : fall_back, sonyericsson_s700_ver1=>sonyericsson_401_generic,

As you can see it says that the device was changed and that the fall_back has been updated. In most cases you will be happy about this change and you probably made a patch JUST for this. In cases like mine you will not be as happy.

The PHP library also logs any error in the patch file. When turning the debug on you will also get some extra information that should help you understand why the update failed.

Happy patching, then!