20.04.2008
by Esa Turtiainen
tags: SyncML IMEI

The next big thing will be syncing.

Who wants to do things differently on-line vs. off-line. It is enough to have the data synced everywhere where you need it. Why to to have 100Mbps connection to home. To watch 1000 Youtube videos at the same time? Or - to sync your off-line collection or music and videos as fast as possible? It would be nice to have a copy of important files at three differenct places. But which one of the copies is up-to-date? | The reality is still quite far from promise. Syncing is very difficult to configure. And if you make an mistake, you very likely lose all the copies.

It seems that mobile phones are still quite a horror story. My operator has an SyncML server and it is possible to sync your calendar and address book there. It turned out that I could sync both Mozilla Thunderbird addressbook and Mozilla Sunbird calendar to that server. So, the promise is to automatically sync my calendar between phone, my home computer and my laptop. Added bonus is that all this happens whenever they are on-line but they don’t need to be on-line at the same time.

Now it mostly works. It took hardly no more than 10 hours to get it to work. The problem is that the operator SyncML server requires that the device id of the client is configured to the server. This device ID must be exactly the same string as the client tells to the server when it connects. That is very badly documented.

3G Mobile phones give their IMEI code as the device ID. You can see that by pressing *#06# in your 3G phone. My telephone reported something like IMEI 12345678-123456-1-12.

Sadly, the obvious re-writes of this string are not the exact string what is used as the device id. I tried all the combinations of IMEI, IMEI: and without string IMEI. The form IMEI with colon was in an example of SyncML standard. However, after some more reading of IMEI standard it turned out that the two last digits are not likely needed. So, the working form with my SonyEricsson mobile phone was my trial number 17: IMEI:123456781234561.

The same difficulty continued with the Windows clients. I used the Funambol add-on to Thunderbird and Sunbird. You have to go to Windows registry to find out what the device id is. And it is different for each application.

I still have to figure out where the configuration is in Linux. The problem to solve first is that the Ubuntu Sunbird is so old that the new Funambol add-on does not work with it. I have to manually install newer version or wait for some time.

And the big challenge to solve is to sync Google calendar with these other calendars. It should be possible to solve this with Ubuntu Cron and command line Multisync package but I am still working on that. I have found also some commercial packages to do that but who wants to use them when you can spend time with these free alternatives…