Testing Email Clients

Ever since late Fedora 12 or, for sure, Fedora 13, Evolution has been annoying me.  I don’t know if it’s linked or coincidental, but it appears to have started getting buggy after I noticed it was using couchdb, a database that a lot of database people in the Linux world are getting all excited about.  Evolution is the Linux equivalent to Microsoft Office Outlook.  I switched to it a few years ago so that I could have tasks, email, and calenders in one spot.  In theory, it’s perfect – it syncs with Hotmail, Gmail, and Google Calendar.  I have all my todo items in there out to April of next year.  It supports GPG signing and encryption via integration with Gnome’s Seahorse keyring.  In practice, it has started taking forever to start a new email or enter a new task.  I click the button and then have to wait for a long time until the dialog pops up; if it pops up.  A lot of the time doing this causes the program to crash.  I’ve filed a bug via the auto-bug-filing program in Fedora.  There’s also a bug that doesn’t bother me as much where it keeps asking me to supply the password for my Hotmail account and not accepting it until the next time I restart the program.  So I decided that I’d wait and see if things improved with Gnome 2.32, included in Fedora 14.
(note:  Magically, between the time that I wrote the intro and the time I was finally able to test these out, Evolution started working.  Perhaps someone *did* see the trace I submitted to bugzilla.  However, given all the research that went into this, I decided to check it out and see if perhaps one of these other email programs would work better for me anyway)
But, in the case that it didn’t work out, I thought I’d go ahead and test out some other email choices.  I put out a call on Identi.ca and I got suggestions for Sylpheed, Claws, Kmail, and Thunderbird.  I thought, for the hell of it, I’d also check out using mutt and Opera’s built-in email.  All of these are just mail clients, but when I recently switched to Lubuntu on my laptop I discovered there were standalone programs that could take care of the rest of the PIM stuff.  As you can glean from above, my requirements are:
  • IMAP for Gmail
  • POP or IMAP or some method for Hotmail that isn’t too gnarly a hack
  • GPG encryption/signing – bonus points for integrating with Seahorse/KGPG
  • Auto-filters for organizing my email into folders
  • Preferred (almost required): Message Threading (sorting messages like Gmail)
  • Preferred:  Ability to import/export from Evolution and other FLOSS email program formats
  • Bonus (not a deal breaker): Integrates with Gnome/KDE popups to let me know when I have a new email

For completion’s sake, I thought I’d do a bit of research and give my impressions based on experience/websites before I actually try out the email programs.  This is meant to mirror what someone might do when trying to select an email program.

Sylpheed 3.0.3 is the latest stable release and was released 8 July.  Good to see that they are still developing.  My impression from a semi-recent LXF magazine was that all development had moved to Claws, a fork.  From the screenshots they have posted on the site (version 2.x), it looks a bit ugly and dated.  If it’s awesome enough, I don’t care – it just seems to be using an older version of GTK or something.  Perhaps a problem when Gnome 3.0 comes out?  The requirements page lists GTK 2.4….so maybe it’s just the icon theme the screenshot provider had?  I’ll definitely have to see how it comes out when I install it for myself.  They have a plugin infrastructure, but the one plugin they show is not really captivating.  Taking a look at the features page shows that it supports everything I need, so i will definitely check it out.  Side note, if you’re Japanese, this is probably the client for you.  It’s hosted in Japan and has a host of Japanese language features they keep touting.

Claws 3.7.6 was released in May of this year.  It looks a bit more modern than Sylpheed.  It also, apparently can have color coded folders.  It has a BUNCH of plugins, some of which seem quite useful.  It also appears to handle all of my requirements.  I’ll definitely check it out.

Kmail, which I’d probably use as part of Kontact (the KDE version of Evolution) was given a quick look on this blog.  It supports all my key features.  I will definitely give it a shot.

I used to use Thunderbird because I discovered Firefox and Linux at more or less the same time.  When I was looking for an email client to use, Thunderbird seemed like a no-brainer.  I fully enjoyed using it in the past and only switched away from it so that I could get the full experience provided by Evolution.  (the calender plugin to Thunderbird was a bit spotty at the time)  It is now at 3.1.5.  It had a bit of an uncertain future for a while there, but appears to be doing OK now.  At first, tabbed email sounded gimmicky, but reading their description on here sounds like something I’d actually use.  Awesome that they’ve added archiving like in Gmail for those who don’t put stuff into folders.  Looks like you still use Enigmail to do the signing and encryption, but I’ll do some extra research to see if I can get some tighter integration with Seahorse or KGPG.  Between the Lightning plugin and Sunbird, I can take care of my calenders.

I’ve used mutt to manage my Gmail via IMAP on my laptop when I had CrunchBang Linux installed.  It worked better than the Gmail website when I was in a place with wi-fi so spotty that it broke Gmail’s AJAX.  I’m including it here almost as a bit of a joke in the sense that, as a last resort, I can use it instead of one of these GUI-based programs.  But I don’t expect all the others to fail that spectacularly.  It DOES support GPG, IMAP, and everything else I need it to.

I’ve used Opera mail on my Windows computer and I really like the interface.  But if I’m going to have my web browser open anway, why not just use Gmail’s interface?  Since it doesn’t support GPG, I guess there ISN’T a reason.  (At least for my personal circumstances)  So this one’s out of contention.

Finally, I read a blog post someone on identi.ca shared with me.  It didn’t really apply to my situation, but it was a good read anyway.

I’m going to do all of this in a Fedora 14 virtual image in VirtualBox.  The first reason is so that I don’t inadvertently muck things up with the fact that I already have Kmail installed, used an older version of Thunderbird before, and have Evolution already installed.  The second reason is to not end up with a bunch of extra installed stuff for no reason.  While Linux tends, on average, not to be as bad as Windows about leaving files littered over your hard drive when you uninstall stuff, it’s still a pain to make sure all the old files are purged.  I also decided to use snapshots in order to have a clean install for each program’s installation.  So, here we go!

First up is Sylpheed.  I choose the 64-bit package sylpheed-3.1.0-0.1.beta3.  This requires installation of the compface package.  Post-installation it appears under the Internet category on the menu.  It asks me to create a mailbox.

Sylpheed - Set up a Mailbox
Sylpheed - Set up a Mailbox

When it asks me what kind of account I’d like to setup, they have an IMAP4 section specifically for Gmail!

Sylpheed - what kind of account?
Sylpheed - what kind of account?

Pretty neat.  So I select that.  Then I provided my username.  After that it was magically setup.  After the dialog box closed, it had my gmail info and all my folders.

Sylpheed - with all my gmail - but no HTML email
Sylpheed - with all my gmail - but no HTML email

It handles threading correctly.  HTML messages are treated as messages with attachments.  Best I can figure out is to doubl-click on it and view it in Firefox.  The compose window is bare, but has check-boxes for PGP sign and PGP encrypt.  The inability to properly handle HTML mail loses it points.  Overall it’s very competent; works well.  It has all the features I listed above.  Nothing that makes it stand out, but nothing that makes it automatically disqualified.  The inability to handle HTML messages puts it at the bottom of the clients I’d consider.  Time to reset the VM and start again.

Ok, so this time I install Claws.  It has a bunch of its functionality split out into plugins.  So I also installed the PGP plugin and Webkit HTML plugin.  As before, compface had to be installed as well.  They start with an “About You” dialog box.

Claws - About You
Claws - About You

Strangely, considering Claws is a slicker version of Sylpheed, there is no magical Gmail settings.  So I went to the Gmail page that explains how to set this up.  So after a bit of trouble it finally got my messages.

Claws Inbox
Claws Inbox

HTML rendering worked a bit better, but it didn’t fetch the images.  The compose window was a bit nicer than Sylpheed.  The PGP options were a bit more hidden, but they were there.

Claws - Compose Window
Claws - Compose Window

It’s better than Sylpheed (except for the Gmail part) in looks and HTML.  Still not calling to me.  So I reset the VM again.

For Kmail check out this recent blog post where I went over what I thought of it as well as other aspects of KDE 4.5.

So now it was time for Thunderbird, which I was very excited about.  I hadn’t used it in ages.  How had it evolved since Thunderbird 1?  I also selected the Lightning plugin.  Both of these together required a bunch of nss packages to be installed as dependencies.  It asked me right away for an email address and password.  Would it attempt to configure Gmail on its own?

Thunderbird Initial Startup
Thunderbird Initial Startup

So I put in my Gmail credentials.  It worked.  Crazy!

Thunderbird Magic
Thunderbird Magic

It doesn’t handle Gmail threading correctly.  I’m guessing that I probably some some setting set incorrectly, I just couldn’t find out where to change it.  Anyway, here’s the way it looks:

Thunderbird Inbox
Thunderbird Inbox

What I really like about the way they designed the interface is that the reply, forward, etc buttons are not at the top, but are near the message.  After reading the messages you don’t have to have your eyes wander too far to take action on the email.  It’s neat that they have tabs when you open your emails.  I can see that being very useful for going back and forth between two different emails.  Thunderbird also has the prettiest composition window:

Thunderbird Compose Window
Thunderbird Compose Window

And HTML messages work correctly:

Thunderbird Correctly Displaying HTML email
Thunderbird Correctly Displaying HTML email

I think the Mozilla team has done the most innovation here.  I really like the idea of tabbed email even more than I did when I first read about it.  (I couldn’t figure out how it’d be useful)  If threading could be configured, they’d be a strong contender.  I’d say that if Evolution hadn’t started behaving itself and I was sticking with Gnome, I would definitely be switching to Thunderbird.

For completeness, let’s check out mutt.  Actually, I just found the instructions I used to get mutt setup with Gmail before.  Yeah, that’s a lot of work when I’ve already made my choice.

So, a quick wrap-up.  The bug I was having in Evolution was fixed.  So if you want a [near] perfect Outlook clone and you are using GTK (Gnome, Xfce, LXDE), it’s a no-brainer.  If you want the same thing on a QT system (KDE), then Kontact is essentially that.  It doesn’t look like a visual clone as much as Evolution does.  I’ve recently switched to KDE and I’ve been using Kontact very happily.  I’m discovering a few things here and there that may sour me to it, but it’ll take some time to know for sure.  If you’re agnostic (don’t care about GTK, QT) or are using Fluxbox or one of the other window managers or desktop environments – Thunderbird is top notch!  If you just want email or email with calendar support, go with Thunderbird.  It’s the best email-only program out there.  Of course, if you’re a commandline junkie or need to check email over SSH – mutt is the way to go.  I know some of the utility of the situation went away because the problem was fixed before I did the exploration, but I hope this was still helpful for you, especially if you have similar requirements – GPG, threading, etc

One last, good look at KDE 3 Part 1

As you can see, by trawling through this, I have gone back and forth between KDE and Gnome a lot. As I’ve mentioned many times before, I initially loved KDE over Gnome. It looked more like Windows, it had more neat options, and great programs. Not only is Amarok the best media player out there (although Rhythmbox is not far behind), but the KDE programs feel so much more tightly integrated than Gnome. That’s one part where they’ve always had a huge lead over Gnome, although Gnome has been catching up recently. Still, I hope that KDE continues to evolve its KParts and KIOSlaves infrastructures. (Or whatever they evolve into in KDE4) KDE programs also just seemed to fit together visually so much better, I don’t know why because Gnome has the HIG.

But I left KDE for Gnome for a few reasons. First of all, as Gnome has been getting leaner and leaner on system resources, the KDE 3 series remained bloated as a blue whale sloshing around in my RAM as though it was just a kiddie pool and not the ocean. Also, I have had KDE programs crash on me orders of magnitude more often than Gnome programs. Finally, KDE has always been treated as a second-class citizen within Red Hat. That’s why Mandrake was original started! It was originally just a KDE version of Red Hat before branching off and losing RPM compatibility.

But now I want to look at KDE again because a few things have come together to change some of the reasons why I left KDE. First of all, with KDE 4 by basing the desktop on QT4 plus other refinements it’s supposed to be light as a feather on RAM. Sure, it still won’t equate to Fluxbox, but I have a modern system, I just don’t want it to swallow up my RAM like that Kobiyashi at the Nathan’s Hot Dog eating contest. Also, ever since Fedora 7, The Fedora Project has had the KDE Special Interest Group to make sure that KDE is treated well within Fedora. It finally has integration with the updatesd program, responsible for notifying me when there are updates to download. It was really a pain to see that in Gnome and not in KDE. I also wanted to look at KDE 3 now to document what it looked like and how it worked for me so that I can compare this to my experience with KDE 4.

So, I logged into KDE from a fresh startup in Mario. It loaded up a little bit slower than Gnome, but not by too much. And, it’s not fair to look at that because KDE saves the state of your desktop when you logout so I have it automatically loading SuperKaramba, Kopete, KGPG, Kerry Beagle, KGet, and Tomboy. Recently I’ve switched to accessing my Gmail via IMAP vs POP3. This allows me to login via KDE or Gnome and have access to the same emails in my inbox. So, since I always have Evolution and Rhythmbox open in Gnome, I opened up Kmail and Amarok.

So here’s what my main desktop looked like:

Main KDE Desktop

Before I continue, let me say that the developers of Konqueror have some work to do. Apparently they don’t support AJAX very well because I am not able to use any of the advanced features of my blog nor does Gmail work with full functionality. So who cares if it passes the Acid2 test if it doesn’t work on the sites that I need it to.

Amarok is my favorite media player for all of the work it does with your metadata. Whereas other media players stop at using the music’s metadata to sort the music or, if it’s more advanced, to create auto-playlists, Amarok does SO much more! For example, here’s the data it shows on each song as it plays:

Amarok Artist info

The info on how many times you’ve played the song and the last time you’ve played it is nothing special, but beneath lies the power of Amarok. You can add labels to each of your songs and then use that to create dynamic play lists. Amarok then consults last.fm to figure out which artists are similar to the one you’re listening to. So you can use this to acquire music by other artists that may be similar to the one you’re listening to. Then, it also lists all the music in your current music library that are by similar artists. And it also shows the rating each song has. After all, you may have songs by similar artists which you don’t like. This is a good point to mention that I really like Amarok’s rating system. Unlike others which are on a 5 star scale, Amarok is a 0-100 scale so it gives a lot more room to tell how much you like the song. Also, their auto-rating system works better than any other I’ve ever used. Anyway, under that is a list of your favorite songs by the same artist. So if you can easily jump to any of those songs by double-clicking. Then it shows each of your albums by the same artist and if you click those you can see the songs on those albums. Tell me you’ve seen another media application that makes such a good use of the metadata it has on your music! But it doesn’t stop there.

Amarok Lyrics Tab

If the song you’re listening to is reasonably popular, clicking on the lyrics tab will bring up the lyrics to the song. You can learn them or just use it to sing along to one you don’t know as well. And there’s one more bit of nice integration thanks to the use of KParts, Amarok can integrate Konqueror into it and you can see the Wikipedia page for the artist you’re listening to.

Amarok Artist Wiki

And sometimes I start up a media player and I’m not sure where to go; what I want to listen to. Here Amarok is also helpful.

Amarok Opening Tab

What I like here is that it lists your newest five albums.  For Rhythmbox I had to create a dynamic playlist to hold my newest albums.  It also lists your favorite albums.  So if you want to quickly jump to listen to some music you know you’ll love, you can just double click on those and get the songs.  Or you can drag the album over to the right into the playlist.

I’d also like to look at Kopete for this look at KDE 3 because I think it’s very, very good.  It has a very different aesthetic than Pidgin, so it’s hard to say objectively which one is best.  However, Kopete *does* have many, many more configuration options.  Check out how many plugins it has:

Kopete Plugins, Options and Main Window

My favorite is the Now Listening plugin.  Pidgin has a similar one, but it doesn’t seem to actually ever work.  The other really great thing about Kopete is how you can customize it to suit your style.  Unlike Pidgin which is mostly an AIM clone, Kopete lets you pick everything from your Smiley Style to Chat Window style.

Kopete Visual Configuration - SmiliesKopete Visual Configuration - Emulation Style

And here’s how I have my chat window:

Kopete Chat Window

So far KDE hasn’t been too unstable.  I’m glad I finally fixed the problem where Compiz kept starting in KDE as it was having a huge detrimental affect.  So far I could potentially go back to KDE.  More in a future post.