Sunday, July 10, 2011

Features needed in Thunderbird to replace Evolution

As most know by now, Ubuntu 11.10 is looking to replace the Evolution mail client with Mozilla Thunderbird.  Evolution has long been problematic.  I have found it to crash pretty often, fail to display mail messages, and just generally be quirky.  Over the last two years it has really shaped up a lot, but still remains pretty quirky as of Ubuntu 10.04 LTS.
To produce a quality Linux desktop, shipping a quirky e-mail client can be a turn off for many, and that's what's lead to talk about replacing Evolution with Thunderbird.  Despite it's problems, Evolution does many things right.  Syncing Evolution with your cloud services, especially Google services, is especially easy.  Evolution also comes with native Exchange support, with some exceptions.  The Exchange server must provide Webmail for the Exchange support to work.  However when it does work, users can send/receive e-mail, view and mail contacts, and integrate with their Exchange calendar, all in one application, almost as if they where using the Microsoft Outlook.  This can be a real savior for people like myself who run Ubuntu in a corporate environment deeply tied to Microsoft products.
All Calendar integration in Evolution comes with the benefit of desktop integration.  Any calendar configured in Evolution shows up in Gnome calendar panel, allowing the user to easily see what's scheduled without having to fire up Evolution.
All-in-all Evolution has a very solid feature set, and great usability and integration.  It's just those nasty quirks that pop-up from time to time that keep it back.  It seems to me that the best thing the Ubuntu community could do is go through the Evolution bug list and start applying some fixes.  A change of client seems rather drastic, but at this point, inevitable.
In this light, I have installed the Oneiric release client and kicked the Thunderbird tires.  Here's what I've seen so far.
Setting up Gmail is very easy.  I simply put in my Gmail login and password and that was it.  Thunderbird recognized the @gmail.com and did the rest of the configuration.  Evolution will auto-populate the Google server information, but Thunderbird doesn't even show you the server configuration options.  It simply notifies you it knows what to do from here and finishes.
After it downloaded all the message headers, I had one new e-mail, I received a desktop notification about the new e-mail.  However, Evolution also turns the mail notification icon in the menu green.  If you click on it, you will see the new e-mail in your inbox.  Thunderbird provided no such desktop integration.
Thunderbird does not include any sort of Calendar integration by default.  Instead, I had to manually install the Lightning plugin, which provides the calendar support.  However, this was not enough, as Lightning does not provide any remote calendar syncing.  To get Google Calendar support I had to install the "Provider for Google Calendar" plugin.
Even still, it was not as intuitive to setup Google Calendar support.  I had to log into Google Calendar in my browser to get the iCal URL of the calendar I wanted to support, and copy-and-paste this into Thunderbird.  With Evolution I simply provide my calendar credentials and it will give me a list of calendars in my Google Calendar account, and then syncs the one I selected.
Finally, the calenders do not integrate with the Gnome calendar.
I hope that 11.10 has the Lightning and Google Calendar plugins installed by default, but even still, this is a step backwards.  Showing people the tight integration between cloud calendar services and Ubuntu has been a point of impression for many users in my experience.
Next is the contact syncing.  Again, setting up Evolution to sync with your Google Contacts is very easy.  With Thunderbird I had to install the "Google Contacts" plugin.  After that I selected my existing Google account and my contacts where in Thunderbird.  I really liked that I didn't need to reenter my Google credentials.  This is a move forward from Evolution, and a feature I'd like to see replicated in the Google Calendar plugin.
Thunderbird has no Exchange support.  For those of us in a corporate environment, this is a loss.  If your Exchange server supports IMAP, one can still check their e-mail in Thunderbird, but there will be neither contact or calendar support.
Others thoughts.  Thunderbird does not store its connection information in Seahorse, leaving the connections unavailable to other applications that would like to integrate.  I don't think the icons are coming from the Gnome theme.  Minimizing to tray can be accomplished via an extension, but I'd like to see something similar to how Rhythmbox and Banshee can be minimized to the sound menu.  Neither of these are possible in Evolution either, so ...
So where does this leave us?  I believe we need to have the Lighting, Google Calendar, and Google Contacts plugins installed by default.  A custom plugin needs to be written to bring the Lightning calendars into the Gnome calendar menu.  This will bring most users into having all of their existing Evolution functionality in Thunderbird.  An Exchange plugin for Thunderbird should be started.  Thunderbird needs to be extended to act like an application that was written to be part of the Linux desktop, not an application that just happens to also run on the Linux desktop.
Finally, I wonder how much the mail client really matters.  I don't know many people who use thick mail clients.  Everyone seems to be happy using their providers webmail.  The only reason I use Evolution is to have an offline backup of my e-mail, and for the desktop notifications about new e-mail and calendar events.  When I receive these I then go to the webmail interface and respond accordingly.
I wonder what KDE users think about how it looks, feels, and integrates for them.