For quite a while, I’ve had one thing on my mind: what makes FastMail.FM (company site | ESG database) special? Few email hosts have more fans. The FastMail.FM section alone over at Email Discussions sports more than 200,000 posts (that’s more than all the other sections combined).
To help me understand more about FastMail.FM and how they have succeeded so well, I reached out to Jeremy Howard, founder of FastMail.FM.
Viktor: Some of our readers probably already know who you are. For those who do not, can you tell us a little bit about yourself and your background?
Jeremy: There’s a bit about me here, including links to articles in the media. I studied philosophy, and then went into management consulting (including McKinsey & Company and A.T. Kearney). I started an insurance pricing company to commercialise an optimization algorithm I developed, which became the Optimal Decisions Group. That was in 1999. I couldn’t find a decent email service to use at that time, so I spent the summer holidays writing my own. I let some friends use it too – and my friend for nearly 30 years, Rob Mueller, not only used it but quickly became an equal partner in its development.
After manually adding friends’ accounts became too tedious, we added a ‘signup’ button so they could do it themselves. With word-of-mouth, signups shot up, and FastMail.FM was born!
Viktor: What is FastMail.FM?
Jeremy: FastMail.FM is an email service for people who want something more powerful and reliable than what they get from their internet service provider, search provider, web host, or other company that specializes in something other than email. Because FastMail.FM has specialized in email for over 10 years, we’ve built a service that appeals to people who really care about their email.
Viktor: Who’s behind FastMail.FM?
Jeremy: Along with me, there’s Rob, who has been here pretty much since day 1. Rob lives and breathes software development, and knows more about email and web app development than anyone else I know. Our IMAP guru and sysadmin is Bron, who is responsible for the infrastructure that give us near-perfect uptime, and is probably the most active committer to Cyrus in the world today. There’s also our main web form programmer, Richard, and of course Neil, who designed the new interface released in the last year. Plus our terrific support guys who our community all know well.
Viktor: How long have you guys been in business?
Jeremy: Over 10 years.
Viktor: How many users are using FastMail.FM?
Jeremy: We keep that information to ourselves. We’ve had well over a million people subscribe to our service.
Viktor: You guys have a very active community of followers. How did you guys manage to build that community?
Jeremy: Largely it built itself! I contributed heavily to the independently run forum at Email Discussions, which Edwin started after requests from our customers. I have over 10,000 posts there. I asked Edwin to ensure that no FM staff member ever had moderator access to that forum, so that the community could be sure that it was independent and unbiased.
Lots of our customers have contributed greatly to that community, with some having over 5,000 posts!
Viktor: Where are your servers hosted?
Jeremy: Mainly at New York Internet (NYI). They look after power/cooling/network uplink, and provide ‘remote hands’ – we do the rest. They’ve been a great partner to us, and since we’ve been there so long they now really understand our needs. We buy our servers (mainly from IBM), have them delivered to NYI, and they plug them in for us. From there, Bron’s magic takes over and the server installs and configures itself automatically over the network as soon as it’s turned on!
Viktor: What do you think FastMail.FM’s single best feature is?
Jeremy: Can I pick two things? :) A large feature set and reliability.
A large feature set with lots of options for power email users to manage their email workflow patterns how they want. One thing we’ve learned over the years is that everyone uses email subtly differently, and we try and let people use email the way they want.
Aliases, personalities, sub-domain addressing, sieve scripting rules, and a very open spam protection system (e.g. you get to see everything going on behind the scenes in email headers, rather than just a “black box”) allows users to control email delivery precisely.
We believe the argument for “minimalist” software/websites is false, e.g. see here for more information:
From Joel on Software:
“A lot of software developers are seduced by the old “80/20″ rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.
Unfortunately, it’s never the same 20%. Everybody uses a different set of features. In the last 10 years I have probably heard of dozens of companies who, determined not to learn from each other, tried to release “lite” word processors that only implement 20% of the features. This story is as old as the PC. Most of the time, what happens is that they give their program to a journalist to review, and the journalist reviews it by writing their review using the new word processor, and then the journalist tries to find the “word count” feature which they need because most journalists have precise word count requirements, and it’s not there, because it’s in the “80% that nobody uses,” and the journalist ends up writing a story that attempts to claim simultaneously that lite programs are good, bloat is bad, and I can’t use this damn thing ’cause it won’t count my words. If I had a dollar for every time this has happened I would be very happy.”
Although our competitors have flattered us by copying many of our features over the years, we still have plenty of important features that are unique to us. For instance our handling of ‘personalities’ is unique (and the whole concept was pioneered here), as is our handling of sub-domain addressing (another in-house invention).
Reliability is very important to us. We’ve invested a lot of time and money to ensure that we’ve got software and systems in place to maximize uptime. One of the common pieces of feedback from customers is that “FastMail just works”, which is what we want to hear.
As you can see from our public pingdom.com uptime page, in the last year we only had 20 minutes of IMAP downtime the entire year.
Viktor: How do you think FastMail.FM compares to Exchange/Scalix/Zimbra as a collaboration suite for businesses?
Jeremy: Very well.
We have a fully integrated web interface that smoothly integrates all our webmail and management features together. We have collaboration features such as allowing any email folder or any file storage folder to be shared between users with their own ACLs, and a global address book to share contacts between people in the business. Again all of these features work over IMAP and LDAP, not just within the web interface.
Viktor: In recent time we’ve seen a lot of email, news and social networks aggregators enter the market (eg. Fuser, Orgoo, LifeIO and threadsy). What are your thoughts on this trend? Is this something that affects FastMail.FM?
Jeremy: Data stored at FastMail is accessible via open protocols like POP, IMAP and SOAP APIs, so if people want to use an aggregator to view all their data at one place, that’s fine. Again, let people manage their workflow however they want.
However I think aggregators will remain a small part of the market. They probably get big press, but the number of people that actually use them are probably low relative to the total number of email/social network users, like the number of people that would customize their “portal pages” 10 years ago…
We generally recommend that people start by using FastMail.FM to aggregate their own email accounts – by using ‘POP Links’, ‘virtual domains’, and our IMAP import functionality.
Viktor: You’ve been personally involved with a few Open Source projects, such as Postfix and Cyrus-IMAP. What have you been working on in these projects? Are there any features that you think are missing in Postfix and Cyrus-IMAP?
Jeremy: Our main contributions have been to Cyrus. To be a reliable provider, we have to make sure our underlying software is as reliable as possible, so many of our Cyrus patches are to ensure that the replication process in Cyrus is rock solid (including adding SHA1 checksums to all emails and data), and that Cyrus itself as an IMAP/POP server is rock solid.
On top of that, we’ve also worked with Cyrus to improve performance where possible, adding extra caching where needed, and being able to separate data into hot vs cold parts so they can be stored on different devices for better price/performance setups.
The main way we’d like to see Cyrus grow in the future is to continue to add more features, such as implementing more parts of sieve and IMAP extensions (eg QRESYNC).
Viktor: IMAPv4rev1 is the last revision of IMAP and it goes back all the way to 1996. The world looks very different today than it did back then. Where do you think we will go from here?
Jeremy: The IMAP spec was well designed to allow extensions that ensure that it never becomes obsolete. There’s been lots of extensions to IMAP and SIEVE since that RFC. Rob spoke with Ken Murchison at CMU about which RFCs look interesting, and they were in strong agreement:
Complete or nearly complete extensions already in Cyrus:
- The IMAP METADATA Extension. The original ANNOTATEMORE draft (which cyrus implements) turned into this.
- IMAP4 Access Control List (ACL) Extension.
- Internet Message Access Protocol version 4 – LIST Command Extensions.
- Internet Message Access Protocol – SORT and THREAD Extensions.
New implementations that won’t be too hard:
- i;unicode-casemap – Simple Unicode Collation Algorithm claims it’s not hard.
- Internet Message Access Protocol – CONVERT Extension. Bron’s patch that allows full charset -> utf-8 conversion would make the mandatory part of this easy.
- IMAP4 Extensions for Quick Mailbox Resynchronization. Given cyrus has condstore support, this shouldn’t be too hard.
- Internet Message Access Protocol Internationalization. With the i;unicode-casemap support, I think we’d have level 1 support of this.
- IMAP4 Extension for Named Searches (Filters) should be straight forward if stored in metadata db.
New implementations that would be nice:
- The IMAP NOTIFY Extension would be nice to extend idled to handle multiple event types on multiple mailboxes from each imapd.
- Internet Message Access Protocol – ANNOTATE Extension. This would be really useful, but quite a bit more work and probably require and extra db per folder.
On top of those, cyrus recently implemented the COMPRESS extension, which can vastly improve bandwidth usage.
We’ve rolled this out, and also created a proxy that allows people to take advantage of it with any email client. I use it all the time and see 80% bandwidth savings.
On top of that, we helped Mozilla implement it in Thunderbird, so Thunderbird 3 B3 onwards supports it natively.
So the IMAP protocol is certainly still evolving.
Viktor: One of the biggest selling points for FastMail.FM is the spam and virus protection. What makes your protection better than the competitors?
Jeremy: We don’t believe in a “magic bullet” approach. Every year or two someone will come along and say “I’ve got the simple, perfect system that solves the spam problem”. The reality is all of them work on some assumption that breaks at some point.
Instead FastMail uses a broad approach, based on multiple SMTP stage and post accept content/header analysis techniques.
There’s actually a good description of all the things we do at the SMTP stage here.
If the spam gets through that stage, we then have a large number of content analysis systems, from detecting insecure originating hosts based on trace headers, to detecting spamvertised URLs in emails, to analyzing attached images for image spam, to searching for common scam email content, to a personalized bayes database per-user, etc.
By putting all these things together, we have a broad spectrum spam and virus protection system that’s resilient, and accurate at determining spam while avoiding false positives (especially with a little help from users by reporting Spam/Non-spam to train their bayes db).
Rob is so confident of the results, that that he publishes his email address everywhere over the web! E.g. he puts it regularly on our blog.
He still receives basically no spam in his Inbox, and because he files everything marked as spam into a Junk Mail folder and checks it once per week, he can check that as well (and finds almost no false positives either).
Viktor: Another selling point is reliability. This is obviously very important, yet you do not publish any SLA. How come?
Jeremy: SLAs are generally a bit of a con. If a customer can’t access their email when they need it, that could cost them enormously, either commercially or personally. But all SLAs I’ve seen only offer a small refund for a large outage – it’s really no help at all to the customer. So instead of offering such a miserable token, what we do instead is support independent 3rd party resources like pingdom uptime monitoring and the Email Discussions forum so that prospective customers can get a truly independent and complete view of what we offer.
Viktor: Every interview these days include a question about Cloud Computing, so here we go: is FastMail.FM moving to the cloud?
Jeremy: FM already is part of the cloud (depending on your definition!). When you use IMAP, all your emails and folders are magically synchronized across all your email clients, and to the web. FastMail.FM can bring in all your existing email accounts (via POP links), and import complete sets of folders and messages (via IMAP migration). Data can be pushed to mobile devices (that support the IMAP IDLE command), and can be viewed and modified offline (and an appropriate IMAP client). Messages are stored redundantly across multiple servers for speed and reliability, but a ‘single view’ to the customer hides all that back-end complexity.
FM also provides folder-sharing with sophisticated ACL support, to allow users to share folders and messages (for instance, we use this to allow all staff to view and modify our support request queue).
So with centralized redundant storage, access through multiple devices, and support for sharing, FastMail.FM provides the kinds of services that people are coming to associate with this nebulous concept of ‘the cloud’.
Viktor: Thank you for your time Jeremy. Good luck with FastMail.FM and all your other ventures.