I'm sympathetic to the idea of an [EXPENSIVE] response code; but (alas!)
my experience suggests that the majority of clients would not utilize such
a feature to change strategy.  Probably the only thing that would be done
with it would be to bad-mouth server implementations.

There is a definite attitude with many clients that any cost that is borne
by the server is out of sight and out of mind.  Even when an attempt is
made to shift the burden onto the client (there is a reason why the STATUS
command does not accept wildcards), this ends up getting seen more as a
design error in the protocol rather than the intended architectural hint.

THREAD=REFERENCES is undoubtably the most expensive of all the mthods of
ordering a mailbox; however it is equally undoubtably the most popular.
Many server implementations (including UW imapd) ended up having to
extend their message store and caching strategies to accomodate
THREAD=REFERENCES.

I'm sorry to be the bearer of bad news on this.  The good news is that if
you implement THREAD=REFERENCES and do so correctly (unlike Courier which
does not), users of clients that use it will bless you since you will
greatly speed up their performance.

-- Mark --

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

Reply via email to