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!

Hiring from open-source

Reading Chris DiBona’s blog I found this interesting post on another blog.
Reduce the risk, hire from open source (Loud Thinking)

I think it makes some very interesting points.
Working on the WURFL project has taken a lot of my time, both working time and spare time. Sometimes most of my spare time and none of my working time.
I am sure this witnesses my passion into the project itself, programming and the mobile world.

Working in the WURFL project brought me some really interesting contacts, of course and hopefully this will be reflected in more opportunities in the future.
My current contract and the last 2 years of my working time have happened thanks to WURFL and the contacts that it generated.

Often the interview was really a few minutes and something like “We want to do this and that, can you do it?”.
Sometimes I was surprised by how quickly this happened and how people wasn’t really much interested in my CV. I think this also confirms how CV’s can sometimes not mean much (both on the good and the bad side).
I wonder how could you understand if someone is good at programming or has good analisys qualities in a 30 minutes interview.

RSS feeds a-go-go

RSS feeds have been available for quite a while now.
As an old timer Opera user, I have always believed that setting a number (5-7) of homepages would bring me to the sites I visit most often. Then I would browse from there.

Lately RSS feeds are more and more common so I eventually decided to give it a try. I downloaded NetNewsWire (for Mac, of course!) and this was the beginning of the end. The software (unfortunately) includes a HIGH number of feeds. Of course I subscribed to a bunch of them PLUS all the pages I regularly visit. Now I have about 100 news to read every day and if I don’t read them regularly they GROW UP!
Now I’m addicted.

I have to say it’s pretty cool. Some sites offer the full news through the RSS, some other will give you a short description and then you may read the full news on their site. Both solution are cool to me.

It looks like many people likes this new way of staying informed… And probably I’m one of the last geeks to discover this “new technology”.
Anyway, going back to the wireless business, a couple of people already started to port this “new technology” to the people on the move.
Here are the links:
pixs.jp
www.ifeedyou.com

In my previous post I talked about Marcus. He’s the author of pics.jp.
Jérôme Chevillat is the author of Ifeedyou and uses wurfl for the multimarkup rendering.

Both services let you read the news title and the short descriptions, the problem arises when you need to read the full article. Maybe while you’re on the move you don’t need to read the entire article. Too lengthy texts might not be so comfortable to read on a normal device like my V3.

How much does WURFL take?

These days I spent some time reading a post from Russell Beattie about Mobile Research and the replies that followed. I have in some way already posted about it.

Later replies also made me think about the time that I invest in WURFL. While sometimes the project might seem dead or silent, I constantly work on it and Luca Passani does the same.
Initially the project was just an idea, collect the data that the few readers and writers of wmlprogramming were already storing. At that time we were not so many and basically we all were developers experimenting this new technology trying to find our way out of the “quicksand”.
After Nokia’s ringtones (strictly monophonic) and after all the other manufacturers understood that personalization would have brought money, more companies and people started minding about “device capabilities” and of course new developers joined the wmlprogramming mailing list looking for information about devices and support. More technologies have arrived (MMS, EMS, J2ME, etc) and WURFL kept growing in size, contributors and most of all users (users that often don’t contribute back, but the few that do keep the project alive).

Luca and I started to feel that the project was growing when the number of emails about WURFL on wmlprogramming and most of all emails directed to us personally started growing a lot.
Today I was wondering about the time I spend on the project. A rough count is that I spend about 60-90 minutes per day replying to personal emails and emails on the list.
Aside from this I spend a few hours per week, I would say an average of 3-4 distributed during evening and weekends, mostly importing data in the XML. I think I reach peaks of 10-12 hours, sometimes.
I am sure developers supporting WURFL are also spending some extra time just because they think it’s a good project and they think it can help other people as it helped them. This is why I respect anyone who sends me an email and always try to reply quickly and fully.

Who is using WURFL? While many think it’s just an “underground” project, there are indeed some big companies using it. Sometimes they won’t tell us because they don’t mind, some other times they will consider it an “industrial secret”, some other times they might be scared we will ask for money. What else? I am sure there is someone in some big company that users WURFL and is pretty satisfied with the results, but won’t tell it too loud just because it’s a big company and knowing that it uses something free instead of paying a lot of money to some big company that SELLS software and consultancy would not be good.
Why am I not asking for money? There are many reasons, here’s an unsorted and incomplete list:

  • I take advantage of many other open-source software so this is my little contribution back
  • WURFL was born as a collaborative effort and should continue that way. No one invested fresh money in it, if not his own time, but this is also one of the reasons why it was successful
  • In the last 2 years I got contracts ALSO because I work actively on WURFL and companies hiring me were HAPPY that I dedicated some time to project
  • I don’t think that selling WURFL (intended as the XML) would really give me much money. I think many people (probably not understanding the difficulty) would say that anyone can collect data about a device. What could give money would be some added value. It is funny when sometimes I receive emails of people asking me to develop some software for them. Do they think that just because I work on an open-source project, working is a hobby, for me?

There are probably many other small reasons why I do this, maybe also the dream of a worldwide fame, going on TV, being interviewed and so on. But probably this is too far away, I should have done something more popular, like eMule or Napster…

MobileResearch in the news

It looks like MobileResearch (a startup company?) has gotten quite some good friends on the net. They are presented as

“the first commercially available solution that provides mobile developers and content publishers the data they need to address the problems associated with mobile device fragmentation”

on their site, here, here and probably on many other sites.
They certainly have a great marketing team and I’m happy to see that more and more people realize that knowing what a device can do is really important.
I am not saying that WURFL is better (or worse) than their product, I haven’t seen it. The good thing and probably their advantage over WURFL is that it’s specifically targeted for the US market (but it looks like they will deliver something for the European market later this year) and WURFL hasn’t had that many contributions from the US market. We have recently (the last 2-3 months) started receiving contributions from the US, this means that they are eventually understanding and feeling the need for such database.
I am sure the guys at MobileResearch have worked and ARE working hard on their project, but you will all agree with me that it’s a great marketing-ONLY statment the fact they are the first… It’s true that WURFL is NOT a commercial product, IT IS FREE! On the other side it is also true that there are other really valuable and EXPERIENCED companies offering similar products. The question is:”Are they as well trained and are they targeted to the US market?” Maybe they have worked hard on the GSM/European market and don’t have much information about US devices. Audiovox devices are not being sold in Europe. There are many devices from Sharp and Sanyo being sold in USA only. Danger is another one, and I could list more.

I just wonder how much marketing is behind this software and how much “substance” is behind the product.

Knowing that more people is working on something like WURFL just confirms the value of the project and seeing that they ask you almost 30.000,00 USD makes me understand the monetary value of WURFL.

I wonder were WURFL could go if people donated some money or time or resources.

PS: while writing this post I noticed they are also putting banners on Google.

WURFL + J2ME

We have eventually reached the final stages of the new J2ME structure in WURFL.
It really took way longer than I thought, but thanks to the guys at Telefonica I+D we now have a tool to import new data an updates from the J2ME Polish files and can of course apply our own patches.

Considering the long time it took I have also added a ton of new user agents and device information. I also have a long queue of UAProfiles that were processed (thanks to Zev’s tools) and are waiting to be added to the main WURFL.
Things are really growing and something is happening. Contributors continue to grow and I receive emails from the stranges places of the world.

The new release will include more than 7000 user agents and 1000 recognized real devices.

What is needed to WURFL to beat the competition? We needed testers and contributions. We needed developers to let us know what they find out about devices. I know that everyone is buying Nokia 6230 and SonyEricsson V800 because those are the ones that sell well, but I also know for sure that each of us has some funky phone and we need to tailor it well in WURFL.

Do you have information about behaviour of Teleca browsers? Know about Samsung and LG devices? These are the information that is hardest to find.
Thumbs up to SonyEricsson that eventually produced a document that details differences among browser versions and names the browser version in the user agent!
FYI: the document name is “dg_browsing_r3a.pdf” and is included in the package named “dg_browsing_mar05.zip”. Any newer version from the SE developers’ site?

If you want to get the latest WURFL, get it from CVS and start testing!

An article about WURFL and J2ME

WURFL on the web. It’s nice to discover that other developers from around the world appreciate your work.

Marcin from Poland sent me an email to let me know that he wrote an article about WURFL and how to build a J2ME download application. He also developed an open-source library for this.

Here you can find the article:
http://www.j2me.pl/?p=30

Thank you Marcin for letting us know.
Sorry, the page is in Polish only, I could not find an online translator for the entire page.

new J2ME in WURFL

The new group and capability list about J2ME is now ready for public testing. An updated XML was uploaded to CVS and you are welcome to test it (also note the new device info) and to comment.

I know the data in not yet complete, I’m still working to import all the information that was stored in the old format, but most of the data is in and thanks to J2ME Polish and Telefonica I+D we have a lot of new valuable info!

I need some more time to update the device info, but I still lack the “extra time” needed. Unfortunately we are late adding new devices. If you want a new device to be added and have the basic XML knowledge needed, please send the XML over ready so that I can simply copy and paste it into the WURFL.
Take a peek at the ruby tools that provide an easy method to generate the XML from a UAProfile.