[imap5] Designing a new replacement protocol for IMAP
Bron Gondwana <brong@fastmail.fm> Wed, 08 February 2012 20:15 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 C1A8D11E80A0 for <imap5@ietfa.amsl.com>; Wed, 8 Feb 2012 12:15:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.999
X-Spam-Level:
X-Spam-Status: No, score=-0.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, 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 jt72kzgWgVXd for <imap5@ietfa.amsl.com>; Wed, 8 Feb 2012 12:15:30 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ietfa.amsl.com (Postfix) with ESMTP id 7086011E809B for <imap5@ietf.org>; Wed, 8 Feb 2012 12:15:27 -0800 (PST)
Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 6506921311 for <imap5@ietf.org>; Wed, 8 Feb 2012 15:15:26 -0500 (EST)
Received: from web3.nyi.mail.srv.osa ([10.202.2.213]) by compute5.internal (MEProxy); Wed, 08 Feb 2012 15:15:26 -0500
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= message-id:from:to:mime-version:content-transfer-encoding :content-type:subject:date; s=mesmtp; bh=GeNe1ttnOq1n/NloKRSQGsm anwc=; b=ost2Ay/p0TnBqefBy2OARnPGZgJHIoX2NqHOer1xhDpmw9UkDM1kcMa YPckh5iwS/0gxaXPfISkkAiZoscPbGkEIlQvn7IIEnbTUNwk69N+xxQWSU+DyFF1 Cyi/t/PuQi+BlDGyCARq6NupzdTjMFhhMfeWL2gwOf4ODhDxGfdg=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:mime-version :content-transfer-encoding:content-type:subject:date; s=smtpout; bh=GeNe1ttnOq1n/NloKRSQGsmanwc=; b=NmbsgWtFf4UkQfk4eEij5HzSuZ1E nd/CkVAAY0z89BoHOKgeDfa/HNSG+Yy5zswK081cRGPjwb5ve7uE0KQfXocOXf7f q3Hisk6nASGegsHhfoFv3AD06szR46U/7lKnEig/9wHgoj+J7GzksWbiayNX8iSI o6rsswnmF3al8nE=
Received: by web3.nyi.mail.srv.osa (Postfix, from userid 99) id 3E653400E0; Wed, 8 Feb 2012 15:15:26 -0500 (EST)
Message-Id: <1328732126.32086.140661033971485@webmail.messagingengine.com>
X-Sasl-Enc: CzgA3IIG77nbd4ZYPwvK6TfQVTbMqJS2ZNj6rq9hgZVQ 1328732126
From: Bron Gondwana <brong@fastmail.fm>
To: IMAP Protocol Interest List <imap-protocol@u.washington.edu>, "Discussion on drastically slimming-down IMAP." <imap5@ietf.org>, ietf-imapext@imc.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
X-Mailer: MessagingEngine.com Webmail Interface
Date: Wed, 08 Feb 2012 21:15:26 +0100
Subject: [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, 08 Feb 2012 20:15:31 -0000
I've given up on the IMAP5 mailing list going endlessly around in circles, though I'm definitely going to read through the backlogs and remind myself again what everyone spoke about, because there was some excellent discussion. So - I will build something and prove that it's good by showing improved user experiences. And I'm happy to keep talking here on these mailing lists too. I've started a wiki page: http://imapwiki.org/ReplacementProtocol and plan to blog about what I'm doing on our own (Opera's) blogging platform, to practice using it: http://my.opera.com/brongondwana/blog/ I plan to make on a protocol which can replace IMAP in most of its current uses. I want to get (at least) two working server implementations, and two working clients. I have at least in-principle support from enough project maintainers to do that. My strong philosophical ideals are: * Simple to build clients - morons welcome. If it's not clear the right way to do something to someone just reading a protocol dump, we haven't done a good enough job. We can't expect you to read 30 RFCs and resolve their conflicts yourself before starting coding, and we won't insult you if you didn't get it right. Where there is necessary complexity, the server authors bear the brunt. * Server side data model compatible with IMAP4 + extensions; we need to be able to co-exist. * Handle disconnection more gracefully - able to cheaply resync state (I plan to reuse the QRESYNC/CONDSTORE logic here - the model is sane). Getting reliable updates on mailbox state changes should not require a continuous connection. * Easy to proxy - regular syntax (UTF-8 for all communications where possible, but won't screw about trying to "fix" MIME - message file format will remain unchanged) * NO MAGIC - everything is explicitly requested. No UNSELECT/CLOSE/ SELECT another mailbox special behaviours, no implicit FETCH + SET \Seen, no pre-calculated "UNSEEN X" that wasn't asked for. (This probably means some way to compose actions and fetches, but it's better than being complex and magical. Remember our friends the morons.) * COMPLETE TEST SUITE that exercises every constraint in the spec, both positive and negative constraints. An implementation which passes the tests is compliant. An implementation which doesn't is not. This is much more likely to produce inter-operable implementations than a wordy spec ... ... if the authors want inter-operability that is. Nothing can protect against a deliberate embrace and extend - though negative constraint tests (MUST NOT) should help. I would love input. I spent most of the time at FOSDEM this year talking to other people involved in email about these ideas. I quite like the mailbox model behind IMAP, but I want to address the pain points I have seen so many times over the years. Snide comments from those who don't agree with the goals are welcome too... I just won't listen to you. These goals are very important to me. Regards, Bron. -- Bron Gondwana brong@fastmail.fm
- Re: [imap5] Designing a new replacement protocol … Giovanni Panozzo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- [imap5] Designing a new replacement protocol for … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Thomas Koch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Jeroen van Meeuwen (Kolab Systems)
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Thomas Koch
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Filip Navara
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Anil SRIVASTAVA
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Alexey Melnikov
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Alexey Melnikov
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Petite Abeille
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Jan Kundrát
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- [imap5] Feature set? - was Re: Designing a new re… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Giovanni Panozzo
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Curtis King
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Brandon Long
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Giovanni Panozzo
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Michel Sébastien
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Dave McMurtrie
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Dave McMurtrie
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Jan Kundrát
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Giovanni Panozzo
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Filip Navara
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Filip Navara
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Jan Kundrát
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Hansen
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- [imap5] Beep Dave Crocker
- Re: [imap5] Beep Tony Finch
- Re: [imap5] Beep Dave Crocker
- Re: [imap5] Beep Bron Gondwana
- Re: [imap5] Beep Adrien W. de Croy
- Re: [imap5] Beep Adrien W. de Croy