Re: Mulberry gone, now what?



On Sun, 9 Oct 2005, John Beardmore wrote:
The naive user doesn't even know which extensions or optional behaviours are out there.

Supposedly, a novice (I dislike the term "naive" in this context) user shouldn't have to know any of this.


All IMAP implementations (client or server) are supposed to implement the IMAP base specification, and work with other implementations that also implement the base specification.

Extensions exist as a matter of convenience; typically, to make it possible for a client to perform a particular task faster/more efficiently than if the extension was not present. For example, there is an extension for server-based message threading. Without that extension, a client must fetch all the message data needed for threading, and then it must calculate the threads. The client can certainly can do all that work itself; it's just slower.

Problems occur when a client decides that a particular extension is "mandatory", and declines to work with a server that does not offer it; or if the server has a false/broken implementation of an extension. Either way, the client or server implementation that does this is broken. It should not be the user's fault.

Sadly, I know of circumstances in which a client used a "mandatory extension" in order to promote that vendor's proprietary server product. No, it wasn't Microsoft.


Optional behaviors are something else, and are tied to site policy.

Are you allowed to have mailboxes on the IMAP server other than your INBOX? That is an optional behavior.

Are you allowed to put mailboxes inside other mailboxes along with messages, or do you have mailboxes which contain messages and directories which contain mailboxes and/or other directories? That is an optional behavior; and you will find vigorous partisans of either way.

The IMAP client is required by the base specification to recognize what is going on, using the tools provided in the protocol, and present the server's behavior to the user in an intelligible manner.

Sadly, many clients fall short of this ideal, and claim to the user that the server is defective when the real problem is that the client isn't following the rules.

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
.



Relevant Pages

  • Re: What doesnt lend itself to OO?
    ... >> proxy and instructs the server to constuct the real object. ... rather than client code. ... If 'clock' is instantiated in the server, ... > for the server interface at the OOA level. ...
    (comp.object)
  • This is going straight to the pool room
    ... or not the client has privilege to do what they're trying to do, ... The server environment is this: ... 3GL User action Routines that Tier3 will execute on your behalf during the ... Routine Name: USER_INIT ...
    (comp.os.vms)
  • RE: SoapExtension execution on clientside
    ... WSDL and it looks okay with the namespace for my extension... ... "Hans" wrote: ... > only got a Server Internal Error 500. ... >> I added the classas a reference on the client. ...
    (microsoft.public.dotnet.framework.webservices)
  • [Full-Disclosure] R: Full-Disclosure Digest, Vol 3, Issue 42
    ... Full-Disclosure Digest, Vol 3, Issue 42 ... SD Server 4.0.70 Directory Traversal Bug ... Arkeia Network Backup Client Remote Access ...
    (Full-Disclosure)
  • Re: What doesnt lend itself to OO?
    ... > rather than client code. ... no way to do that without also touching the object with clock semantics ... will not encapsulate both clock semantics and network semantics. ... The server can do whatever it wants ...
    (comp.object)