Yesterday I spend some time delving into sync.
Personal Information Management has a history longer than Personal Computing.
Over the years the number of devices that can store names numbers and
notes has spiralled and evolved, leading to the need to synchronise
information between these devices so as not to require data be entered
multiple times.
A few years ago I was a fairly happy camper in this arena - iSync on
Mac OS X Jaguar was one of the features that sold me on the platform,
and did pretty much what it said on the box - simple, one-click
syncing of addresses and calendar entries between my Palm PDA, SE
Cellphone and OSX's own iCal and Address Book applications.
This pretty much remained the same through my purchase of a Mac Mini,
OS upgrades to Tiger, Leopard and Snow Leopard and two new phones.
At this point, however, it all gets messy. I bought a Nokia N97
and discovered that for whatever reason neither Noika nor Apple supply
an iSync driver for this phone.
The prevaling suggestion on various web fora is to use a third party
service with a means of integrating with isync (such as Google), but
I'm not particularly happy with the idea of handing over other
people's personal information to some faceless 'cloud' service
provider.
So, which way now? Is this something I can do myself?
As it turns out, yes (kinda). There are a few open-source products
that can provide SyncML services, the most promising that I found
being the eGroupware system, which while as it's name suggests is
intended as a full blown 'groupware' solution can be tailored to more
modest usage.
The first step, getting data out of my phone (which has become my main
means of storing and accesing my calendar and contacts) and into
eGroupwar was fairly straightforward - eGroupware itself has a simple
step-by-step installation process although I did have to use the
Debian packages from the 'unstable' distribution to access the most
current set of features (being a php application this isn't a
particularly big deal), and it was not difficult with reference to
their wiki to figure out what to plug into the N97's sync dialog.
So, one bird down, now back to the Mac. For calendaring, iCal 3.x
supports CalDAV, so it should have been simple enough to get this
working, but sadly this was not quite the case. Apple somehow managed
to forget how the internet works and their CalDAV implementation
assumes that the server will provide relative URLs. eGroupware on the
other hand (and it could be argued more correctly) uses relative URLs
which messes up this assumption. Fortunatley this is correctable with
some server-side aliasing but still a dissapointment. Additionally
this support appears to be read-only.
And what about contacts? I've use Mozilla Thunderbird which has it's
own contacts list, and there is a SyncML client for it in the form of
Funambol's Mozilla plugin. Funambol itself is another sync server, and
as it is standard compliant it is possible to make the client work
with eGroupware with a small amount of tweaking on the server side.
In all I'm happy with the results, but less happy with the steps
needed to get there this stuff really should 'just work', unfortunately
it seems the industry is still wed to the Outlook model of using the client
as a lever to sell the server (or, in the Cloud era, the service).