J2ME device features recognition

Manufacturers of mobile devices and operators are not always good at providing device descriptions. When they are kind enough to provide them, they often provide them the way they like it. Sometimes it’s a webpage, sometimes is a PDF, sometimes a spreadsheet. Nothing bad, but they are all in a different format and most likely provide different info using different metrics and level of detail.

For these reasons, a number of J2ME applications have appeared to try to track device capabilities and try to put them all in the same grid in the same format.
Going back to my memory, I think the first of this kind that I saw was JBenchmark. It’s been around for a long time and certainly lists A LOT of devices, probably the site and resource with the highest number of J2ME devices. It’s amazing how many devices were tested and how many features. It checks for MIDP 1.0, MIDP 2.0, 3D, audio features and more. Device features are sometimes in integer numbers (such as screensize), boolean (library support) and “stars”. Yes, stars, which means that the feature in question has a vote about it’s performance. Votes range from 0 to 5. This is very good if you want to know which device is better.
The bad part is that you don’t know the real results of the tests. Since they are shown as stars, you will not know the real results.
The software is not open-source, as far as I know, and this means that nobody except for the JBenchmark team, knows for real what it’s measuring and how.
Data is provided by users. Kind people that downloads the MIDlet, runs it and uploads the data to the server (automatic). All results and balanced and the final result is an average of all the results received from users. Quite a good idea, I think.

Next comes to my mind TastePhone. It’s an open-source MIDlet developed by a very good French student. He developed it for a school project, but then kept it going on his own. Really nice MIDlet. The concept is the same as the one from JBenchmark, you download it, run it and upload the results on the main server. The pros are that the MIDlet is open-source and all the results are available from a web page. The cons are that the development stopped a couple of years ago and while the server is still up and running and receiving updates of data from time to time, the development of the software hasn’t had any progress. This was a very good start, would have been good to see it progressing, even as part of other projects.

J2ME Polish has been running for years now. In two words, it’s an open-source framework to develop J2ME MIDlets running on a lot of devices (hopefully ALL). Part of the project is, obviously, to collect device descriptions to be able to optimize MIDlet builds to single devices or device clusters.
Originally developed by Grimo Software, J2ME Polish included SysInfo into its standard release.
Just like TastePhone and JBenchmark, SysInfo is a tiny MIDlet that you download and run on your device and it tests for capabilities. You later see a report and can provide the data to J2ME Polish (or keep it secret if you are so selfish!).
The MIDlet hasn’t seen much development in a long time now and does not provide the ability to upload the results to a central server.
As far as I know, a lot of work is supposed to happen, but I have seen no updates in more than 1 year now. Too bad! (browse CVS here)

So the reason why I originally thought about writing this article is because I found a new kid on the block. All the above softwares have been around for quite some time. A few days ago (I would say a couple of weeks) I stumbled on this site called Mobile Zoo. The site provides a MIDlet that you can download on your device, run it and it uploads the results to the central server.
I downloaded both the MIDP 1.0 and MIDP 2.0 version on an old Nokia 3120. MIDP 2.0 did not even start (as expected), MIDP 1.0 ran for a few seconds (5-10 I’d say) and then started trying to upload the results to the server. Unfortunately the upload never worked. I checked the configuration and it is supposed to be correct. Too bad it did not work.
Apparently, according to the site statistics, they have a lot of contributions and recorded a lot of “device DNA’s”, as they call them.
As per JBenchmark, the MIDlet is not open-source, but the data that is collected is pretty standard, and don’t need much comparison as with the “star-system” of JBenchmark.
I am not a J2ME developer, but I have to admit that I had never seen this site and I had never heard of DSEI, the company behind it.
They apparently provide API’s to developers. If you have any experience with it and would like to share it, you’re welcome.