Author Archives: Mike Conley

EDS Contacts Integration for Thunderbird – So What?

Some of you might be wondering what the advantage is of having Thunderbird share address books with Evolution.  I mean, what’s the point?  A user will most likely use Thunderbird or Evolution – but rarely both.  Why is sharing contacts between the two interesting at all?

So, the answer lies in how Evolution stores contacts.  If you’re running Evolution, you’re actually running two pieces of software – the Evolution client, and the Evolution Data Server (EDS).  The client is what most users think of as Evolution – it’s the program with the GUI that allows users to access and manipulate their mail, contacts, calendar, etc.

But the heavy lifting is really being done by the Evolution Data Server.  The EDS is the program communicating with the e-mail servers to get and store your mail.  It’s the program communicating with your various address books (local or remote, like Google Contacts).  It’s the program that’s communicating with all of your calendars and task lists.

Essentially, if your Evolution experience was a restaurant, then the Evolution Data Server is the kitchen.  The Evolution client is just your waiter.  The waiter takes your orders and passes them off to the kitchen, the kitchen does all of the cooking, and then the waiter brings you the tasty results.

The fact that GNOME has split Evolution like this is really handy.  It means that alternative clients can access Evolution’s mail, contacts and calendars.  Essentially, the user could uninstall the Evolution client, but keep EDS installed, and still have access to all of their mail, contacts and calendars.

To stretch the restaurant analogy a little bit, what I’m saying is that the GNOME developers made it possible for you to order take out from the Evolution restaurant via a third-party.

So what’s the advantage of that?

Well, for one thing, Evolution Data Server talks to some services that Thunderbird doesn’t – for example, Google Contacts (although, this extension suggests that Google Contacts integration for Thunderbird is possible without EDS).

The other big one is Ubuntu One contacts sync.  Ubuntu One contacts are stored in CouchDB address books that are accessed through EDS.  Now that Thunderbird can read your EDS address books, it means that you get your Ubuntu One contacts as well (at least, it will be able to, once Ubuntu One contacts sync starts working in Oneiric).

Not bad, eh?

Introducing EDS Contacts Integration for Thunderbird (or “Coming up for air”)

Holy smokes, what a pair of months.  Remember when I told you that I was hauling ass on getting an EDS contact integration add-on up and running for Ubuntu Oneiric?  It didn’t stop – I’ve been continuing to haul ass ever since.

And now I’ve got something to show for my efforts!

Here’s a demonstration of my add-on in action:

 

Visit the project page here.

If you’re using Thunderbird on Oneiric, I’d love for you to try the add-on.  All feedback welcome in this Google Groups thread!

Over the next few days, I’m going to write a few posts on what I did, how I did it, and what kind of difficulties I ran into along the way.

Until then, stay tuned!

An update on my Thunderbird work…

It’s been a really long time since I posted any updates about what I’ve been doing with Thunderbird.

There’s a good reason – I’ve been hauling ass. My Unity Launcher and Messaging Menu extensions have gone through several iterations, and are shaping up well.  The plan is to bundle those extensions with the latest Thunderbird 5.0 beta to get some more user feedback.

The majority of my work lately has been on a project called EDS Contacts Integration.  Do you remember when I talked about Ubuntu One contacts sync, and how I wanted to integrate that with Thunderbird’s address book?  Well, I went to UDS a few weeks back, and I learned that a bigger / better goal would be to integrate with EDS (Evolution Data Server), which acts like the global address book, task list, calendar, etc for Ubuntu.  If I integrate here, then *all* Evolution address books (including the Ubuntu One address book and Google Contacts address books) should be available in Thunderbird.  So it’s a pretty big win.

So, like the Unity Launcher and Messaging Menu integration, this integration is currently being implemented as a Thunderbird add-on.

Currently, this add-on has basic read-only.  I can view EDS address books, contacts and mailing lists.  EDS contacts appear in the auto-complete when I start typing an e-mail address.  They’re searchable.  I can view the photos of EDS contacts.  There are some edge cases that I haven’t addressed yet (reading address books that require authentication, for example).  That’ll be coming soon.

Here’s a screenshot.

I’ve also started work on write capabilities.  I can now add and remove addresses on a mailing list, and set whether or not I want e-mail addresses to be hidden when I send mail to the list.

So, in short, I’m making pretty decent progress.  Not bad for a month’s work.

But I can’t just fork over the add-on for you to play with, because this work has several other moving parts.  The first moving part is the core address book de-RDF’ing work I started a few months backThe patch for this is landing in Thunderbird’s trunk shortly, which I’ve very excited about.  And the second moving part:  a patch in trunk where I’ve made a few slight modifications to the address book infrastructure.  This makes it easier for add-ons (like my EDS integration add-on) to extend the behaviour of the address book.  This will also, hopefully, be landing shortly once I’ve polished it up, and gotten it through review.

Once those patches land, my add-on should work properly on trunk.  And not long after that, the patches will land in an Early Bird release for you all to try!

More blogging soon.  And more screenshots.  And maybe a video.  Stay tuned.