May 11th, 2006 by ravi
Using and synchronizing contacts
»
Most of you probably have a desktop computer, perhaps also a laptop, one or more hand-held device (Palm computer, iPod, etc), and a mobile/cell phone (and there is also the home phone, but I will ignore that here). The standard problem: keeping the information sync'ed up between all of them, without needing data re-entry.
What data?
At the least, contact/addressbook information, and calendar/task entries. Stuff that falls under the PIM (Personal Information Manager/Management) cloud.
How is it accessed?
You would think that in the Internet age you would store the information on a central server and access it using standard protocols supported by client applications. That, it turns out in my experience, is tougher than I would have thought.
The technology
If you live in a pure Microsoft world (Windows on your PC, laptop, handheld and mobile phone) you probably can stop reading, at this point, and add a comment exhorting me to come over to your side! Windows probably does a decent job of Sync'ing between your computer and your handheld or mobile phone. Throw in an exchange server and you probably get syncing across computers as well. Well, what about the rest of us?
The standard technologies (well, one of the standards: as the saying goes, the great thing about standards is that there are so many to choose from!) for contact and calendar information are LDAP directories and iCalendar based calendar subscriptions and import/export.
Surprisingly both LDAP and iCalendar are supported by today's addressbook, email and calendar applications, including: Mozilla Thunderbird, Mozilla Sunbird, Apple Addressbook (and hence Mail), Microsoft Outlook (from what I know), the many GNU/Linux/GNOME/KDE applications (Kmail, Evolution, Kontact, etc).
Well, are we done, then?
Annoyances
Unfortunately there are many annoyances to deal with:
- There aren't many free or commercial LDAP directory services available on the net. In fact, the only one I have found, which I highly recommend, is ScheduleWorld (which provides not just LDAP directories, but also standards based calendar service). This general lack of LDAP services pretty much nixes sharing your addressbook.
- Mozilla Thunderbird (to my knowledge) does not support lookup across multiple LDAP addressbooks for address completion, making use of LDAP just another bit tougher.
- Access to remote information is not a viable option today on iPods and various mobile phones. They do not support LDAP or iCalendar access to your information. The good news is that many of them provide two way synchronization (where applicable) using applications and drivers on your computer.
- There are a large set of iCalendar based calendar services available (e.g: the aforementioned ScheduleWorld, Google Calendar) As always there is a catch… well two in this case:
- Most calendaring services use a publish/subscribe model and not a synchronization model. In other words, you can publish your Apple iCal or Mozilla Sunbird calendar to the server, or subscribe to your server calendar on one of these applications, but you typically cannot update either willy-nilly and have them synchronize with each other.
- Free/Busy information: in order to schedule events involving multiple individuals, their free/busy information needs to centrally stored, accessible to the others. In a web-only system, this is trivial. In our multi-tool scenario, free/busy information needs to be synchronized.
Is there hope?
There is hope for the future, but my investigation has found nothing with enough coverage to make it worthwhile. The exception, if any, is ScheduleWorld. As far as I know, these are your options:
- Use a fixed write (write the information using only one interface), publish to server, and subscribe from many, model: either store your data in an application that supports pushing it to a server or store it on the server. Subscribe from all relevant clients.
- Use a service like ScheduleWorld which gives you: web-based read/write access to both calendar and contacts, a Java based multi-platform client to accomplish the same, and open interfaces (LDAP, iCalendar) for your multiple client applications. Beware of Apple Addressbook weirdness: not only does it often not import LDIF entries (from LDAP directories), it also does not sync LDAP directory entries to the iPod).
- Wait for better SyncML support.
- Hack up your own or use open source scripts to import data into client applications from public services such as Google Calendar.
- Use a service like Plaxo (which has come under much scrutiny and criticism, all of which you can read easily through a Google search on Plaxo) which synchronizes (only your contact list though) across multiple platforms (Apple Addressbook, Mozilla Thunderbird, Outlook) and provides a web interface.