Philosophy

Matthieu Rakotojaona edited this page Jun 8, 2013 · 1 revision
Clone this wiki locally

Should an email client have a philosophy? For many people, email is one of our primary means of communication, and email archives are an integral part of our long-term memory. Something so important ought to warrant a little thought.

Here's Sup's philosophy.

Using "traditional" email clients today is increasingly problematic. Anyone who's on a high-traffic mailing list knows this. My ruby-talk folder is 430 megs and Mutt sits there for 60 seconds while it opens it. Keeping up with the all the new traffic is impossible, even with Mutt's excellent threading features, simply because there's so much of it. A single thread can span several pages in the folder index view alone! And Mutt is probably the fastest, most mailing-list aware email client out there. God help me if I try and use Thunderbird.

The problem with traditional clients like Mutt is that they deal with individual pieces of email. This places a high mental cost on the user for each incoming email, by forcing them to ask: Should I keep this email, or delete it? If I keep it, where should I file it? I've spent the last 10 years of my life laboriously hand-filing every email message I received and feeling a mild sense of panic every time an email was both "from Mom" and "about school". The massive amounts of email that many people receive, and the cheap cost of storage, have made these questions both more costly and less useful to answer.

Contrast that with using Gmail. As a long-time Mutt user, I was blown away when I first saw someone use Gmail. They treated their email differently from how I ever had. They never filed email and they never deleted it. They relied on an immediate, global, full-text search, and thread-level tagging, to do everything I'd ever done with Mutt, but with a trivial cost to the user at message receipt time.

From Gmail I learned that making certain operations quantitatively easier (namely, search) resulted in a qualitative improvement in usage. I also learned how thread-centrism was advantageous over message-centrism when message volume was high: most of the time, a message and its context deserve the same treatment. I think it's to the Gmail designers' credit that they started with a somewhat ad-hoc idea (hey, we're really good at search engines, so maybe we can build an email client on top of one) and managed to build something that was actually better than everything else out there. At least, that's how I imagine in happened. Maybe they knew what they were doing from the start.

Unfortunately, there's a lot to Gmail I can't tolerate (top posting, HTML mail, one-level threads, and ads come to mind, never mind the fact that it's not FOSS). Thus Sup was born.

Sup is based on the following principles, which I stole directly from Gmail:

  • An immediately accessible and fast search capability over the entire email archive eliminates most of the need for folders, and most of the necessity of deleting email.

  • Labels eliminate what little need for folders search doesn't cover.

  • A thread-centric approach to the UI is much more in line with how people operate than dealing with individual messages is. In the vast majority of cases, a message and its context should be subject to the same treatment.

Sup is also based on many ideas from mutt and Emacs and vi, having to do with the fantastic productivity of a console- and keyboard-based application, the usefulness of multiple buffers, the necessity of handling multiple email accounts, etc. But those are just details!

Try it and let me know what you think.