Contact Sync bolted onto Ubuntu

Posted on Thu 31 May 2012 in random notes

Foreword

A short while ago I managed to screw up a little computer repair and in the process of migrating /home there was a little accident while led to me losing my acquaintance's bookmarks and contacts 1. That being the second time I destroyed her address book and her losing all the e-mail addresses I knew I had to prevent that from happening again. That method had to be practically invisible to the user and preferably cost-free.

Google (a.k.a. Gmail)

My first thought was using the Google Contacts addon for Thunderbird, however the reports and reviews at the Addon page were not particularly encouraging. From perfectly working to creating duplicates to not working at all, the opinions were all over the place. I would've preferred to stay with Google since I'm using Chromium on this machine as default browser and sync pretty much everything with Google. In essence, that would've saved me the creation of another user account at another provider. The feedback over at Mozilla was a bit too bleak for me to recommend this way of backing up your contacts.
I had to find another solution.

Ubuntu One

Of course, this being Ubuntu with its growing Canonical backed ecosystem, I remembered them offering Contacts Sync via Ubuntu one. After reading up over at OMG! Ubuntu! I set up the Ubuntu One account and wanted to enable sync. Only to end up failing, since...

...Canonical has managed to alienate its Ubuntu One customers in a quite spectacular fashion. While offering sync services and trying to compete with several different cloud service providers they have neglected to check if one of their advertised features still works in the current version of their operating system. In short: If you want to use the Contacts Sync for Thunderbird that was introduced with an earlier version of Ubuntu nowadays, you're screwed.

Contacts Sync started as an option for Evolution 2 as early as Ubuntu 10.04 and stayed an option via a technology called CouchDB all the way to 11.04 - in other words until Thunderbird took over as the new default e-mail client. According to the tutorial the sync option stayed in place for that release. With 12.04 however - which I've recently had the joy of installing - Contact Sync broke. Horribly. As in: It is not only gone but neither fixed as of the time of me writing this nor is there a proposed workaround.

Imagine this cruel scenario:
You imported all your carefully maintained contacts which you are using for professional purposes into Ubuntu One back then with Evolution. The devout follower of Ubuntu you are, you made the jump from Evolution to Thunderbird - secretly knowing that Thunderbird is less confusing and could in theory help you become more productive. Everything went well since you just synced with Ubuntu One, using their server as your master database. Your data is in fine shape since you just upgraded from an earlier version to 12.04 but now there's a big problem. Something went wrong, your contacts are gone. Of course your first thought - after calming from the initial moment of panic - is that you just sync with Ubuntu One and your contacts are restored, right?
Well, wrong. There is no Ubuntu Contact Sync in the Thunderbird options, so it's obviously no longer installed by default. Interestingly there's also no word of Contact Sync in the Ubuntu One preference panel. A quick query via apt-cache search shows that there's still packages associated with Thunderbird and Ubuntu One around, but after installing those nothing really happens.

Actually, that was a lie. Within Thunderbird a new address book called "Ubuntu One" will be created. However, you cannot save contacts in this book, neither can you move existing contacts into it nor can you assign it as the address book used to automatically remember addresses you sent mail to. If you've previously relied on Ubuntu One to get your contacts, you're now pretty much lost.

Dropbox (a.k.a. the sledgehammer method)

After running out of patience during the Ubuntu One sync ordeal and with my pool of ideas for free sync rapidly draining I turned to my all-time favorite: Dropbox. Although it struck me as overkill I simply moved .thunderbird as a whole into my colleague's Dropbox and used a symlink to point Thunderbird to its new location in order to keep a relatively low maintenance solution.

mv ~/.thunderbird ~/Dropbox/Apps/Thunderbird
ln -s ~/Dropbox/Apps/Thunderbird ~/.thunderbird

I'm perfectly aware that this is neither the most elegant solution nor the most fool-proof. I'm also aware that it's fairly prone to fall victim to possible sync conflicts. This is not a problem however due to my acquaintance only using one PC. It's a nice trick to keep everything working behind the curtain without paying for a dedicated address book server or similar.

Addendum

In hindsight I realize that I could've used Ubuntu One instead of Dropbox to sync the whole folder, thus saving the need to create one more account. However, after the first annoyance I wasn't too inclined to stick with U1 anymore.


  1. And probably a lot of configuration, caches and whatever. 

  2. Which is fine, since that awfully bloated Outlook clone was the default e-mail client back then.