On Fri, 2003-02-21 at 05:54, Mark Crispin wrote: > > I don't see how using UIDs would make the client worse, unless you again > > mean the lack of on-demand loading. > > Examples:
Yeah. Clients can be stupid, but it's not really UID's fault :) > > The current way of only half supporting UIDs is indeed annoying. > And you are not annoyed by POP3? No, I last used POP3 around 5 years ago and I have no plans to begin using it again. > 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. I'd like to know how you can make a client efficiently handle sequence numbers. If internal message structure contains just the sequence number, it has to be updated every time an older message is deleted. Since it's just memory it's not too slow, but I can't see how that could be better (from client's point of view) than simply using UIDs where you don't have to do any updates at all. I see sequence numbers useful only when you know you want to fetch exactly n messages, and even that doesn't work if some of those messages just happened to get deleted. Actually in some situations relying on sequence numbers could even lose messages. Suppose a client (maybe a webmail) showing messages 1..10 on screen. Next-button would load the next 10. If the IMAP connection got closed before next-button was clicked and some of those messages were expunged before connection was up again, fetching 10..20 would have skipped over some of the unread messages. Also, the on-demand loading on scrolling works only if mailbox is unsorted. With server side sorting/threading you could use UIDs just as well. I really don't see when/why sequences are so much better than UIDs. I see mostly just disadvantages.
