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

Bron Gondwana <brong@fastmail.fm> Wed, 15 February 2012 21:13 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 A3B7521F845E for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 13:13:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.434
X-Spam-Level:
X-Spam-Status: No, score=-3.434 tagged_above=-999 required=5 tests=[AWL=-0.135, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, 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 ds59cw9n0Tvv for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 13:13:04 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ietfa.amsl.com (Postfix) with ESMTP id 4784421F8672 for <imap5@ietf.org>; Wed, 15 Feb 2012 13:13:04 -0800 (PST)
Received: from compute2.internal (compute2.nyi.mail.srv.osa [10.202.2.42]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id D342D20D69 for <imap5@ietf.org>; Wed, 15 Feb 2012 16:13:03 -0500 (EST)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute2.internal (MEProxy); Wed, 15 Feb 2012 16:13:03 -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:content-transfer-encoding:in-reply-to; s=mesmtp; bh=ElDOBSVQob3HowogQ9MBWCHAvus=; b=O3lKlJCR9GYIX9dO3gtDxQPh85nF n+qJH/jyQtCJYSegQya70gwcSGzoXQJACLkQYAgXRvwMdXIk1P+0xXWuy7fZtxYm PbP+P/WqlFOcGblKg9zixo5xAX3SS0CqT2hhRc0KUUXb1AU9P4m8Zf2HHBocM+7s Y1FZYeGlRa9exXg=
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:content-transfer-encoding :in-reply-to; s=smtpout; bh=ElDOBSVQob3HowogQ9MBWCHAvus=; b=ojQr 1LZlvQXRv1J3DrRL3rRUydokQHt+fsqZl203ctY4wQt7HHb21L+mYmpeE9FjM+U+ 3BedmYxtJyTuT8ltKB/xK/x1scsa33qTh4JIab0YxBHyKCd6zeV4SLluYLRYq4tz DYsalOOHFReRTsAlhmbiqAlBVcgN6Icirmvwcak=
X-Sasl-enc: vxguwcdCSdRLcYHlSWXU8FQW+NeF4DqK6OYjUgrsoFRt 1329340383
Received: from localhost (99.249.9.46.customer.cdi.no [46.9.249.99]) by mail.messagingengine.com (Postfix) with ESMTPSA id 8D1E74824B8; Wed, 15 Feb 2012 16:13:03 -0500 (EST)
Received: by localhost (Postfix, from userid 1000) id 019C1327E2F; Wed, 15 Feb 2012 22:13:01 +0100 (CET)
Date: Wed, 15 Feb 2012 22:13:01 +0100
From: Bron Gondwana <brong@fastmail.fm>
To: Michel Sébastien <Sebastien.Michel@atos.net>
Message-ID: <20120215211301.GA16253@launde.brong.net>
References: <833EE8EEE88E4ADE5CDDDADB@caldav.corp.apple.com> <4F3835A1.7060804@qbik.com> <B764BD8C8B6047E659EABBE2@caldav.corp.apple.com> <4F397212.1030107@qbik.com> <20120213210805.GB13029@launde.brong.net> <alpine.LSU.2.00.1202151405550.30682@hermes-2.csi.cam.ac.uk> <1329315552.1444.140661036879893@webmail.messagingengine.com> <4F3BBFA4.8010107@isode.com> <1329316981.8310.140661036883625@webmail.messagingengine.com> <66F68487BF0EED4BA7D767E2410F30B3EFF259456A@FRSPX100.fr01.awl.atosorigin.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <66F68487BF0EED4BA7D767E2410F30B3EFF259456A@FRSPX100.fr01.awl.atosorigin.net>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: "Discussion on drastically slimming-down IMAP." <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: Wed, 15 Feb 2012 21:13:09 -0000

On Wed, Feb 15, 2012 at 09:59:56PM +0100, Michel Sébastien wrote:
> 
> >> On 15/02/2012 14:19, Bron Gondwana wrote:
> >> > On Wed, Feb 15, 2012, at 02:11 PM, Tony Finch wrote:
> >> >> Is there any reason to keep subscriptions in IMAP 5 ?
> >> > I envisage "subscription" as either an annotation or a "Special Use"
> >> > on a folder rather than yet another axis of data.
> >> +1.
> Does it works with shared folders ?

Sure, it's a private annotation.

> > This is not a problem that's unique to email.  There's nothing really special about email here unless you make it special.  Sure there's a bunch of indexed and optimised ways of viewing that data - sort by trimmed subject, encodings, etc.  All of which could be expressed as generic queries against the data model with a query optimiser on the far end rather than needing a custom syntax for everything...
> >
> 
> Some others seems to think that webdav could be a candidate : http://www.webdav.org/other/faq.html#Q26
> A new layer on top of webdav, with some keywords registered at IANA. But I just don't like the trend to use HTTP for everything... despite its interest here.

Yes, webdav is tempting for a few reasons - the downside is
a relatively high overhead.

BEEP has also been mentioned.  A good advantage of both of
these is that you can transport unmodified MIME across them.
I'm wary of anything which will require the raw MIME bodies
of messages to be encoded across the wire - some sort of
length based literal syntax is very valuable.

Of course it's hard to love something with examples like this:

 S: RPY 0 1 . 221 185

 S: Content-Type: application/beep+xml
 S:
 S: <profile uri='http://iana.org/beep/SASL/CRAM-MD5'>
 S: <![CDATA[<blob>PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1
                                               jaS5uZXQ+</blob>]]>
 S: </profile>
 S: END
 
It makes MIME header encoding look so lightweight in comparison.


Still... as I'm regretting learning, compatible is more important
than good.  If there exist libraries everywhere which can
reliably read and write that, and it's ugly enough that nobody
wants to do it themselves, then maybe - just maybe, you'll actually
get BETTER complience than if it's a simple enough protocol that
people roll almost-correct code by hand.

Bron.