Search

I know that title is enough to make most folks avoid this entry already, but bear with me. This is cool stuff. I’ve been working on a customized version of Thunderbird for campus so that people don’t have to know how to configure the “right” settings, but tbird has them preconfigured for you. If you’ve got a linux box handy and want to check out the build script, go for it. When I was discussing it on a public list, someone wrote me off-list asking why the script used IMAP instead of POP. I sometimes forget everybody doesn’t follow the technical merits of various mail protocols as closely as most of the folks I hang out with (re: aren’t total geeks). So here’s a quick discussion of why IMAP is so freaking sweet.

  • Push – IMAP4 supports a wonderful command called IDLE. The IDLE command allows your IMAP client to tell the IMAP server that it’s hanging around, waiting for new messages. It basically says “I’ll just hang here, you let me know when I get new mail.” This makes a lot of sense. This functionality is the reason lots of folks are addicted to their Crackberries Blackberries. It allows instant notification with less network bandwidth, more power saved, all around better in every way. If your mail server doesn’t support this, get one that does. I’ve got three different IMAP servers I’m running mail through right now, and all of them support IDLE.
  • Same everywhere – The main advantage of IMAP is that you can access your mail from anywhere and it’s the same. I use Chatter Email on my Treo 650 and I have access to all of my work and personal messages.  I can chose which mailboxes I want to store local copies of (so I can work on them when I’m out of network coverage — when I get back into range, all my changes get sync’ed right up), and the rest I can access when I need to.  Chatter has amazing IMAP support, better than any desktop mail client I’ve ever seen.  If you want to do mail on your Palm PDA, I can’t recommend it enough.  One comment on the save everywhere item.  Many folks think that IMAP means you never download your messages or delete them from the server.  While many of the advantages certainly are more useful if you don’t delete messages from the server but leave them there for other clients, its certainly not a requirement.  You can certainly use IMAP more like POP and download/delete messages off the server should you so desire.  It just doesn’t make sense in many situations to do that.
  • Server-Side-Filtering – One of Outlooks niftier features when it first came out was the mailbox sorting. It was easy to develop rules to allow mail to be automatically responded in certain ways, deleted, forwarded to other accounts, or filed into specific folders. That’s great, but the downside is that it all occured in the mail client. You had to download all of your mail locally first, then make your changes.  None of those changes were sync’ed on the server necessarily then because they occured locally.  IMAP supports the ability to do all this on the server. So, for example, I could have my IMAP server filter all messages from that one guy at work who likes forwarding large joke email attachments to a specific folder that I only read with my desktop client, but my palm ignores by default.
  • IMAP on a diet – Speaking of large files, here’s another great feature of IMAP.  You can configure your IMAP client to only download what it needs to.  On my palm, for example, it’s configured to only download the first 5000bytes of every message.  That’s enough to get the text of all but the longest rants, and plenty enough to know whether I’m going to delete the email, forward it, file it in a folder, or wait until I’m back at a real keyboard to respond.  Same thing with any attachments.  I can download them if I want, but by default, they stay on the server.  I can still delete the message, move it to a folder, all without actually getting the entire message on my palm.  This saves tremendously load on the network, on the device, and just plain makes sense.
  • Server searches – Not only can IMAP filters be set up to filter incoming email, but live searches of folders can be done on the server as well.  So if I wanted to find an email form a particular person between a particular date range that was stored in a particular mailbox, I could initiate an on-the-fly search on the server for that particular message.  The server does all the heavy listing, and if it’s a common search, I could leave that mailbox on the server to be accessed from any of my clients.  How amazing is this stuff?

There’s a number of other reasons why IMAP is nice, but I think that sums it up for me.  I do have this to say — IMAP is so nice, that it’s finally gotten me off of a text-email program.  I’ve been using Mutt or Pine for well over a decade now (and other text-based email before that) and I’m finally switching my work and personal email to Thunderbird.  Thunderbird’s IMAP support is, sadly, better than the IMAP support in either Pine or Mutt.  I suppose most folks use those clients (as I did) for local mail, using procmail and fetchmail to bring their mail locally and filter it.

    3 Responses to “On the joys of IMAP”

      This post is a prime example of why your email gets filed under “NERDs” :-D

      Seriously…

      I had no idea a technical article could be written so eloquently. You didn’t blather even once–unlike in person. :-P

      [...] Chatter Email ($40) – Even without the free upgrades for life it would be worth every penny. Light years better than the built in versamail. Three cheers for IMAP idle! [...]

    Something to say?