On Fri, 2003-02-21 at 04:19, Mark Crispin wrote:
> On Thu, 21 Feb 2003, Timo Sirainen wrote:
> > I can think of only two reasons why clients still need to bother
> > rememebering sequence numbers instead of using only UIDs: untagged FETCH
> > replies updating flags and EXPUNGE replies.
> 
> There are many things that you can do with sequence numbers that you can
> not do with UIDs unless you have the entire UID map downloaded.

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.

> 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.

> I don't see how adding a bunch of extensions to EXPUNGE (which would have
> to be negotiated, not to mention considering compatibility with servers
> that don't have the extensions) will help poorly-written UID-only clients
> work any better.  Most of these clients already have downloaded the entire
> UID map, so it isn't as if they can't figure it out for themselves.

Actually I was thinking on extending this to server side too. There's
some optimizations that can be done in both client and server side if
sequences are never seen. I'd especially like to send UIDEXPUNGE replies
to client whenever I want.

> I oppose the idea of making an already excessively-complex protocol more
> complicated to further enable poorly-designed clients.  In fact, I have
> come to think that the IMAP implementation of UIDs was a mistake, and that
> we should have just done what POP3 does for UIDs.

The current way of only half supporting UIDs is indeed annoying. If they
were fully supported, at least client could then choose which one fits
it better.

Oh, and I've been working a bit with Evolution's IMAP rewrite. Any
suggestions how to make it well designed this time? My current goal is
mostly just to make it able to handle all server replies whenever server
sends them, not just when client asked for it.

Reply via email to