Apr 022012

Nobody sane who cares about keeping emails uses IMAP!

Apart from a few other things (stay tuned) in the IT world, IMAP is a very prominent example of evil.
Many people today claim that nobody uses POP anymore and most email providers nowadays offer access via IMAP. But they couldn’t be further from the truth.

Once you’ve used IMAP and lost (more or less important) emails, you start hating it and might move back to POP.

The basic issue is this: as soon as email clients treat an account as IMAP they are keen on synchronizing, no matter what.
If you’re without internet connection, you might not see any emails (which you had already loaded previously). If you delete emails in one client, it gets deleted on the server (which is the idea) and on all other clients with the same account once they synchronize (which is also the idea).
However, this might not be what the user wants. If I’m without internet connection, I would still like to be able to read previously viewed emails. If I delete emails from one client, it doesn’t necessarily mean I want to consequently delete it on all other clients. Furthermore, once deleted (on the client and hence also on the server) there’s hardly any way to get the email back – same thing applies if you move email inter- and intra-folderwise (and the client and/or server might implement this by deletion). Even if you [accidentally] delete an email on one client and would like to restore it via another client (that had previously loaded the email) which you intentionally unplug from the internet before it could do the sync magic, you might not be successful because the client won’t show you any emails until you synchronize.

Bottom line, if you care about keeping emails (without having to meet extra measures concerning backup) it is not a good idea to use IMAP.
And as a side note: I agree, not all clients follow the above example(s), however most do :).

  2 Responses to “IMAP is evil”

  1. Due to having all my email on the web I cannot comment on IMAP specifically but I do feel that email altogether is not a protocol fit for the way we use it today. I also believe the only reason we still use email is that it’s impossible or very difficult to replace, kind of like Facebook in a way.

    Further reading: #2 on http://paulgraham.com/ambitious.html – He also talked about this in his keynote speech on PyCon 2012 which can be found on YouTube.

  2. This blog entry strikes me as not so much about email synchronisation protocols, but about an email workflow that is suited for your mode of operation. I put to you that this workflow has not been developed to assist you as best as possible, but has been severely shaped by the workflow imprinted by a different protocol (which I am almost certain would be POP in this case, if only for lack of alternatives).

    For example, for your key point that you can lose email due to IMAP, but would not have if you had used POP, the implicit assumption is that every client supports and is configured to leave mail on the server. This is a very specific setup. For a user without a background in POP-based email management, this configuration would not be obvious. Similarly, an IMAP-based workflow will not immediatelly work for you, given this assumption.

    I conjecture that your setup can become more robust using IMAP than it is now, because the number of assumptions can be reduced.

    Now, to something less philosophical and more constructive. I can see three points of criticism of IMAP in your entry and I think the changes necessary to come to terms with them are small.
    1) emails are not available when offline
    With IMAP-DISC clients gain a disconnected mode, making this a non-issue.
    2) emails cannot be copied from another client once deleted
    In IMAP the client controls when messages are expunged, not only flagged as “deleted”. Alternativelly, it is of course trivial to implement deleting of messages as a move operation to a kind of trash folder.
    3) different clients show the same emails
    Different clients can subscribe to different folders. Instead of deleting a piece of mail in every client you don’t want to have it in, you can explicitly move it to a place where it will only appear in the relevant clients.

    I am not here to tell you that you are not using the one true way of email management. It may very well be that your assumptions hold for your particular setup. Consider how fragile your setup can be once these assumptions start to fail. Maybe an IMAP based setup is actually more to your requirements.

    Mail on!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">