Re: [imap5] Designing a new replacement protocol for IMAP

Bron Gondwana <brong@fastmail.fm> Mon, 13 February 2012 19:52 UTC

Return-Path: <brong@fastmail.fm>
X-Original-To: imap5@ietfa.amsl.com
Delivered-To: imap5@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BFB121F8698 for <imap5@ietfa.amsl.com>; Mon, 13 Feb 2012 11:52:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.592
X-Spam-Level:
X-Spam-Status: No, score=-3.592 tagged_above=-999 required=5 tests=[AWL=0.007, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id db-QlBU6bOGe for <imap5@ietfa.amsl.com>; Mon, 13 Feb 2012 11:52:56 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ietfa.amsl.com (Postfix) with ESMTP id 167F521F8697 for <imap5@ietf.org>; Mon, 13 Feb 2012 11:52:56 -0800 (PST)
Received: from compute4.internal (compute4.nyi.mail.srv.osa [10.202.2.44]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id BF0F920F5F for <imap5@ietf.org>; Mon, 13 Feb 2012 14:52:55 -0500 (EST)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute4.internal (MEProxy); Mon, 13 Feb 2012 14:52:55 -0500
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=OIPBE4cUjoyEDQctYS0fT3N2 n/4=; b=laYDE+7RZGD8XhjP0/s+C99nbzsrAHFlFA+rZv9gcVfZb8vrYwrWR9Qa 32Uv0Lt7DlNZOG0drqBBLTZk5kFKqsqFfM9C4B4denQpaT59YnQBM46v2Umjh/I9 tm4BI/ZFj/rXdaS5MgPTwM9mrHrWR7JtsiQRhFlJP5iYYnCwvcY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=OIPBE4cUjoyEDQctYS0fT3N2n/4=; b=GoopAGGBwI8rY3paZ8sWhmR5RV0f gPyCFtTFaPSrwy04jyubniSdp86S1hiF+N1Ja6rGaDfSWcQTLsunnymmf4Bd6maV UjnTKwd0nTy1GvypULbirARPIOUKkeKqyWnJK3Ze9rXpdbhGEpZERnqxic0edZvK a4E7Xk+q7kn+gvo=
X-Sasl-enc: J31zfcsvafG8dxmUupYR9a4lS8CNapUvStJi3cdLHszf 1329162775
Received: from localhost (99.249.9.46.customer.cdi.no [46.9.249.99]) by mail.messagingengine.com (Postfix) with ESMTPSA id 50FDC8E00C7; Mon, 13 Feb 2012 14:52:55 -0500 (EST)
Received: by localhost (Postfix, from userid 1000) id D9B99F46A1; Mon, 13 Feb 2012 20:52:53 +0100 (CET)
Date: Mon, 13 Feb 2012 20:52:53 +0100
From: Bron Gondwana <brong@fastmail.fm>
To: Mark Crispin <mrc+ietf@panda.com>
Message-ID: <20120213195253.GB11806@launde.brong.net>
References: <1328732126.32086.140661033971485@webmail.messagingengine.com> <201202090820.28260.thomas@koch.ro> <4F337E61.5040702@qbik.com> <201202101544.51364.thomas@koch.ro> <833EE8EEE88E4ADE5CDDDADB@caldav.corp.apple.com> <4F3835A1.7060804@qbik.com> <B764BD8C8B6047E659EABBE2@caldav.corp.apple.com> <4F394F0A.2080506@oracle.com> <alpine.OSX.2.00.1202131015200.38441@hsinghsing.panda.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <alpine.OSX.2.00.1202131015200.38441@hsinghsing.panda.com>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: imap5@ietf.org
Subject: Re: [imap5] Designing a new replacement protocol for IMAP
X-BeenThere: imap5@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion on drastically slimming-down IMAP." <imap5.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imap5>, <mailto:imap5-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imap5>
List-Post: <mailto:imap5@ietf.org>
List-Help: <mailto:imap5-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imap5>, <mailto:imap5-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Feb 2012 19:52:57 -0000

On Mon, Feb 13, 2012 at 10:55:26AM -0800, Mark Crispin wrote:
> I will say this once. Then I will go back to rolling on the floor laughing
> at the extremely naive things that certain individuals post here.

Go for it.  I said the comments of haters who want to hate were
welcome too, and I stand by it.

> On Mon Feb 13 2012 07:20:45 GMT-0800 (PST), Cyrus Daboo wrote:
> >What is more anyone implementing more than one
> >protocol in their client (e.g. IMAP, CalDAV and CardDAV) would only
> >have to implement that once, albeit with some minor differences in
> >regard to how to get protocol specific pieces for registering for
> >notifications.
> 
> This should be self-evident, as is this statement:
> 
> >Frankly, anyone who has a reasonably solid IMAP4 implementation today
> >is going to question the need to work on something new, particularly
> >if that something new brings nothing to the table (and simply fixing
> >interop problems will probably not be seen as something "new").
> 
> The IMAP5 talk is stunning and laughable in two ways. One is it that it
> seeks to make IMAP "simpler". The other is that it seeks to expand its
> scope to be Exchange.

Simpler as in more regular data model, removing the unnecessary
complexity, not the inherent complexity.  I believe there is a
reasonable pool of unnecessary complexity involved in both ends
of IMAP which isn't inherent in the task of viewing and managing
email, but is instead caused by the layers of protocol on top -
both the irregular syntax of the different layers, and the
MSGNO model with its artifacts like 'UNSEEN' which don't match
the way in which email is being presented and managed by existing
clients today.

And then there's the need to support even more parsers and
protocol agents for SIEVE, ACAP, and good old SMTP/Submission,
plus the support headaches involved in firewall issues.  For the
99% case of a client wanting to send an email via the same
infrastructure where it stores its email, a basic submission will
be sufficient.

All of which I've said plenty of times before.  I've even added
xmove and xsend to Cyrus now.  XMOVE is already in use for our
own web interface code, removing all the quota issues we used to
have with the "Delete to Trash" model, and the crazy workarounds
like deleting a small number of messages at a time.  There's a
draft in progress, and I made sure our implementation is compatible
with all the MUSTs.

> Unstated, but evident, is a third aspect: the naive notion that a protocol
> can be replaced without repeating the work that went into the original.
> History shows that the effort in any replacement is quite a bit greater.

I'm expecting to do a lot of work.  I'm not afraid of work.  I'm
afraid of getting so bogged down saying it can't be done that we
waste another 10 years.

> You can't escape that work no matter smart you think you are, or how much
> better your knowledge and tools are.

You can escape the worst parts of the work by using what already
exists, and by not re-inventing every wheel along the way, but by
looking at some of the wheels that are a lot smoother than they
were 20 years ago.

I would prefer to have you involved than sitting on the sidelines
laughing, but I'd prefer to do something than listen to you saying
it can't be done.  Maybe I'll burn out along the way, maybe not.
I'm still going to try.

Bron.