Are We In Sync Now?
Tuesday, January 23rd, 2007Synchronization is the worst technology problem that still needs to be solved today. That’s a bold statement. It’s bold because most people think of sync as an easy problem to solve; you just need to make a copy of data and then keep the copies the same. So what’s hard about that? What’s hard is that everybody has a different opinion about what makes a good copy and what element of data needs to be copied and how many times it needs to be copied and…. On and on and on.
My most recent horror story: I have about 6,500 contacts in my database. I care a lot about my contacts. I might even be called OCD about my contacts. But my career has been based in part on keeping track of all the people I know and staying in touch with them. So I started this database when I started my newsletter, PC Letter, in 1985 and I’ve been keeping it current ever since — 22 years. Suffice it to say: It’s important to me.
Right now, I maintain the contact database in Apple’s Address Book, the program that comes with the Macintosh. I also need to keep it on Microsoft Exchange, since that’s how my contacts show up on my phone, in Goodlink on my Treo 700p. I have been using Plaxo to synchronize my contacts from the Macintosh to Outlook. Then Outlook synchronizes to Exchange and then Goodlink synchronizes to my Treo. Apple Address Book supposedly synchronizes directly with Exchange, but I could never make it work and could never find anyone at Apple to tell me what was wrong. So I jury-rigged the system with Plaxo.
Well, you can imagine the next part of the story: I need to get my contacts in order to send out invitations to a party. In the process of doing that, Apple Address Book started to crash. I had it backed up, but when it crashes, it comes back with an empty data file. That made me worried that Plaxo would sync the empty records to Outlook and then the system would destroy my contacts database all the way through Exchange to my Treo! Significant anxiety, you might imagine.
So I did everything I was supposed to: Reset permissions on the Macintosh (don’t even ask why the world’s most modern operating systems requires resetting permissions regularly to keep track of its files correctly); reset iSync on the Macintosh to make sure there wasn’t any stray notion of wiping out Contacts during a sync; re-installed Plaxo to make sure it didn’t have the wrong memory of what to sync; and created a brand new data file for Apple Address book. And then re-synced to Plaxo. Got all my contacts back, although the process took several hours.
And then, just when I thought it was safe to start sending out my invitations: All but 30 of the contacts disappeared from my Treo, from Exchange, from Outlook and from Plaxo. But not the Macintosh Address Book. So I quit Plaxo and uninstalled it to break the connection and make sure I still had a valid copy of my contacts on the Macintosh. Phew!
Geeks among you; hold on to your seats! What happened next is that iSync on the Macintosh started synchronizing out of Apple Address Book directly to Exchange! Over the next two hours it restored all of my contacts to Exchange and therefore to both Goodlink on the Treo and Outlook on the PC. Now my contacts are being reliably synchronized. It turned out that Plaxo had written a nasty piece of software that prevented Apple’s iSync from doing what I had told it I wanted, but there was no way for me to find that out until I uninstalled Plaxo.
So what was simple about that? Solving this problem requires maintaining trust with the user (ie never losing any data and keeping the data in precisely the form the user wants) while managing data across multiple platforms with multiple vendors (in my case, Apple, Lenovo, Microsoft, PalmOne, and Good). That means that the software needs to adhere religiously to standards (and there aren’t any universally accepted) and demonstrating incredible intelligence.

