IMAP’s biggest problem is poor server implementations and big vendors who are not really supportive towards each other being the ones defining it. Not because they are the only ones at IETF who are vocal about the protocol. It’s because if the big players don’t implement the new enhancements, it basically boils down to not being used and the E-mail clients not adopting it. Quite funny is the fact that all those big players have their own closed protocols for E-mail too. That all those big players seem to consider their IMAP support to be of secondary priority.
If a new feature would make IMAP really a lot better than the closed solutions, then it does happen that the big vendors will especially not implement it. I suspect that’s because that would pose a direct risk for their own offerings.
Take a look at GMail’s CAPABILITY line if you think that Google is the God of good, the great and the brave. Their IMAP server is probably one of the poorest imaginable. You would think that Google would want to make a name for itself by introducing a really good IMAP server? Given that they hired thousands really excellent software developers and even at least one of the people who have been really closely involved in the creation of the IMAP standard, you would expect that. No?
Well, no. For Google it’s only the words “IMAP” and “support” that really matter. Just to get the sound of those two words in the minds of the people, and then that’s it. Nonetheless for IMAP’s name-reputation it’s actually good that Google did this. Google’s IMAP server doesn’t really show what a modern IMAP server would be capable of.
To show this, it lacks capabilities like COMPRESS and/or do compression over TLS. It lacks capabilities like CONDSTORE, QRESYNC and BINARY. It will probably not adopt anything the Lemonade group is doing at this moment, like CONVERT and NOTIFY. It also doesn’t do TLS correctly: it only supports wrapped mode for SSL. Making it hard for E-mail client developers to standardize on data encryption. And what about THREAD, SORT, UIDPLUS?
Probably because otherwise people would make fun of Google’s IMAP team, it looks like they did make it support IDLE.
Not very surprisingly are they offering mobile E-mail solutions that use their secret closed protocol. So much for Google being the most cool company humans ever created. In a way, they are doing exactly the same as Microsoft once did with embrace and extend. But in a more subtile way. In such a way that people keep believing: but hey, Google is cool! Summer of code! yeej! They do IMAP! And XMPP! Open formats! Open protocols!
Well, Microsoft does IMAP too. Their IMAP support in Exchange is actually better than Google’s IMAP server. It’s hard to be worse than Microsoft’s support for open protocols, but to get away with it for free? Just like any other IMAP server implementer has Microsoft got some of their things wrong. They usually actually do fix this. We’ll see how Google will play their IMAP game. I’m for sure going to be critical, no matter what.
> Not very surprisingly are they offering mobile E-mail solutions that use their secret closed protocol
Out of curiousity – who uses those solutions?
it has been a while since i have come across such a well written post on planet gnome. thanks.
and people wonder why i have not gone g yet. i was wondering when the other glove would drop…
Philip — is there a free IMAP server implementation you CAN recommend? I have been using Courier-IMAP, but I’m wondering if there’s something else out there that’s better/flashier/newer ;-)
What do you think would make Google change it’s broken, or incomplete approach to IMAP support?
Very interesting. Always good to hear these kinds of analyses.
The SSL wrapper mode only is a bit crazy too…
Nick: Dovecot and Cyrus are awesome. Courier … please don’t use that.
Jonathan: CONDSTORE, QRESYNC, SORT, THREAD, COMPRESS, STARTTLS (with a TLS library that does compression – combining COMPRESS and STARTTLS is not required for me, because that makes no sense indeed -), NOTIFY, UIDPLUS, …
Jonathan: interesting would also be to see them participate in the Lemonade IETF group.
What’s bad with courier?
Isn’t gmail primarily a webmail solution, where IMAP is just a tiny bonus you get if you happen to use other email servers too and want it all in the same app? Kind of shoe-horn down gmail into your email client kind of way? But yeah, ofc it would be nice with better imap support, but the fact that they did take the time to add imap is more than any other large webmail company has done for its users, and maybe they will provide better support in the future, we’ll just have to wait and see.
anonymous: The fact that the author of the server seems to on-purposely misinterpret the standard. That what Courier IMAP does and has been doing in the past, at some crucial points doesn’t even look like IMAP anymore. For it lacks all the things that are crucially important, and introduces certain other things that indicate that the author simply didn’t get the point.
It’s kinda frustrating if your client code becomes a mess full of hacks just to support Courier too. The funny thing is that you see the tendency of introducing hacks and comments full of swear words in almost each E-mail client as soon as they want to make it it working with Courier.
Luckily the one (silly) reason why people have been picking Courier is available in Dovecot too: Maildir. It’s not that Maildir is such a extremely great standard. Although it sure is a good standard (just not great), if you replace the ‘:’ in the filenames with ‘!’ (else it wont even work on Windows).
Normally I wouldn’t have that much of an opinion about a software like Courier. I mean, it’s free software and even if it wouldn’t have been free software … if the guy wants to write crap, let him write crap. Right? The problem is that it’s a popular server (for some bizarre reason, it managed to get popular – I can’t grasp why, though -) and that this means that each and every client developer needs to cope with the quirks.
And that’s not good, not good at all.
Apan: yep and yep
Well, I can’t speak for why Courier IMAP is popular, but I can tell you why I’m using it.
I needed an IMAP server that worked well with virtual domains (we have a single email server that provides email for a number of clients and domains), had database support, and was actively developed. I use a combination of Courier-IMAP, MySQL, Postfix, and Horde/IMP. A custom PHP based front-end manages email accounts. I adopted Courier IMAP in 2003, and at the time, it seemed like the only choice for what I needed to do. I’ve experienced some problems with it (mainly with Outlook 2003 — I’m not sure whether to blame Courier IMAP or Microsoft, experience would tend towards the latter), but on the whole, it’s been stable and reliable.
Cyrus doesn’t seem to have released a stable version of their code in 4+ years. I’m hesitant to go with the 2.3.x tree on a production server.
Dovecot is fairly new; is it ready and stable enough for production use?
I would have gone with Cyrus as well a few years ago, but like @Nick mentions, I needed Virtual Domain support and Cyrus didn’t have it.
And you didn’t even mention their strange tag-as-folder implementation and no subscription implementation.
Phil:
Your post — and your work — miss the point entirely. Nobody cares how email works, they just want it to work.
Gmail (and most other webmail applications) makes everything else obsolete. I can’t imagine why Evolution is even shipped with Gnome anymore.
Web-based email clients are the standard.
-Anon
The fact that they did take the time to add IMAP is more than any other large webmail company has done for its uneducated users. Let’s hope they continue to improve the IMAP implementation because IMAP makes webmail obsolete.
Gmail IMAP Claws Mail on Maemo and Gmail IMAP on Seamonkey are working.
I don’t use Google IMAP too much after I discovered FireGPG, but I must say that I used it on Mozilla Thunderbird and it worked great. Actually it worked *far* better than any IMAP service I have ever used, including my employer’s.
@Elvis: that just proofs that your employer’s IMAP server is not a very good one. Google’s IMAP server is probably the weakest I have ever seen. A modern IMAP server is really a lot more capable. But of course, a lot depends on your E-mail client too … if it doesn’t use the modern IMAP server’s capabilities, that’s not the fault of the IMAP server of course.
Looks like they listen to this critique. Hour ago they removed IMAP support from their «Settings/POP&IMAP» page — silently, without declaration of war. Now my Thunderbird can’t connect to Gmail with error «IMAP is not available for your account». I have no idea if they disable it forever or just for upgrade or maintenance.
While I share your frustration with Google’s infuriatingly weak IMAP implementation, I don’t think your perspective on how this relates to Google’s character as a company is quite accurate.
Like Microsoft, or any other business, Google is going to move forward with decisions that make good business sense to them. Google has never proclaimed themselves to be a FOSS company and they don’t pretend to be. Rather, they understand, that for the types of products they intend to create, it makes great business (and technological) sense to leverage open source technologies and open standards. In some cases it even makes sense to contribute back to these projects or open source your own. However, like most companies that leverage open source technologies to drive their products (busybox sqlite mysql anyone?) much of that gets wrapped up in proprietary code under different licenses (and often GPLd versions too but it’s difficult to track).
GMail, like any other product on the market, has strengths and weaknesses. Google has invested in parts of the product that drive their product strategy forward, and create value for the majority of their user base. Customers are free to choose the solution(s) that best fit their needs and ideology. While Google may eventually get around to working on their IMAP support, it may not be a supporting interest to their long term vision for GMail. It is their obligation to their shareholders to make business decisions that reflect these goals.
As for myself, GMail works for me in most cases. That’s not to say that I don’t have all kinds of implementations that I deploy for my customers (Windows+Exchange, FreeBSD+Qmail, Ubuntu+Courier, etc) but when it comes to my personal mail needs it works great – not to mention that it syncs contacts, calendar, and mail to my phone, and that Google Docs also satisfies my Office needs, and that Google Voice let’s me do some badass voicemail tricks, and that my tasks are available everywhere, and Google reader to find this blog, etc.
A final thought on privacy. I’m torn. I’m a ridiculous privacy advocate. But I’m also a huge fan of simplicity and convenience. I find Google’s privacy policies borderline insulting. However, I can’t help myself from seeing a certain truth to things. Despite Google’s crap privacy policy, I don’t feel a concern for my personal privacy – just a concern for general privacy on principle. The fact is, I don’t really have a cause for concern. I’m not a criminal, I’m a nerd. I don’t have time to even consider hacking. I can’t think of a single thing I have going on that would make me a target for investigation. After all, privacy breaches are typically defined by some sort of investigation yeah? I would say, that in general a breach of my privacy (in the context of GMail) could only occur through the course of some forensic inquiry. Therefore, Google’s strikingly calloused response to privacy concerns, while not something I would advocate saying out loud to your customers, isn’t entirely off. If you don’t do stuff that would put you under scrutiny then your personal privacy shouldn’t be a problem.
nice post, didn’t know about this… i use their imap, but i suppose i’m not a heavy user of the protocol to know any better. maybe i should read up about those imap features! cheers!