Universal Contacts

My family has had the pesky “keep our contact list in sync” issue for ages. If we used one PC, I don’t think it would be such a big deal but we have a family PC, my wife’s laptop, my Windows laptop, my Linux laptop, my work PC and the list goes on.

Until now we’ve managed different address books on each of these computers. Not only is this inefficient, but inevitably you sit down at one of your PCs to type a message only to discover that you need an address that’s not in your address book yet you know, for a fact, that it exists on one of your other computers.

Some of you may be saying why not use a web based e-mail client and this problem would go away. To that I say — not really! The problem with this approach is that we have multiple accounts – I have my personal account, I have a church account, I have an account that I use for buying stuff …. you get the idea. Now repeat this for my wife and you quickly begin to see that in reality, not only does this approach not solve the problem, it actually makes it worse because now I have to maintain a separate address book for each account that I use a web interface to interact with. If I use an e-mail client on my PCs I can load all of my identities into that client and sending e-mail from any of those identities becomes a cinch. The other benefit of using a client is that all of my mail is in one place. No logging into/out of multiple web interfaces to read my mail. I can hear you all saying, “yeah but how do you keep your mail in sync across all of those PCs?” I won’t cover that here, but that’s not an issue that’s as hard to deal with as you might think. I’ll make a point of covering e-mail synchronization in an upcoming article.

I know that what I just described for my family may be complicated so let me simplify the scenario in a way that I’m sure most readers will be able to appreciate. Let’s say your family has two accounts; one for the man of the house and one for the lady. Reiterating our goal here, we want to keep our address books in sync — whatdoyado?

I looked at a lot of solutions such as using an LDAP directory to store my contacts. Outlook, Thunderbird and many other e-mail clients can pull address data out of an LDAP directory with a small amount of configuration but this approach is a bit flawed because updates can only occur in a single place. I not only wanted our address books to be mirrors of each other, but I also wanted to replicate changes that I make to my address book to my wife’s address book and vice-versa. Another thought was to copy our address books to a central location on an internet server and then pull the address book down to our local PCs each time we start our email client. That’s easy enough to setup but this approach could easily clobber changes made in one of our address books because there’s no way to verify file content. A better way would be to come up with a way to have a centralized address book on the internet and replicate field level changes (name, email, etc.) to/from that address book and then setup every PC to do exactly the same thing.

I looked at different ways to accomplish this but had one rule … the solution needed to be hosted. I didn’t want to have to setup any servers and wanted the implementation to be as simple as possible. After much searching and testing I finally settled on a solution utilizing a free service called Plaxo. In order to keep things simple I needed to settle on an email client that was compatible with Plaxo and worked on Linux and Windows so I chose Thunderbird. I could have just as easily used Thunderbird on my Linux PCs and Outlook or Outlook Express on my Windows PCs but I wanted simplicity so opted to use a single client.

After signing up for my free Plaxo account and installing the toolbar I was all set and ready to go. With very little work on my part I was able to immediately synchronize the contacts between all of my PCs. Every time a change is made in one address book it gets updated on all of the others – SWEET, objective achieved!

~GT~