Open Synchronization Project Homepage

 
Preamble
 

I am a true computer geek and gadget collector. I have computers at home running Linux, Mac OS X and Windows XP. I have a Palm Pilot and a fancy mobile phone with BlueTooth capabilities. I also use three different browsers (Safari, Mozilla and Explorer), four different e-mail programs (Outlook, OS X Mail, Mozilla and Entourage), and finally I use two different online e-mail and calendar systems: Yahoo! and .Mac. Why do I use all these things? Part of it's because I'm a computer consultant and I need to be familiar with everything my clients may be using. Another part is that sometimes I have to jump from one program to another to get a particular feature (SMIME mail or PGP/MIME, for example). And rarely does a day pass that I'm not using OS X, Windows and Linux at one point or another.

For me, the concept of having access to a universal address book has always been a dream. Of course I don't remember all the e-mail addresses of people I correspond with. Often I can dig up and old e-mail message from someone and hit "reply" but that's a poor substitute for having all my addresses at my fingertips and being able to update them regularly. I've tried utilities that are supposed to convert ldif, vCard and Outlook address books back and forth but they really don't work as well as they should. I've tried setting up an LDAP server with limited success. I don't have a good utility to export my most current address information (on my Palm or OS X address book) into the ldif format to upload to the server. Also, I've found that although many address books will offer an LDAP lookup function, the resulting "Addresses" you get are often just the person's name and e-mail address. No other contact information makes it through.

I have often dreamed and wished for something like Apple's iSync for a long long time. When I saw Steve Jobs demonstrate it at the 2002 MacWorld Expo Keynote Speech I rushed out and bought a Sony Eriksson T68i cell phone which was supposed to work with it and waited impatiently for the day in which it would be released. When it came out I was not disappointed! Now my cell phone, Palm Pilot and both my Mac workstation and laptop are in sync. Additionally, the online address book associated with the .Mac web mail is in sync. Here is a map of all the data synchronization paths I now have operating thanks to Apple.

In my opinion this was a very strategic move on Apple's part. After all, as long as I keep my Macintosh at the center of my operations, I'm completely covered. Fortunately, my Macs are my primary computers, so for the most part my worries are over. Additionally, the ability to synchronize multiple Macs depends on subscribing to Apple's ".Mac" Internet service. For $100 it's rather overpriced for what it is: an IMAP e-mail service with only 15 megs storage, a WebDAV network disk with 100 megs storage, some web space (using the aforementioned 100 megs), and an iSync "server" that links my computers together. But Apple made iSync so that the .Mac service is the only way to link my computers together, so dammit but I'm going to stay subscribed!

But there's a part of me that really believes in platform agnostics, or a fundamental freedom of choice. I don't think the world should be dominated by any one computer platform, be it Windows, Mac or Unix/Linux. The thing I loved the most about Linux was its ability to "play nicely with other children" in any "sandbox". I was thrilled with OS X was released and it brought together the Mac platform, Windows networking compatibility, a Unix (Darwin) framework and incredible integration with Java. It really is the best of all worlds.

Except that iSync is not an open framework, has no API or SDK and has no way to bless the outside world.

There is a need for a good Open Source framework that can provide the same synchronization capabilities to the rest of the world. It needs to be truly platform agnostic as only good Open Source (usually GNU) software can be, yet be easily extended for GUI controls and platform integration. It must provide a framework to code synchronization services for desktops and servers.

There are a number of synchronization programs already in existence, but so far they all seem to fail these simple criteria. The most advanced are written for the Gnome desktop, thus greatly restricting its usefulness. Another runs under KDE and is written with KDE library dependencies. There are a number of abandoned projects as well that just didn't get off the ground. Let's see if this can be any different.

Part 2: Architecture

 
 

written materials and original images copyright © 2003 by Murray Todd Williams

site issues, problems or corrections? contact webmaster@murraywilliams.com. Page last updated 29-aug-03 12:51