Re: [imap5] Designing a new replacement protocol for IMAP
Adrien de Croy <adrien@qbik.com> Mon, 13 February 2012 20:27 UTC
Return-Path: <adrien@qbik.com>
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 2F8B321F8595 for <imap5@ietfa.amsl.com>; Mon, 13 Feb 2012 12:27:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.81
X-Spam-Level:
X-Spam-Status: No, score=-5.81 tagged_above=-999 required=5 tests=[AWL=-3.341, BAYES_00=-2.599, SARE_RMML_Stock10=0.13]
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 xeoHOb1aYbUz for <imap5@ietfa.amsl.com>; Mon, 13 Feb 2012 12:27:27 -0800 (PST)
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by ietfa.amsl.com (Postfix) with ESMTP id 8007B21F848C for <imap5@ietf.org>; Mon, 13 Feb 2012 12:27:26 -0800 (PST)
Received: From [192.168.1.10] (unverified [219.89.217.118]) by SMTP Server [210.55.214.35] (WinGate SMTP Receiver v7.1.0 (Build 3381)) with SMTP id <0018861388@smtp.qbik.com>; Tue, 14 Feb 2012 09:27:23 +1300
Message-ID: <4F397212.1030107@qbik.com>
Date: Tue, 14 Feb 2012 09:26:58 +1300
From: Adrien de Croy <adrien@qbik.com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120202 Thunderbird/11.0
MIME-Version: 1.0
To: Cyrus Daboo <cyrus@daboo.name>
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>
In-Reply-To: <B764BD8C8B6047E659EABBE2@caldav.corp.apple.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
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 20:27:28 -0000
Hi Cyrus I guess we are on different pages for what we want out of a mail protocol and where we want it to go. Sorry if this mail rambles a bit. Also taking into account Mark and others' comments. Maybe we need to start with what we want to achieve... which actually Bron did do at the start. All of us have various different histories when it comes to mail. When I first implemented our IMAP server, I was firstly struck by the unusual syntax, parsing requirements, and then the missing bits - lack of completely defined folder management protocol support, and the highly problematic dual-indexing (no UID in expunge response!!!). History obviously plays a huge part, but it's not 1998 any more. Then I was hit with the quirks of the implementations (e.g. TB ignores unsolicited responses unless it issued an IDLE). I've spent a lot of time evaluating IMAP clients, none of them are what I would call great (for my use). In terms of features, it seems over half the feature set nowadays is optional protocol extensions, which basically means no-one can count on them being there. So, I'm approaching this whole thing from a mail-user perspective, since I also am one. I think usability could be greatly improved if the protocol supported it. My issue with XMPP isn't with the protocol per-se, but just that if you're outside a firewall, someone needs to open another hole so you can access the XMPP server. It introduces another point of failure for the system. If we were to rely on XMPP for notifications, we would just be adding support tickets like "my mail client doesn't notify me when I get new mail". I already get "I can retrieve mail but not send". Also you then need to have hooks into it at both ends, and define some sort of addressing system so the XMPP server can know what the client wants it to provide notifications about, and hooks in the back end of the services so it can get them. Lots of points of failure. I don't know how many of you spend a lot of time on customer support desks. I do. So I think maybe we need to take a step back. If we want people to implement something new, it has to have some compelling reasons. I don't think just interop is that compelling since it's not completely awful at the moment, and I think that is not thinking big enough. We could do so much more. If we're going to do a new mail protocol, we need to think what we want it to be like, with the benefit of however many decades of experience. Mark is right in that the problems that IMAP solves are often problems that will also need solutions in a new system. I don't believe implementing a new protocol means doing all that work again. I've refactored enough code to know the thing you keep is the knowledge, even if the syntax changes. So, anyway for me an incremental change to IMAP isn't horribly interesting. Sure we can fix some things, but the way the protocol is extended and requirement for backwards compatibility is always going to hamstring us. For me something more interesting would be a protocol that allows a client to provides the best possible mail user experience. And doing that using a single connection. The reason for a single connection (could maybe be relaxed to a single port) is simply to reduce deployment issues. One username, one password, one port to open. That's the minimum number of things to go wrong, and minimum number of things to support. If a vendor knows that by moving to a new mail protocol their customer support issues can halve, that's very compelling. If a vendor knows that by using a new protocol they can drastically improve their users' mail experience, that's very compelling. For me, I'd like something that: * is fast, even over low bandwidth or latent connections * is simple to deploy for administrators and users * gives me all the mail functions I could need, including calendar etc. * gives me cool new functions, like telling me the mail address I just typed into the destination field is bad even before I finished typing the subject line. * works well with multiple clients (e.g. home and office, and on the road) And no, I don't believe for a second this will happen overnight. Cheers Adrien On 14/02/2012 4:20 a.m., Cyrus Daboo wrote: > Hi Adrien, > > --On February 13, 2012 10:56:49 AM +1300 Adrien de Croy > <adrien@qbik.com> wrote: > >>> So, in my opinion, whilst push notifications should be a requirement >>> for imap5, we should not define that protocol and instead push the >>> IETF to provide such a protocol for general use. >>> >> >> I don't think that's a workable approach. >> >> Getting such a protocol together, which enables notifications from any >> other application protocol I think will take a very long time, if it can >> even succeed. It's hard enough getting consensus within one protocol >> working group, let alone all of them working together. >> >> Also every different protocol has different notification requirements. >> trying to cover all that in a single protocol I think would be >> difficult. > > I disagree because what I envisage for the generic notification > service is an OS-level api (supplied by OS or 3rd party libraries) > that implement the "internet push service protocol". What that means > is that client developers only have to implement a simple api to get > push notifications. 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. > > Your point about actually getting this done is valid. But > realistically, do you really think IMAP5 is going to deploy overnight? > 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"). If you > can actually show that IMAP5 adds significant value by doing things > like helping centralize push notifications, simplifying submission > etc, then maybe, just maybe, those existing implementors might > actually consider throwing out their current investment in IMAP4 for > the new thing. But, IMHO, you are really going to have to up-sell > IMAP5 to get buy-in from the major email providers. Now that does not > mean it is not worth doing, but it does mean having to do more than > just fixing perceived or real deficiencies. > -- Adrien de Croy - WinGate Proxy Server - http://www.wingate.com
- 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