On Tue, 2003-01-28 at 07:58, Mark Crispin wrote:
> On Mon, 28 Jan 2003, Timo Sirainen wrote:
> > It's a bit sad that almost all IMAP clients are broken, more or less.
> 
> Pine isn't.  :-)

Yes, maybe without it I wouldn't have bothered to add the "almost" word.
Maybe mutt isn't broken either? Just a feeling, I just let it use mbox
directly.

> > Maybe someone could write a "HOWTO write a good IMAP client"?
> 
> I did just that a couple of years ago:

Nice :)

> 8. Thou shalt not fear to open multiple IMAP sessions to the server;
> but thou shalt use this technique with wisdom.  For verily it is true;
> if thou doth desire to monitor continuously five mailboxes for new
> mail, it is better to have five IMAP sessions continuously open on the
> mailboxes.  It is generally not good to do a succession of five SELECT
> or STATUS commands on a periodic basis; and it is truly wretched to
> open and close five sessions to do a STATUS or SELECT on a periodic
> basis.  The cost of opening and closing a session is great, especially
> if that session is SSL/TLS protected; and the cost of a STATUS or
> SELECT can also be great.  By comparison, the cost of an open session
> doing an IDLE or getting a NOOP every few minutes is small.  Great
> praise shall be given to thy wisdom in doing what is less costly
> instead of "common sense."

I disagree with this though, it's pretty UW imapd specific. Multiple
connections eat more memory and more network resources. I know with my
server a STATUS is usually very lightweight operation, I think it's the
same with Cyrus.

Of course, optionally it may be nice, especially because server can then
notify of new mail in mailbox immediately rather than only when client
asks for it.

Hmm. Can STATUS reply be sent at any time? That would allow server to do
the above without multiple connections.. Maybe a new extension, "WATCH
(MESSAGES UNSEEN) (inbox box2 box3)" which sends STATUS-replies to any
of the given mailboxes whenever something happens in them, except for
the selected.

Reply via email to