Re: [Jmap] Best vs Good enough - adoption of JMAP

"Chris Newman" <chris.newman@oracle.com> Tue, 25 April 2017 23:01 UTC

Return-Path: <chris.newman@oracle.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAFB4126E01 for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:01:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x_mDx5cIlssm for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:01:30 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 628041205F0 for <jmap@ietf.org>; Tue, 25 Apr 2017 16:01:30 -0700 (PDT)
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3PN1OLI020592 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 25 Apr 2017 23:01:26 GMT
Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v3PN1Obi032752 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 25 Apr 2017 23:01:24 GMT
Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v3PN1O0c026730; Tue, 25 Apr 2017 23:01:24 GMT
Received: from [10.145.239.182] (/10.145.239.182) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 25 Apr 2017 16:01:24 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Bron Gondwana <brong@fastmail.fm>
Cc: jmap@ietf.org
Date: Tue, 25 Apr 2017 16:01:22 -0700
Message-ID: <33553450-82F4-4CB4-8679-C9F52D8A8839@oracle.com>
In-Reply-To: <1493099769.3023399.955193288.6D0312CC@webmail.messagingengine.com>
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com> <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com> <D35A79C2-3918-4BB7-B97D-D56CA7548DCD@oracle.com> <1493099769.3023399.955193288.6D0312CC@webmail.messagingengine.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.6r5347)
X-Source-IP: userv0022.oracle.com [156.151.31.74]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/zFiVNYZL5XXOZfMksG7HxmTwnd8>
Subject: Re: [Jmap] Best vs Good enough - adoption of JMAP
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Apr 2017 23:01:32 -0000

On 24 Apr 2017, at 22:56, Bron Gondwana wrote:
> On Tue, 25 Apr 2017, at 11:41, Chris Newman wrote:
>> True, if the WG finds rough consensus around the outbox model despite 
>> my
>> objections, then my implementation will have an always-empty outbox 
>> as
>> that's the only way to implement it without infrastructure 
>> disruption.
>> I'd prefer a JMAP design that allows me to provide delivery status UX
>> without infrastructure disruption.
>
> Ahh, I see you already replied with this.  Yeah, always-empty outbox 
> is my first plan too as a server implementer.  It's what I did for the 
> proxy, since it doesn't have reliable storage.
>
> The reason to hold email in the outbox temporarily is to implement 
> both undo-send and delayed send, both of which are popular features in 
> new mail clients.  We'll definitely do outbox-as-queue at FastMail 
> eventually.

Our infrastructure already supports FUTURERELEASE and an undo send 
capability to go with it. I'd love to expose those features to mail 
clients. So if JMAP had a submission command with envelope options and 
an undo send command that keyed off the \Sent folder; it'd be no problem 
for our implementation to provide both delayed send and undo send as 
client features. But if JMAP has the outbox model that forces mailstore 
semantics and queue semantics to be combined in one object, that's a 
huge amount of extra work on the server so I'd opt for the always-empty 
outbox approach (mostly for the improved security and scalability of a 
much simpler implementation).

So given we have at least two server implementers on the list who will 
do always-empty outbox for the first implementation, I think that begs 
the question of what's the more important feature for JMAP to offer:
A) outbox model
B) undo send and delayed send

If B is more important than A, I think we need to replace the outbox 
model with a simpler submit/undo-submit model so it's easier for servers 
to provide those features to clients.

		- Chris