Thursday, March 27, 2008

Right now, I'd settle for email on-demand

I've been cleaning up one of my email accounts lately. Just now, I ran across a bunch of messages with large attachments. I wanted to move them to a different folder in the same mailbox. Judging by the network activity and the way my mail client sat comatose for many minutes, it would appear that the client was downloading every message from the old folder and uploading it to the new folder.

Does IMAP really require that? I thought that the whole point of IMAP is that the server has the definitive copy of everything and the client can fetch what it wants on demand. In which case moving a message should just mean changing a tag (or something similar) and should take practically no time at all. From an old-school information theoretic point of view, there is very little new information: "It was there and now it's here" for a couple dozen messages.

Maybe the client thinks it needs to re-read the body of each message so it can re-run its spam filtering or search indexing? I could see that, maybe, particularly if the culprit is a plug-in that doesn't want to make any more assumptions than absolutely necessary. Ideally, though, moving a message would mean moving any already-derived data along with it, not re-deriving results that cannot have changed.

This is partly a case of one of Deutsch's fallacies popping up again. Guess what, kids. Bandwidth isn't infinite. It's all well and good to hypothesize about throwing mammoth hunks of video around, but if we can't handle a few megabytes of email attachments without the world grinding to a halt, perhaps this is premature.

Grumpily yours ...

No comments: