Evolution to Thunderbird (again)

This is a long, somewhat involved post about one productivity geek’s love / hate / love / hate relationship with a piece of software. If this sort of thing bores you to tears, or if you’re in a hurry and would rather get to something more important, please consider this my invitation to skip this post. I guarantee you, unless you’ve used Evolution, or Thunderbird you’ll probably want to ignore this for now. Really, you won’t hurt my feelings at all.

OK, now that we have that out of the way, I can be a little more frank about my feelings for GNOME Evolution. Quite simply, I think it’s a bloated piece of shit. I say this with complete respect for all those who put in their blood, sweat, and tears into the project, but quite frankly, Evolution has gotten to the point that I’m no longer of the opinion that the project can be saved anymore, and needs a serious re-think in order to keep going. This isn’t the old post I made earlier about one piece breaking (aka gnome-pilot integration). Evolution has become so complicated and integrated into the very fabric of the GNOME experience (it’s impossible to remove Evolution from a GNOME system at this point), that I think the project needs to step back and rethink what it’s trying to accomplish, and perhaps split up some of the work.

The things that drove me over the edge for ditching Evolution entirely relate to three basic components that I relied on for Evolution. They are:

  1. Mail (via IMAP)
  2. Calendar (more importantly – remembering birthdates).
  3. Addressbook

The rest of the package (Todo lists, notes, etc) wasn’t used by me after I ditched Evolution the first time for JPilot. Those three little things were all I asked of Evolution, and over the past few upgrades, I’ve lost two of those three basic capabilities.

The first stake was when Evolution stopped displaying birthdates reliably. As part of my Weekly Review process, I look about a month ahead to see who is going to be having a birthday. This usually allows me plenty of time to prep for purchasing gifts, or at least sending a friendly reminder. All was well until I realized that certain dates weren’t showing up in my calendar anymore. (Noted with Jessica’s Birthday). The reason I preferred Evolution over, say, repeating events in Google Calendar was because I had the birthdays tied to the addressbook (as a separate field). Having all of my addressbook stuff in one place, accessible from my mail and calendar was vital to me. Unfortunately, with Evolution’s apparent amnesia to such information, I was forced to find an alternative. I checked out bday, which is a daemon for sending birthday reminders. It’s quite handy, and so far hasn’t let me down. Strike one for Evolution.

The second reason I used Evolution was for mail. In the latest release of Evolution (in Intrepid Ibex), someone left in a small bug, which unfortunately turned into a big, repeatable deal for me. Whenever I emptired the trash in Evolution with an IMAP server, it caused Evolution to crash, completely. Apparently someone didn’t check for something (or did the wrong check for something or other), but there I was, unable to convince Evolution that it could empty the trash without crapping itself into oblivion. This was the last straw for me, as it signalled to me that the Evolution team had completely lost control of the project if a bug like that could sneak in and lay dormant past a release.

I won’t even get into the Google Calendar integration. Quite honestly it’s a debacle that the team is trying to handle properly, and I give them kudos for at least attempting to get it under control.

I’ve since moved on to Thunderbird for my addressbook and mail. It’s been a more pleasurable experience overall, and I like the performance and rendering gains I’ve received in the transition. But, I have a hard time letting go of things that I think coul be better, so I offer this advice to the Evolution team: please split off the pieces of Evolution into individual parts.

The reasoning is simple: Evolution was built as a knock-off of Outlook (the PIM, not just the mail client). Outlook as it ships has to take on a lot if responsibilities in the Windows world for calendaring, addressbook, mail, and other tasks. It’s not particularly adept at any of those tasks, but it gets the job done. Evolution needs to think of itself in more broad terms. When Apple shipped OSX, they shipped a separate Addressbook, Mail, and Calendar application. This is the right way of thinking of Evolution. The infrastructure is already in place with the Evolution data server to have separate applications (check out “Contact”, the URL of which escapes me at the moment). This would allow other applications to play with the same data, and could allow the applications to grow independently of each other. It would also be more in-tune with the UNIX philosophy of having one tool and having it work with other tools through a simple interface. Evolution needs to (pardon the pun) evolve into more than just an Outlook rip-off. I think by splitting off the applications into their various pieces, a more cohesive, integrated, and (hopefully) more solidly performing set of applications can emerge. Mybe the KDE PIMs got it right (though their interfaces leave a lot to be desired).

In order for GNOME and Evolution to grow, we need to get rid of the monolithic Evolution, and in it’s place allow for more best-of-breed applications to take it’s place. It’s time Evolution were broken up into individual components. To leave things as they are is only courting a more ruinous course of action.

2 Comments

  1. Jim Mochel says:

    There is something deeply ironic about all of this. I have spent years moving back and forth between Thunderbird,Evolution, and the KDE PIM and I haven’t hit a happy medium yet. I am currently using Evolution with GCaldaemon to do the synchronization with Google, and thus accepting that tasks will not be synced up globally and will only be available on my laptop and my Palm.

    I know you said that you did not want to get into the Google calendar debacle but I was wondering what in particular you were referring to.

    thanks,
    -Jim

  2. craig says:

    Well, the short of it is that the Google Calendar support was coded during a Google Summer of Code project. The author got the plugin to work, but it only supported one calendar, and not terribly well. The author disappeared, so it’s been in a semi-working state ever since. Only recently has there been work on making the plugin work better, but it still has warts, and I don’t trust it to work at all.

    Hope this answers the question!