PHP 5 penetration

A couple of days ago I met with Julien. We talked about many things, among which, PHP. I remember talking with him about PHP 5 about a year ago, so I asked if he has started doing any work with it as I haven’t even tried it since it came out. He told me that he hasn’t ever used it for a real project.

Not that I read hardcore PHP developers forums, but I have heard of very few developers using it. We started wondering about the success of PHP 5 and why developers should move from version 4.

The conclusion was that probably PHP 5 did not introduce those features that make a developer move from a major version to another.

Today Julien sent me a report about PHP 4 and 5 usage, installed versions and so on. Take a look and you will see that servers running PHP 5 are still a big minority even if it has been released in July 2004!.

Seems like a big failure.

“Detecting Enhanced Devices” according to Cingular

I was reading an old email from devCentral and found a link that was supposed to described how to detect enhanced devices. It seemed quite interesting.

The passage (seemed more like an FAQ) was pretty disappointing.

I think that parsing the accept headers is not enough, unless you think that a device that supports XHTML is an enhanced device. To me, an enhanced device is a device that supports images, colors and has a big screen. A stylus is a big plus, of course.

WURFL is certainly a much better starting point than simply HTTP headers.

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 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!

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.