Recently I’ve been looking at, and thinking about, email clients. I’ve been using “Eudora”:http://www.eudora.com/ now for nearly 2 years, and have been getting more and more dissatisfied with it. I have somewhere over 80000 emails in folders/mailboxes; currently I recieve over 2000 emails a month (mostly from mailing lists) but before I unsubscribed from many of them I was getting nearly 7000 messages a month.
Email is data. And the problem with today’s email clients is that most weren’t designed to handle the volume of messages we receive today.
Opera’s “M2″:http://www.opera.com/m2/ has pointed the way. Access points, a central database of messages… all good. But I think it needs taking further.
Many of us red high volume mailing lists. If you’re on too many (which is very easy, as so many have the occasional interesting/useful thread), it gets hard to keep up and pick out the messages of interest. I’d like to see some kind of in-built AI, along the lines of the Bayesian spam filters, that depending on your ranking of previous messages flags those it thinks you’d be most interested in.
Access points, or views as some people call them, are extremely useful. Instead of having a rule to copy all messages containing a certain string to a folder, I set up a view. This prevents having duplicate messages with the consequental increase in disk space required.
I believe that newsgroups should be closely integrated. It should be (practically) invisible to the user whether the message they’re reading/replying to is an email or a newsgropu posting - after all, why should it matter?
Attachments should be able to be filtered into folders. One of my biggest complaints about “Eudora”:http://www.eudora.com/ is that I can’t do this - so photos from a couple of photo-only mailing lists end up mixed together, along with all the other -crud- attachments (”Eudora’s”:http://www.eudora.com/ @attach@ folder currently has over 900 attachments in it). This makes management of the files much harder than it should be.
I don’t want the mail client to come with an in-built spam filter. There’s plenty of stand-alone tools to do this instead, and they have the benefit that if you change email clients then you don’t have to start training all over again. I’m a great believer in each tool being specialised and only doing what it’s good at.
An email client must easily support multiple email addresses or/and POP3 accounts. I have an infinite number of addresses (due to a catch-all) and over 10 domains I manage. I need an easy way to send a message from any of them - ideally by typing the address I want into the “From” field of the message. Some email clients ‘bung’ all messages from multiple POP3 accounts into the same folder tree; others (like “The Bat!”:http://www.ritlabs.com/the_bat/) give them separate trees. I’m not sure which is best - I always use only 1 POP3 account and redirect email from all my addresses to it. An unusual approach? Maybe, but it means I only have to enter 1 password to check my email (”Eudora”:http://www.eudora.com/ won’t store the password for me).
In the end it comes back to the fact that as yet we don’t have very good information/knowledge management tools. This is the case in all areas - look at the struggles “charted in this weblog”:http://peter.mapledesign.co.uk/weblog/archives/other_weblog_tools.html as I try to find a tool suitable for posting links I find, source code, and articles like this.
h2. What’s currently available?
Short answer: loads and loads of similar email clients.
Long Answer: Plenty to keep you occupied if you want to test them. I haven’t tested many - usually because they are 30 day trials, and ’sometime in the future’ I may want to test them more seriously than I do now. Below are a few with innovative features:
Interesting because of the way it threads (received and sent email are mixed together - something I think I’d find very useful, as I’m always having to dive into the Sent mail folder if people haven’t quoted properly)
Its “folders features”:http://www.munite.com/features/folders.html don’t look to be so useful:
bq. [...] if you go to a folder and write a new EMail from there, all replies will be moved to the same folder, automatically. This can dramatically reduce manual handling by you; no more dragging EMail around.
Fine, but sometimes I’m bound to be in the wrong folder when I send an email.
h3. “M2″:http://www.opera.com/m2/ (part of “Opera”:http://www.opera.com/)
In my opinion Opera is definitely showing the way. So why am I not using it?
# It is built into the browser, so I have to have the browser running as well
# Even on XP running Opera 7.11, web pages still crash Opera (I get approx. 1 crash per hour, more during heavy surfing). And I can’t have my mail client crashing.
# When I first tried it, back in the original release, it did seem a little slow. However, I’m told this has been fixed since.
# The interface of Opera 7.X, while pretty to look at is a *pig* to use. Too many entries on the menus, some entries on unexpected menus… (but “Rijk’s”:http://people.opera.com/rijk/opera/ replacement menu file is a very great improvement)
_*Update 2004/02/18*: Now I use Opera as my default browser (7.2X is really stable) these drawbacks are mostly not valid. But I’m still nto using M2 as I don’t understand it enough (or have too much effort invested in Eudora?)_
h3. “The Bat!”:http://www.ritlabs.com/the_bat
An email client of the old school, yet with a twist. Its template support is exceptional, and it has built in support for PGP. I ran it for the 30 day trial a while back, and was very impressed, but there were one or two niggles that stopped me from swapping. With version 2 being released on 1 September, I will have to test it again.
I like the way I can type any address into the “From” field, and IIRC(If I Remember Correctly) it’s easy to add extra headers on a per-message basis.
This has another take on the relationship between messages received and replies you’ve sent. Instead of threading the messages together like Munite, it puts a _Followup Link_ along the top of the preview pane taking you to the reply you sent.
h3. “Courier Email”:http://www.rosecitysoftware.com/Courier/
One of the few programs that allows you to automatically save attachments to different folders on your hard drive, or delete them completely.
Looks nice. The website doesn’t show any outstanding features, but I think it needs downloading and trying to find them.
An interesting point is that this client, and similar ones such as “Mahogany”:http://mahogany.sourceforge.net/ have been written as IMAP clients, and then had POP support added on. I’m not sure what the attraction is with IMAP (I don’t like using it as I hit the quota after a couple of weeks) but I wonder if there’s a benefit in using an IMAP client, and running a local IMAP server to store the messages?
Not revolutionary in any way as far as I can tell (which means this is starting to become a generic list of email clients… time to restructure!), apart from the fact that it’s written using wxWindows (so is cross-platform) and has amongst its features:
bq.:http://mahogany.sourceforge.net/features.html Embedded python interpreter for powerful scripting with full object-oriented access to Mahogany’s internal structures and classes.
Which sounds useful, although I don’t know if this would allow the addition of the features I’m after. I doubt it somehow.
Of course I could always use Mutt, packaged in “Unixmail for Windows”:http://unixmail-w32.sourceforge.net/, and forget any of the features I’ve outlined above!
I think that a highly developed email client on the lines outlined above would make an excellent Open Source project. Everyone needs a decent email client (like everyone needs an operating system) and businesses would benefit from the ease of managing their emails.
I’m keeping my eye on “Chandler”:http://www.osafoundation.org/OSAF_Our_Vision.htm to see what happens with it, as they seem to have got the right idea. Although I do wish that they and the “Mozilla Foundation”:http://www.mozillafoundation.org/ were working together to make “Thunderbird”:http://www.mozilla.org/projects/thunderbird/ into Chandler.
h3. Thoughts on implementation.
If someone was to undertake writing an email client based on the above ideas (unfortunatly I don’t have the skills), here’s a couple of ideas:
* Write the client in Delphi, using “Firebird”:http://firebird.sourceforge.net to store the messages, and provide views etc. Using Delphi allows you to have a client that works on Windows and Linux (using Kylix)
* Use “wxPython”:http://www.wxpython.org (or “wxWindows”:http://www.wxwindows.org) and “SQLite”:http://www.sqlite.org/ as the database.
* Use the Mozilla framework (i.e. XUL) and… something