Email clients suck
It’s been way too long since I’ve posted anything here, so I’m just going to rant a bit.
My most commonly used email client is Mutt. Mutt’s motto is “All email clients suck. This one just sucks less.” I seem to be frequently reminded of this, and every year or so, I get dissatisfied with Mutt and hope there is something better.
Usually, I’ll try some new-fangled client, Kmail, Thunderbird, etc. After getting over the shiny, I generally realize quickly that most of them are more clumsy to use, and significantly lacking in features. Even the ability to invoke an external editor (mandatory for fixing up quotes on replies) is often broken or missing.
A while back, I decided to give Gnus a try. Gnus is primarily a usenet newsreader that has been adapted as an email client. It is very powerful, and I found it to have a lot of useful features. Both early on, and later, I discovered some significant problems:
- The config language is in emacs lisp. Although this is powerful, often it ends up with very complex configuration, requiring large blocks of code to configure various things.
- Plugins are kind of chaotic and don’t always get along with each other.
- It runs in emacs. Really, the subject of another post, but I’m tired of emacs. My wrists are tired of emacs. Vimpulse/viper mode almost works, but is still frequently annoying, and often hits minor modes that it doesn’t get along with.
- It’s fairly slow. It has some help by being good about not fetching too many articles. But, I have lists with tens or even hundreds of thousands of messages, and Gnus just runs out of memory trying to read these (the work fine in Mutt).
There is one feature I really liked about Gnus: cross-post detection. When you mark articles as read, Gnus remembers the message ids, and upon encountering these in other folders, marks them as read there. For things like the various linux mailing lists, where cross-posting is common, this eliminates a lot of redundant messages.
For now, I’m back with mutt. I’m already discovering that my mail reading time has shortened back again. I’m also figuring out that I missed a lot of email with Gnus. It showed it to me, but the interface was sluggish enough that I tended to skim quickly and mark all as read more.
I may take some time and write a Python program to scan my mailboxes (imap) and propagate the “read” flags in my messages. This would give me this functionality with any email client I happened to choose.

