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

Ted Lemon <mellon@fugue.com> Tue, 25 April 2017 00:54 UTC

Return-Path: <mellon@fugue.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 9992F131982 for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 17:54:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.com
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 ASCfpZf79Cwv for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 17:54:16 -0700 (PDT)
Received: from mail-qk0-x22a.google.com (mail-qk0-x22a.google.com [IPv6:2607:f8b0:400d:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 84DC213197E for <jmap@ietf.org>; Mon, 24 Apr 2017 17:54:16 -0700 (PDT)
Received: by mail-qk0-x22a.google.com with SMTP id y63so103110659qkd.1 for <jmap@ietf.org>; Mon, 24 Apr 2017 17:54:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=YAd+6AkcfNy0cV7fSsg8vlVWZccRMwrw9n2ua+6Qf8I=; b=v2CADQE6H52ys5Wlc+cmfHLMLHPTXyL0EmsxUR/N0tT77YJHurlN7R0pDvg19ESmoj pyqUCMI1oh4kEJFr5Glk4ch/6AUh/azmzmgxjdPfWYBO8KBk+BXMt5gnTbmOCZDUjkI5 QiPCpIYSDkoIlL9F8AqoeAtPS0tpYXCOl7aw8wKilOlFokkDHSXrxuYUHUy/TodbcPXy vtLD065i3hnLJzSnYFvK+muQt82X84CH7N/6Tjkzn66dsVNLi5nZFzD20J6pvma8Nx/r DhzY2VNscWPt3mxf8lwxo06dLo4VbECBAeP196E0IrY+GifpVuqkzP5pG3IgwrwgoBRo AiNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=YAd+6AkcfNy0cV7fSsg8vlVWZccRMwrw9n2ua+6Qf8I=; b=j1xZxJs/fv6Ljfc96Tjd8YO3mDQoH8/GyUpBftQujvcNzoQluG9nn+Ijz0vmm4O1M1 7SLs3BgF63eljtzpjSG/HFI8WrnvK8H46xsrZMjf860cs3OCixMtuQXbAvFMC4uwzdlP +XHVsQOj9A9lquQuP2/6+PaFQ4iuhhMAZ8XBVic5AlH9TNxMqzqHtwX3KkwtIixPSAnF cSxKaBZqejE8CiGxMToHOYPvNM0wGYzogWduWgDBKWmAvCVBQ95ZlkT9vsmlQePyUghU UXPMSTzao1evDPgWmnteDm167ZeHDERhhb+3Lh3jU+pg9iZTAaQuDADyiiVFWjEMsWwQ wyPg==
X-Gm-Message-State: AN3rC/6F7mP7YOzOId8NyuIThoR6/q72i5lZc19fsV1swSukNYWqUlNI DRE5KFqd7y1GrqOzmUw=
X-Received: by 10.55.54.202 with SMTP id d193mr6138005qka.160.1493081655678; Mon, 24 Apr 2017 17:54:15 -0700 (PDT)
Received: from macbook-pro-6.home.arpa (pool-108-31-94-75.washdc.fios.verizon.net. [108.31.94.75]) by smtp.gmail.com with ESMTPSA id s71sm14083205qkl.58.2017.04.24.17.54.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Apr 2017 17:54:14 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_E20CA368-0D87-4286-AA07-3517579F5EAB"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Mon, 24 Apr 2017 20:54:13 -0400
In-Reply-To: <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com>
Cc: Adrien de Croy <adrien@qbik.com>, "jmap@ietf.org" <jmap@ietf.org>
To: Chris Newman <chris.newman@oracle.com>
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/3sm2HrleOgzYxfe_YhuNhL_6qYs>
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 00:54:19 -0000

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.

> 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.)

> 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?