August 24, 2003
A POP User Talks About IMAP

Our colleague and collaborator, Oren Sreenby, from the University of Washington writes:

"Rereading your blog comments on your nokia, I'd actually be interested in your opinions on imap clients (where you said "Please don't tell me I should use IMAP to retrieve mail or I will be forced to explain why I don't use IMAP and won't until I find (or design) an IMAP client that
works properly.")

Oren,

First, here is some context to make my reply understandable. I've always been a POP user, never IMAP, thought I've fiddled with it on many occasions. I have the biases of someone who has a long, successful experience with POP, and no such corresponding experience with IMAP. Since I've already unconsciously adapted around the limitations imposed by POP, I'm not really aware of them. When I have tried to use IMAP, I've been put off by what I experienced as extra burdens without experiencing compensatory benefits. I never stuck with IMAP long enough to get over the learning curve and get used to it, much less enjoy it. In addition, various of the IMAP clients I've used haven't implemented the protocol in the nicest way, which further colors my experience negatively. So what follows is very intentionally not trying to be objective or claiming it is anything other than my own experience (which is certainly a driver of what I think of as good design, but at 52 I'm no longer so egocentric to think one size fits all or that my personal needs are the trump card in what gets into the spec.).

I've had a strong predisposition to operate in a PC-centric fashion for 25 years now. That is, I like having the data right next to me at all times. I don't know which is the chicken and which is the egg, but I do know I personally prefer the decentralized solution 99% of the time (while recognizing that institutionally and for other individuals and groups my preferences are irrelevant and their needs may be entirely different. As they say, your mileage may vary.)

Now, this is not an absolute virtue by any means, but it does mean that I can operate with my data without being connected to the network. This has always been important to me. In the pre-commercial Internet era, I didn't have routinely good access to high-speed networks at home and at the office. Therefore, I couldn't depend on network access to my data. Therefore I'd want it on my machine. For much of the time I'd carry my entire world with me on a laptop. At other times, I'd keep separate machines and manually initiate a synchronization process before changing location. There was overhead in this, but it enabled me to keep me usage model going. In this context, the POP protocol worked well, as what I wanted was to move mail off the server and onto my PC. POP does this in a nice simple fashion.

IMAP, of course, is a client-server protocol, and makes sense in a world in which there is connectivity on demand. In the university environment, where this was more the case earlier than almost anywhere else, this requirement was manageable, and permitted the affordance that, as long as there was connectivity, you could see your mail from any machine, something POP doesn't permit. Many of the virtues of IMAP make less sense in a world in which disks are large, memory is cheap, and processors are fast.

The first thing I always want to do with IMAP is to set it up to automatically download complete copies of all mail and attachments to the local machine. With some clients this is impossible, with others possible or partially possible, but a nuisance. Anything less than creating full local copies transparently to any designated machine I found to be burdensome, creating a combination of more work for me and less functionality.

IMAP with its multiple Inboxes and multiple sets of mailboxes adds cognitively complexity to the user model. Maybe it can be hidden. Maybe well-designed clients only expose more complexity incrementally. Maybe there are ways to bring people, self included, gently up the learning curve. But none of that has been my experience yet.

IMAP with strange new error messages and all this business about dealing with headers vs. the full message also adds additional cognitive overhead which may not be justified.

Hope this fills in the picture.

Regards,
Mitch

Posted by mitch@osafoundation.org at August 24, 2003 10:53 AM
Comments

I'm not sure what client you used, but with Apple's Mail.app IMAP acts simply as an invisible synchronization mechanism. Each machine has full copies of every message and attachments on the disk. Mail downloads to one folder just like before.

The only difference is that if you want to use a new machine or a second machine, you just enter your user name and password and it quickly fills up with all your email, resulting in a nearly identical copy of what you had before.

You can read old messages on your laptop, your desktop, and your hiptop. Spam deleted on one gets removed from the rest. And even if all of them die, your data is still safe on a server (which is presumably being well backed up).

I haven't noticed any of the downsides you describe.

Posted by: Aaron Swartz at August 24, 2003 11:37 AM

For me IMAP, just works. I have no experience with debugging it, seeing strange new error messages, nor ever have to deal with headers vs. the full message.

I got into IMAP when I wanted to gather email from numerous internet email accounts for myself and my family. On my Linux server I gather up all the mail with Fetchmail, when gives it to Sendmail to put in everyone's mailboxes. (Fetchmail is another one of those things that "just works").

The email clients access their mail boxes with the IMAP software provided by default with Red Hat ... I presume it's in common use. Just turned it on. No configuration, really.

We use various email clients, all with success: Outlook 98, XP's version of Outlook Express, Sqirrel Mail web-mail interface, Kmail on Linux, M ozilla Mail on Linux and XP. Those clients that can synchronise and download, Outlook and Mozilla, it just works.

Maybe all this works because I don't understand it enough to mess it up. About all that has to be configured on the client is id, password, and folder name for the mail (I use .mail by default).

I've not tried IMAP on any of the commercial email service providers because in general most don't offer it (yet) and how I've got it setup with Fetchmail works just fine.

Posted by: Rob Schneider at August 25, 2003 01:18 AM

Same here. A couple of years back I started using IMAP and never looked back. Not only have I never had any of the issues you describe (it was simple, transparent and seamless across all platforms), it has saved me a _lot_ of trouble by making me able to access the same mailbox, folders, etc. from multiple machines.

And I can't say I understand your need to have all your e-mail in your laptop - I move around quite a bit, and have only ever needed a small subset of it. Syncing it make sense (and that's what I do because it's the default these days with most clients), but carrying around oodles of e-mail (no matter what the cost of disk space is these days) isn't really necessary.

Besides, if I want to search it, I'll just hook up to my IMAP store (Mozilla or Mail.app are relatively efficient at searching through mail, even over SSL and low-bandwidth links) or use something like Zoƫ.

Posted by: Rui Carmo at August 25, 2003 03:15 AM

I'm quie impressed with Apple's Mail, not enough to switch 10 years of Eudora mail and filters over, but I'd recommend it for new users in a flash.

If you're organised/predictable to only ever need a small subset of your mail, and to know what that subset will be, then fine. I've suffered enough unexpected hardware and network failures, and had clients calling looking for details on long forgotten projects, to want all my mail to be available offline on at least two machines.

Earlier IMAP experiences: the servers have been too slow, or the clients would only notify of unread mail in the inbox, or a user would check mail over a 9600bps GSM data connection on a Palm Pilot, retrieve a few hundred headers, and then proceed to delete the ones they weren't interested in at the time.

With IMAP, that led to all of their mail being deleted from the server the next time they needed to send a quick email from the road.

Asking a new sysadmin to recover the mail (on exchange) from the backup tape resulted in a 2 day server outage (as the backup software spotted that it was restoring an exchange database and helpfully tried to reconfigure the server).

That said, better clients, faster servers, and the only realistic way of implementing a mix of web and client access to email, make IMAP the best option for organisational access to email.

Posted by: Simon Boyle at August 25, 2003 05:47 AM

My big question to those who prefer POP is: how do you deal with the fact that computers are now at the point where almost everyone has several-- in some cases more computers than email accounts.

Im my case I juggle two email accounts across an Apple PB and an IBM TP. I use Apple Mail and Outlook on both computers and am often disconnected from the network for a while. If I used POP all of the work that I do reading, replying and organizing mail would be lost (or at the very least balkanized).

That said, from the comments I see here, it appears that I don't have to sing the praises of IMAP, so I won't. Instead I'll focus on the fact that IMAP as a protocol is much harder to implement server-side which has limitted its adoption in OSS projects. Apache James and the Twisted framework are two high visiblity examples of servers that are lacking IMAP support because no one has taken the time to do what is a more complicated piece of work. And so we are stuck with not enough demand for it and too few good implementations of it (Cyrus and ...?)

Posted by: Antonio Rodriguez at August 25, 2003 08:08 AM

Most POP clients have a "leave messages on server for N days" option, which lets all mail end up on the multiple machines, without clogging up the server. And on any machine that's not my primary machine, cc myself.

Posted by: Simon Boyle at August 25, 2003 07:02 PM

Hmmm... I reluctantly switched from POP to IMAP a couple of years ago. I was in a situation where I had a local mailserver, and never really knew which of two desktop machines I'd be sitting at from day to day. It was a new way of dealing with things and like most people I was in no hurry to change, but I have to say I'd never go back. Dealing with POP just seems very constraining now.

I also have to say that I find it very interesting that the two people in this thread who don't like IMAP both appear to use Exchange. Perhaps IMAP itself is not the problem, but rather the implementation? Yes, I realize that doesn't necessarily help, but I would say it's important to know exactly where the problem actually is.

Posted by: joe at August 26, 2003 01:06 AM

My IMAP experience has been more with Eudora than Exchange, so I can't put the finger on Exchange here. I can well believe other clients like Apple's Mail.app are smoother, and once the bugs are worked out of it, I'm going to give it a try.

Posted by: Mitch Kapor at August 26, 2003 06:25 AM

It's always about the implementation. It's mainly on the client end though (exchange messing up was an added bonus to a messy situation, and had been chosen because there's no decent cross-platform calendaring system).

If I'd been using pure, download the mail, delete from server immediately, POP, then I wouldn't have been able to try checking my mail from a Palm V with only 2MB of space.

If I hadn't been impatient, I would have remembered that deleting from the client meant deleting from the server on IMAP.

There's that cognitive overhead.

I'm a powerbook using contractor. I'm frequently on-site, behind firewalls, with no access to my mail e-mail server. I need to have a local, off-line store.

For some reason, some IT departments would rather give contractors local email than allow project mail be sent to an external address. And they'll happily give you remote access to it. So now I have many more email addresses than machines.

My criteria for an e-mail client are how well it handles multiple personalities, how it behaves in an emergency (unexpected network outage, powerfailure, disk fills up while checking mail), and how well search works.

I use POP, mainly because my primary ISP doesn't offer IMAP, but also because I've internalised over a decade of learning it's foibles.

Leave mail on server for n days lets me access recent mail quickly from other machines, palms and phones.

Storing locally means that I don't have a couple of gigs of archived mail clogging up a server.

If I was deskbound, with dependable network connections, and didn't have a laptop, I'd probably be evangelical about IMAP.

Posted by: Simon Boyle at August 26, 2003 06:41 AM

Thanks, Mitch for the cogent comments - I've posted my reply, which has some of the reasons I prefer IMAP for my usage, on my weblog.

Posted by: oren at August 26, 2003 07:10 AM

Eudora still isn't a very good IMAP implementation; I think this is a combination of its original POP-centric design and Steve Dorner's feelings about IMAP (see http://www.cyrusoft.com/imap/imapQuotes.html for those).

Mulberry is a good cross-platform IMAP client, by folks who understand IMAP and have implemented all the fiddly bits (server side searching, ACLs, etc). The disconnected mode is not very intuitive, though; it requires a conscious effort to switch into or out of. There's a 30 day free trial to see if you like the UI.

Mail.app under Mac OS X, as Aaron noted, does a better job with disconnected access "transparently" than anything else I've seen so far. Also, free as in gratis, as long as you've already bought the Mac and Mac OS X....

The biggest advantage of IMAP for me? Easy access from multiple clients (including webmail, with IMP) and multiple machines (home, work, laptop, family members' computers) without having to worry about synchronization.

Posted by: Christopher Davis at August 26, 2003 11:42 AM

An interesting implementation of IMAP is on www.mailblocks.com. It is a system created to curtail the amount of spam one gets by implementing a challenge/response system.

There is no POP support on this system except for how the email is consolidated into 1 universal inbox from several accounts. In order to read, reply and use the email you can use a web based interface or IMAP to check the accounts. POP is not support for the mailblocks.com user, if you can believe that.

In any case I have eliminated 100% of spam with this system and I basically use a webmail client to check email from multiple POP accounts.

YMMV.

Posted by: Alex Sirota at August 27, 2003 05:10 PM

Several reasons make using imap the better alternative. One is that you can leave the mail in one place. This gives you the option of 'handling' the mail with more than one tool. I happen to access mine using several different client machines. But I also access the same messages using several daemon tools. These reach into my IMAP mailbox and clean it up. Some for spam filtering, others for rules-based processing (like more than a month old and already read gets it moved to an archive folder).

Were I to use POP only I'd have no choice but to use a sole client machine and whatever tools existed to allow handling the message /after/ it was brought to the client machine. Not a very good solution.

Have there been IMAP client programs that sucked? Sure. Do they still? Not most of them out today. I use OE6, pine, OLXP and fetchmail. All intreroperate flawlessly.

Posted by: Bill Kearney at August 28, 2003 11:30 AM

I can't even imagine going back to POP. IMAP makes so much more sense conceptually, especially if you access from multiple machines.

Posted by: pb at August 28, 2003 06:27 PM

Keep in mind that Microsoft has intentionally created a poor imap experience. They are still using mapi to keep corporations locked it. If they did imap poperly, it would significantly de-value the outlook/exchange duopoly they so enjoy.

Agreed -- try Apple Mail for a while.

Remember that your _target audience_ is most likely NOT able to have a laptop for their primary machine. They have an office desktop and a home machine that doubles as the family entertainment pc. Keeping business mail accessable but remote is a FEATURE.

Posted by: Daniel Klaussen at September 4, 2003 08:29 PM

And another thing... if you choose to do imap (please!), do as much as makes business & use case sense.

There are MANY, many, many configuration scenerios which are possible, but are used by a very limited crowd (or only on paper.) Don't chase that dog.

Posted by: Daniel Klaussen at September 4, 2003 08:35 PM

Simon Boyle wrote: ''Most POP clients have a "leave messages on server for N days" option, which lets all mail end up on the multiple machines, without clogging up the server.''

And different subsets of messages scattered across multiple machines is a *good* thing? I don't like thinking about the synchronization nightmare that can be, which is a big reason I've never used POP3 and always preferred IMAP4.

Also, standard POP3 implementations force you to use a single, monolithic INBOX which eliminates the use of server-side filtering (e.g. procmail, sieve) to preorganize messages into different mailboxes that are equally accessible with IMAP4 clients. For me, that *reduces* cognitive complexity when managing large volumes of messages with different interfaces/utilities.

I don't disagree that POP3 is an ideal and recommended solution for many people, yet its constraints far outweigh its "simplistic virtues" for my needs. Unfortunately the choice of decent (insert personal/technical definition) IMAP4 clients is limited and using less capable ones can certainly negatively taint one's experiences and opinions. I've primarily used Mulberry for a couple years, as my current best compromise since an e-mail client I'd be more comfortably satisfied with doesn't exist (yet). I'll be writing more about that when I get my weblog up. :-)

Posted by: Scott J. Kramer at September 8, 2003 04:45 PM

When considering IMAP, do check out John Goerzen's
OfflineIMAP, a Python tool to synchronize IMAP
mailboxes (between server and server, server and
maildir on the client, etc.)
http://quux.org/devel/offlineimap/

Posted by: Jean Jordaan at September 13, 2003 04:05 AM

Whoa,

I am really learning something here.

I myself have been using POP with like 4 computers (3 at home) and at least 20 email adresses apart from the laptop which I use for work on which I keep ALL of my email in an OFFLINE folder. Yes, we are using Exchange at work. Just recently we are starting to use the Outlook to Web feature, and for the first time I started considering keeping my mail at the server at work. But then I like to be able to search anything anytime in my mailbox, hence the reason for everything on the laptop.

This Blog and it's comments make me realize I should "fight" for a better way of handling my email.

And maybe I should get rid of a few email adresses too along the way.

Maybe I should have a LINUX box at home with the software mentioned by somebody in this blog or another? FETCHMAIL it was?

I should also get my websites up and running again (consolidate first) and then start BLOGGING.


Posted by: Patrick Krolis at September 15, 2003 02:41 PM

I'm surprised no-one's mentioned the Thunderbird e-mail client - even in its 0.2 incarnation, it's an excellent app and its IMAP support is arguably the best out there (I believe the author of WU's imapd was involved in the Thunderbird IMAP client code...).

BTW, I'm sure that people actually *like* centralised e-mail, otherwise services like Hotmail wouldn't have a couple of hundred million users! Downloading your e-mail to your local hard drive is fine, providing you remember to back it up and that's the only machine you ever want to access your e-mail from of course...

Posted by: Richard Lloyd at September 19, 2003 04:41 PM

Mitch,

This is a distressing thread since I got here by way of publicity about Chandler and I check in every once in awhile to see how the project is coming along. My hope has been that Chandler will end up with the email features of IMAP crossed with document sharing and collaborative aspects of Groove and sealed with the GPL. If IMAP could transparently update email folders on multiple clients in a way similar to how Groove updates shared documents, it would fix the part of IMAP I dislike the most.

Have I misunderstood what Chandler is planned to do?

Doug

Posted by: Douglas at September 20, 2003 04:57 AM

Doug --

>My hope has been that Chandler will end up with the
>email features of IMAP crossed with document sharing
>and collaborative aspects of Groove

Yes.

>and sealed with the GPL.

Not the GPL alone, but a dual license.

>If IMAP could transparently update email folders on >multiple clients in a way similar to how Groove updates >shared documents, it would fix the part of IMAP I dislike >the most.

It won't necessarily be IMAP which does all the transparent updating.

Posted by: Mitch Kapor at September 20, 2003 09:44 AM