Two months ago, I migrated my private e-mail to Gmail. I’ve had an account there since June 2006, but only used it sporadically, preferring the mail client I started using when I was studying computer science at KTH: mutt. mutt has a number of strong points:

  • It lets me use emacs to write mails.
  • It threads mail the right way, and lets me view (part of) the thread at the same time I’m viewing a message.
  • It’s reasonably configurable.
  • It can be controlled entirely via the keyboard.
  • It’s free software.

However, it also has significant downsides:

  • It’s folder based, and doesn’t support searching in more than one folder at once.
  • It’s a terminal program—all text, no graphics. Not exactly cutting-edge 21st century technology. So no graphics in messages, and no way to point and click your way along if you don’t remember the keyboard shortcuts.
  • It’s not a web app, so you can’t get at your mail from any computer. I ran it on a remotely accessible server, so I could read mail from any computer with ssh; it worked, but not every computer has ssh. But everything has a web browser.

I considered switching to a graphical desktop mail reader, such as Evolution, Thunderbird, or KMail. However, none of them has search as good as Gmail’s, and they’re still not web apps, so I’d be stuck with reading mail on just one computer.

Gmail doesn’t have the downsides I listed for mutt: it is a webb app, it is graphical, and it has good search. But it also doesn’t have some of the upsides:

  • It uses a web browser text box for mail writing. However, there’s a Firefox plugin that lets me edit text with emacs.
  • It groups mail by thread (called “conversations”), but doesn’t display the threads’ tree structure, and doesn’t show an outline of the thread.
  • Most things seem to be keyboard-controllable, but I still haven’t gotten comfortable with the keyboard shortcuts. And there doesn’t seem to be a way to configure them—which brings me to the biggest downside of Gmail:
  • It’s not configurable. Sure, there are a few settings you can tweak, but compared to mutt or even the desktop mail clients I mentioned, it’s a joke. I can’t even make it display dates in my preferred format.
  • Oh yeah; it also isn’ free software.

The lack of configurability was what kept me from switching for so long. I finally decided it was worth the pain—but that doesn’t mean it doesn’t hurt. And I’ve found some other irritating shortcomings as well:

  • The search isn’t as powerful as it could be; there are a number of advanced functions missing, such as precise date range restriction, searching message headers, and regexp search. (But I know that regexp search probably would be too computationally expensive for a free service.)
  • Filtering of incoming messages isn’t powerful enough. In particular, it’s implemented in terms of search, and thus subject to the restrictions detailed in the bullet point above. Regexp search and full message headers may not be essential in regular searching, but they’re hard to live without in filtering. And it’s not possible to set up parameterized filters that filter lots of mailing lists at once; you have to create filters for every list manually.

These shortcomings notwithstanding, Gmail is a great application, and it does have a number of useful features, such as automatically fetching mail from POP accounts, and IMAP access (very useful for those of us who have a preexisting mail collection we wish to import when starting to use Gmail). And best of all, it just works out of the box, no tweaking necessary. So for now, it’s my mail client. But I’m keeping an eye on notmuch, a mail client with Gmail-style searching and an emacs-based interface; it looks like it’s going to be quite competitive once it’s matured a bit.