Re: [imap5] Designing a new replacement protocol for IMAP
Cyrus Daboo <cyrus@daboo.name> Thu, 16 February 2012 15:53 UTC
Return-Path: <cyrus@daboo.name>
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 83AF021F864A for <imap5@ietfa.amsl.com>; Thu, 16 Feb 2012 07:53:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.642
X-Spam-Level:
X-Spam-Status: No, score=-102.642 tagged_above=-999 required=5 tests=[AWL=-0.043, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 q7KFsrrLNqr5 for <imap5@ietfa.amsl.com>; Thu, 16 Feb 2012 07:53:29 -0800 (PST)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 4C5CB21F85C4 for <imap5@ietf.org>; Thu, 16 Feb 2012 07:53:26 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 60AA222002D1; Thu, 16 Feb 2012 10:53:25 -0500 (EST)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SqGhYb1boX+5; Thu, 16 Feb 2012 10:53:20 -0500 (EST)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 82F5122002C2; Thu, 16 Feb 2012 10:53:18 -0500 (EST)
Date: Thu, 16 Feb 2012 10:53:15 -0500
From: Cyrus Daboo <cyrus@daboo.name>
To: Adrien de Croy <adrien@qbik.com>, Dave McMurtrie <dave64@andrew.cmu.edu>
Message-ID: <F180DC7A76A856A0404A9CCB@caldav.corp.apple.com>
In-Reply-To: <4F3CEC38.3070008@qbik.com>
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> <20120215211301.GA16253@launde.brong.net> <4F3C2362.2060007@qbik.com> <CABa8R6uoG_B1WWe1oHVOJVp-WzFrqCbVQ0pjbtpS7Y2sjROvww@mail.gmail.com> <4F3C514F.1010602@qbik.com> <66F68487BF0EED4BA7D767E2410F30B3EFF25945BF@FRSPX100.fr01.awl.atosorigin.net> <14945_1329386404_q1GA022W010356_4F3CD398.3020901@qbik.com> <4F3CEA74.80807@andrew.cmu.edu> <4F3CEC38.3070008@qbik.com>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="2455"
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: Thu, 16 Feb 2012 15:53:31 -0000
Hi Adrien, --On February 17, 2012 12:44:56 AM +1300 Adrien de Croy <adrien@qbik.com> wrote: >> The Cyrus Project aims to include CalDAV support as part of the Cyrus >> IMAP server, which would make CalDAV deployment much simpler for any >> sites that are already running Cyrus. > > as someone looking to add CalDAV to a mail server, wouldn't it be nice if > you didn't have to > > a) write a web server > b) write DAV extensions > c) layer XML on top of that > d) debug / support all of the above > > just to get a calendar? You fail to appreciate the hard part here - it is not the protocol (which, guess what, is not that hard to do as there are many off-the-shelf webdav implementations to pick on as a starting point - and indeed within a few months of the initial draft being published we had several servers and clients interoperating). The hard part is the semantics of calendaring. As someone who has lived in both the IMAP (email) world, and the iCalendar/CalDAV world, I can tell you that calendaring is like an order of magnitude more complex than email - specifically scheduling. CalDAV servers are very "write heavy" in that there are a lot of modifications happening to existing data - that is something not typical of an IMAP server where modifications are simply metadata changes (flags) or actual message "injection" (delivery, APPEND) or deletion. So if you want to build a high performance CalDAV server you need to take that into account and build something whose scalability is based on a different set of client/server interactions than is typical for IMAP. That is not to say that building that within IMAP or on top of an existing mailstore is impossible - it is. But what is more important is to fully understand the core use cases - or more importantly the requirements for the client/server api. What I would really like us to focus on here, is not IMAP5 per se, but instead a "generic" mail store access API. Lets define the key operations needed by clients and a server API that can provide those behaviors. Once we have that, we can fit it into any protocol we like, be it extensions to IMAP4 (to make IMAP5), HTTP, XMPP whatever. The same thing can be done for a calendar store api (and indeed the Calendaring and Scheduling Consortium has been working on generic abstractions giving rise to REST and SOAP based protocols all built on the same store api model used by CalDAV). -- Cyrus Daboo
- 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