On Thu, 21 Feb 2003, Timo Sirainen wrote:
> I can think of on-demand loading while scrolling, but what else? Even
> that could be done after "UID FETCH 1:* UID" which shouldn't be too
> slow.

"UID FETCH 1:* UID" is a download of the entire UID map.

Good quality clients don't do this.

> > Invariably, I have found that clients which use UIDs exclusively are
> > incredibly poorly-written and poorly-designed.  They issue unnecessary
> > IMAP protocol transactions and do many other silly behaviors which
> > wouldn't happen if they used sequence numbers.
> I don't see how using UIDs would make the client worse, unless you again
> mean the lack of on-demand loading.

Examples:

I have seem clients issue FETCH requests for UID ranges in which there are
no messages -- and that fact was clear from the sequence numbers.

I have seen clients do "UID FETCH 1:* UID" multiple times in the same
session.

I have seen clients do "UID FETCH * UID" repeatedly even when it is clear
from the sequence numbers that no new messages have arrived and/or the
last message was not expunged.

> The current way of only half supporting UIDs is indeed annoying.

And you are not annoyed by POP3?

> Oh, and I've been working a bit with Evolution's IMAP rewrite. Any
> suggestions how to make it well designed this time?

Yes.  Use UIDs for what UIDs are good for, and use message sequence
numbers for what message sequence numbers are good for.

UIDs are good for synchronizing a local cache with the server at startup,
and for remembering how to find a message in a subsequent session.

Message sequence numbers are better than UIDs for everything else.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.

Reply via email to