Brent Simmons started an email group discussion about creating a new mail client in Cocoa. You can read the discussion here . So I’ve decided to describe how I use mail and what was important to me when I recently switched from Mailsmith to Apple’s Mail application. I thought I should write this down before I read about the candidates to lead this initiative.
I don’t particularly try to follow the inbox zero email philosophy as I think of the inbox as just another place to file mail. Like many other users I try to keep my inbox relatively clean and low volume and I filter messages quite aggressively to achieve this. Typically I will have specific mailboxes for work, specific projects, reference material, software registration, mailing lists etc. and will file incoming and outgoing mail to these. I generally prefer to keep my email as plain text and view it this way if possible, only switching to viewing HTML mail when absolutely necessary.
Until very recently I was happily using Mailsmith as my email client of choice. It is a very strange beast in some ways and has a few limitation but nothing else I have used has been as well thought out as an application. If Mailsmith supported IMAP I would still be using it, for the following reasons.
- Simple, elegant user interface.
- Text only representation of emails, clearly showing the URLs. Good for 90% of all received email.
- Fantastic filtering that could be applied to specific mailboxes and covered both incoming and outgoing mail. Admittedly management of filters could sometimes get a little labyrinthine but once they were configured they were fast and transparent.
- A fantastic text editor (as one would expect) to create emails. Shortcuts such as ⌘-' have become part of my ‘muscle memory’ such that I don’t even have to think about them. Which brings me to...
- A keyboard driven interface. It’s always struck me as slightly ironic that the first popular computer GUI is also the one that provides the most consistent keyboard shortcuts for interacting with application. Mailsmith provided a comprehensive set of logical, consistent (and customisable) keyboard shortcuts for all common operations.
- The ability to handle very large amounts of mail without choking. I never felt that Mailsmith would ever lose a mail message.
Setting aside the lack of IMAP support, if I felt that Mailsmith had any weakness it was the slow email searches and complete inability to render HTML mail. As I said above, I like the way Mailsmith produces plain-text representation of HTML mail; these are rendered very well and the targets of URLs are always clear which is a great aid to security. I always felt some HTML rendering within the application would be valuable if implemented with care. As I saw it, a UI/menu option to view HTML three ways would be the best solution with the default controlled by a preference:
- Plain text email with no evidence on inline images.
- HTML email displayed within the client via Web Kit but only loading content attached to the message.
- Full display of HTML email including external content.
From my previous trials with PowerMail, I believe this is how they handle HTML mail and it seems a logical balance of the possible approaches to the problem.
I persisted with Mailsmith and kept a POP solution running across multiple email clients longer than I really should have. In the end things got to a point where a move to an IMAP email solution was the only sensible option. At that point, having failed to identify any alternative mail application that was suitable I switched to Apple Mail.
My first impression of Apple Mail is that it is in many ways pretty disappointing, for instance the filtering is pretty weak (and why is there no filtering of outgoing mail), and tricked out with all sorts of things I don’t like. I don’t need todos, HTML stationary, I don’t really like the way it renders HTML mail and it doesn’t quote text in the appropriately old-fashioned style. Most of these options can either be turned-off or customised via plugins, in my case the following:
- Mail Act-On to provide filtering of outgoing messages and easy filing of messages.
- Server-side filtering of emails via Sieve Scripts at fastmail.fm, my IMAP service.
- SpamSieve filtering for the remaining spam messages that get through fastmail.fm.
- Appropriately old-fashioned quoting of messages via John Gruber’s scripts and Keyboard Maestro.
- Customised keyboard commands to switch to Mailsmith commands such as ⌘-E to send the current message.
- Widemail plugin to switch the three-pane view to a three-column mode.
- Toolbar hidden.
- Customise the headers view to show the email client used to send mail.
So what do I need from a new email client that mail doesn’t provide?
- Reliable, fast IMAP performance that scales to large numbers of files.
- Address book integration
- A really good text editor
- Plugin capability
- Applescript support
- Quicklook for attachments
- Standard mail storage format with the ability to import and export the mbox format.
- Growl support for filtering
- Fast searching within the application
- Unicode support - probably a given now
- Works with minimal GUI and logical keyboard shortcuts
- Text-only mode with a fallback to html rendering.
- No HTML editing.
- The option to customise the headers view.
That’s it. Should be easy...