Nov 30

Mail clients

We all use them. We all suffer under their inflexibilities and bugs. Some use them more some use them less. For those of us who use them for more than one or two emails a day a very important feature are filters.

However, there are some problems regarding those filters or more specifically, how those are created and where they are saved and executed.
Different MTA support different mail filter script formats on the server side. One of them more popular varieties are maildrop filter scripts. Those are very practical if you have static set of filters you need for your mail. Since these are saved and executed on the server you have your mail sorted for you in every client you use to connect to your account. These are like fire and forget rockets, you write them once and never touch them again.

So far so good, but every time you subscribe to a new mailing list you have to go back into you serverscript write new regular expressions to filter them. While this has worked just fine for a couple of decades now, maybe it is about time to improve this workflow.

Then there are the client side filters. Nearly every mailclient has some sort of filters or rules to sort mails. Quite similar to the possibilities we have on the serverside one can create filters based on the different fields in the mailheader. Of course if you only have one mailclient which you use, this is just fine and you won't understand my frustration at all. But as soon as you use one additional client like your phone or you computer at work, the limits of clientside filtering become obvious: they are client side. You either have to recreate your every filter on the second client or just wait till you get to your 'base' client again to have some order in your mailbox.

Enter sieve and managesieve: a possibility to manage server side scripts from client. Sounds promising, doesn't it? Well, one would hope you were able to create server side filters with sieve as easy as client side ones. Just click on the mail and create a filter based on some header field. Unfortunately that's not how ot works. You can edit the filters from you client alright, but all you get to do that is a lousy textfield???
At least on the server you can have syntax highlighting!

There are a couple of approaches to improve the whole mail business. For example I think google mail does a pretty good job. They even got rid of folders alltogether. Instead you just have tags. Mails can have multiple tags and aditionally to the usual header fields you can create filters based on these tags. And google mail actually tries to figure out which mails are important to you and puts them at the top of your inbox. There's a big negative to google mail though: you are not in control over your emails any more.

And I don't think this goes far enough with regards to the technology we have at our dispose today.

Even with the usage of buzzword technologies like NLP, automatic topic maps, etc there are many things that could be improved.
I would like to be able to define a folder where mailinglists should go to. New mailinglists should automatically be put into a new subfolder in there.
True, I could write that with maildrop scripts, but I shouldn't have to do that. The mailprogram/server should be able to do that for me. Same goes for people. When starting a conversation your mailclient should ask you after the x-th mail
'hey, would you like me to put mails from your new contact $joe into its own folder?'
That's not asking too much, is it?

With today's technologies it would be easy to sort your mails into folders/tag them based on the topic.[1,2,3]
You could tell your mailclient to show your all conversations you with Robert about your travel plans. Or something like ‘give me all emails from last years' X-Mas planning

As it stands today, email clients didn't evolve at all in the last 15 years! When I used The Bat! in 1996 it could do everything mailclients can do today. Sure we have nice themes now, but apart from that: nothing has changed :/

So what are we going to do about that? Lets create (yet another) mailclient!

Relevant RFCs:
RFC 5322
RFC 2045-RFC 2049
RFC 822 (1982) and RFC 2822 (2001)

[1] Email classification and summarization: A machine learning approach
by: Taiwo Ayodele, Rinat Khusainov, David Ndzi. In IET Conference on Wireless, Mobile and Sensor Networks, 2007. (CCWMSN07). IET Conference on (2007), pp. 805-808.  Key: citeulike:5637492
[2]Email Filtering: Machine Learning Techniques and an Implementation for the UNIX Pine Mail System by: Yu H. Chang   Key: citeulike:1379460
[3]Combining linguistic and machine learning techniques for email summarization
by: Smaranda Muresan, Evelyne Tzoukermann, Judith L. Klavans
In ConLL '01: Proceedings of the 2001 workshop on Computational Natural Language Learning (2001), pp. 1-8.
doi:10.3115/1117822.1117837
Key: citeulike:1422784

Share