A long long time ago when I bought my Ericsson R320 2nd generation GSM phone (with Bluetooth but no GPRS) there was this great standard which I had read about. SyncML was its name and its promise was the ability to sync with almost any type of PIM (personal information management) client and storage. Up to now its been a bit of a yeah yeah some time soon. I know Apple have done some great things with iSync which runs on SyncML but elsewhere we still got crazy sync methods which require propitery software and hardware. For example my PocketPC only talks to Activesync, which in turn talks to Outlook 2003 on my machine. Microsoft were nice enough to allow the PocketPC to sync with another activesync client, so I am able to sync with my machine at work too. This is great if you got only two machines and one mobile device. Well thats no good for me as I got a 3rd generation mobile phone and a TabletPC to sync with too.
I was pretty much out of luck till I saw Sync4j a while ago.
The Sync4j Project is an open source initiative to deliver a complete mobile application platform implementing the SyncML protocol. SyncML defines a standard way to synchronize data and remotely manage devices.
Sync4j consists of:
- SyncServer: a Java SyncML server, that you can use with any SyncML client (e.g. to synchronize the address book on your phone through a pre-installed SyncML client)
- SyncClient PIM for Microsoft Outlook, Windows Mobile Pocket PC PDA and BlackBerry: out-of-the-box applications that you can use to synchronize your PIM data (address book and calendar) to a SyncML server
- SyncClient API in Java (J2SE and J2ME) and C++: SyncML client APIs that you can use to build an application based on a sometimes-connected paradigm (e.g. a sales force automation software on your cell phone or PDA)
- SyncConnector DB and Microsoft Exchange: connectors to relational databases and Microsoft Exchange that you can use to store and extract data from the SyncServer (and send it to a SyncClient)
Reading this, I'm thinking wow this sounds like Zoe (another server which I keep meaning to deploy fully on my server) for PIM applications. So anyway, I've finally got it working and am trying it out. I'm using the beta version which is using Jboss, I considered using the WAR depoyable version but setting up the Database connectors sounds like a pain, specially with me not actually using any databases at all in my whole setup. Anyhow, the server is running and I can connect to it, my problem seem now seems to be the clients. The pocketpc seems to not see the server and outlook 2003 seems to throw a error when connecting.
Unexpected error # 453 occured: can't find DLL entry point TzSpecificLocalTimeToSystemTime in kernal 32.. I'm sure using Outlook 2000/XP would make things better so I may give them a shot if I cant find another way. I'm going to try and connect to with my mobile phone once I setup the firewall settings or get the other clients working correctly. No point in syncing phone if there is little data in the syncserver.
I'm unsure if SyncML supports the ical standard which I like using with Thunderbird/Sunbird. To get those clients working with outlook would make mine and sarahs life so much easier!