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

"Chris Newman" <chris.newman@oracle.com> Tue, 25 April 2017 01:41 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 F39C41277BB for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 18:41:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 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, URIBL_BLOCKED=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 peeGrXLDYZ4m for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 18:41:56 -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 ACD45131998 for <jmap@ietf.org>; Mon, 24 Apr 2017 18:41:56 -0700 (PDT)
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3P1fsQI006784 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 25 Apr 2017 01:41:55 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.14.4) with ESMTP id v3P1fsvM023026 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 25 Apr 2017 01:41:54 GMT
Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v3P1fpso030857; Tue, 25 Apr 2017 01:41:51 GMT
Received: from [10.145.239.181] (/10.145.239.181) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 24 Apr 2017 18:41:51 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Ted Lemon <mellon@fugue.com>
Cc: Adrien de Croy <adrien@qbik.com>, "jmap@ietf.org" <jmap@ietf.org>
Date: Mon, 24 Apr 2017 18:41:49 -0700
Message-ID: <D35A79C2-3918-4BB7-B97D-D56CA7548DCD@oracle.com>
In-Reply-To: <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com>
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com> <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.6r5347)
X-Source-IP: aserv0021.oracle.com [141.146.126.233]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/EvN1oiRjOVrxYLqvC9fXUL07_Sk>
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 01:41:58 -0000

On 24 Apr 2017, at 17:54, Ted Lemon wrote:
> On Apr 24, 2017, at 8:39 PM, Chris Newman <chris.newman@oracle.com> 
> wrote:
>> I've never heard of a mail client author implementing a feature 
>> before the server exists. Server authors are the ones who have moved 
>> first in the email community. So the key to JMAP deployability is to 
>> make it not unnecessarily hostile to server developers (like myself) 
>> and server operators. But I agree we also want JMAP to provide 
>> significant benefits to client authors and their users. There are 
>> many design choices JMAP can make that meet all of these goals.
>
> This seems like a problem, though.   If the whole thing is geared 
> toward server vendors, then UX is out not at all visible: you don't 
> get to find out about UX until you have an MUA.

Yes, this has been a common problem in design of mail protocols. If you 
have any ideas on how to keep the mail client authors who think more 
about UX issues engaged in the JMAP standardization debate, I'd love to 
hear them.

>> For example, if I'm operating a million-user deployment, it's 
>> critical to monitor the mail queues for problems. The proposed JMAP 
>> "outbox" model means I'm adding one million new mail queues to the 
>> monitoring system. That's a major deployment change; and thus a 
>> significant barrier to JMAP deployability.
>
> This doesn't really follow.   It's perfectly possible that the way 
> that the backend implements this is that when something is stuffed in 
> outbox, it's put in the global mail queue, moved to sent, and the 
> delivery status in sent is "pending."   Now the MUA can tell that the 
> message has been queued, but no delivery attempt has been made.   Once 
> the delivery attempt is completed, the MTA returns a status to the 
> JMAP server indicating that the mail has been sent, or that it failed. 
>   Or it doesn't; if it doesn't support this, then we just mark the 
> message as "sent" as soon as it is queued.   But the facility for a 
> richer status report is present.   In principle the JMAP server can 
> use properly formatted and authenticated bounce messages to update 
> delivery status if that is available.   (obviously, iterate across all 
> the destination addresses on the message.)

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.

>> Well that's no problem from an infrastructure viewpoint as long as 
>> the JMAP server is permitted to perform the base64-encoding on binary 
>> message parts at submission/append time in order to remain compatible 
>> with IMAP mail stores (and non-BINARYMIME submission servers).
>
> I'm probably revealing my naivete here, but _seriously_?   IMAP allows 
> 8-bit messages, and even provides a way to require that clients 
> support them.   Are you saying that these million-user IMAP servers 
> are so ancient and clunky that they don't do that, or am I missing 
> something?

Pretty much everything deployed is 8-bit clean in message bodies (UTF-8 
does not need to be encoded for IMAP). But a lot of the email 
infrastructure is not binary clean (e.g., a lot of mail stores will not 
store binary MIME with NUL octets). Now we do have BINARYMIME/CHUNKING 
extensions for SMTP as well as binary append and fetch extensions for 
IMAP. So I have no problem with JMAP requiring support for binary MIME 
on the wire; but it shouldn't say anything that prevents the server from 
converting to 8-bit MIME (using base64 to encode parts with NUL octets) 
for storage purposes.

		- Chris