Nice article. But I think there are a few other things they missed out that make building an email client so difficult:
1. Consistency. Okay, this is always going to be a problem, since rendering anything more than plain text in emails is a minefield that makes the bad old days of Internet Explorer vs Netscape Navigator look like a utopia. But people still expect their Amazon/eBay/Google/whatever account/confirmation emails to look decent, so you have to figure out a basic HTML parser as well. And then try and make it somewhat work with people who are designing their messages with stuff like Outlook's Microsoft Word engine in mind.
2. Spam. I'm surprised this wasn't really mentioned in the article, but it's arguably the biggest issue any email provider, client developer or email server software maker has to deal with. You have to make sure your software can figure out what messages are unwanted, then either send them to the spam folder or delete them. Most startups don't have to figure that out, since their systems are closed and spam prevention can be done on sign up. Not so much if you're building an email client where any Tom, Dick or Harry can send messages to anyone with no real way to verify if they're human or not.
Check out Haraka, built by an old SpamAssassin developer (ie me). It's all that and has custom anti-spam features like the Karma plugin too. It's in place at some large installs (eg craigslist, who went from 20 postfix servers to just 7 Haraka servers).
1. Consistency. Okay, this is always going to be a problem, since rendering anything more than plain text in emails is a minefield that makes the bad old days of Internet Explorer vs Netscape Navigator look like a utopia. But people still expect their Amazon/eBay/Google/whatever account/confirmation emails to look decent, so you have to figure out a basic HTML parser as well. And then try and make it somewhat work with people who are designing their messages with stuff like Outlook's Microsoft Word engine in mind.
2. Spam. I'm surprised this wasn't really mentioned in the article, but it's arguably the biggest issue any email provider, client developer or email server software maker has to deal with. You have to make sure your software can figure out what messages are unwanted, then either send them to the spam folder or delete them. Most startups don't have to figure that out, since their systems are closed and spam prevention can be done on sign up. Not so much if you're building an email client where any Tom, Dick or Harry can send messages to anyone with no real way to verify if they're human or not.
So yeah, few other issues.