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

Brandon Long <blong@google.com> Wed, 26 April 2017 22:25 UTC

Return-Path: <blong@google.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 C5E87128B8D for <jmap@ietfa.amsl.com>; Wed, 26 Apr 2017 15:25:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 0u3ml8PwDE0i for <jmap@ietfa.amsl.com>; Wed, 26 Apr 2017 15:25:45 -0700 (PDT)
Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (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 D23701272E1 for <jmap@ietf.org>; Wed, 26 Apr 2017 15:25:44 -0700 (PDT)
Received: by mail-oi0-x235.google.com with SMTP id j201so18105405oih.2 for <jmap@ietf.org>; Wed, 26 Apr 2017 15:25:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7FaHU24E51tlGRjmg2P19mMDReqgKnHtHUOnlyttHts=; b=P9zV+cU5ven4BCOOqN2Z4z3U6SehVNcKZGItLXWX4BojBlrUfXDMFj0pimMAVHeS10 ok0a9/Mms525WgadFg9cIQp4X1DnVg7QQlU7wXDTUOnaEWFOMWfB2XPzSfjODkzQNgTN R7OZJFJscRHKqsrAwbmUJNzXGYBD8Td/drZdkU11a2wCg9i+dkfK8Gh2WDzEObobjFpo 7njZQsAOCSHx6waKQHQYYbO7akO3w1sZHVpY01iUMfSjg6nVTFZL4PxUw2Ioho8A0jp4 iI8wk+QssukY3O46339rEq2kndDyBnE6t1egL0l+26ol8z1W1gqkSX4kbSzrEC48B4Rz tqrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7FaHU24E51tlGRjmg2P19mMDReqgKnHtHUOnlyttHts=; b=nVV0+6kK67Rh7LorAE8IePQ5+Gm+W7LTqUHEpP6y9DuYIL2KXuXiSwwowZGqp9icTK 47KSW09yaoC/THeMl0bC63e2IrPEhxUQQ0AXzW+fHS3cLM3pKu9KAcnGq7UfeOFaVFD1 0dnNDAzqgm1+DFVzd9ED54N2Mv+xsGag54xgGzVPVN6J6ifvxJ1XIQgBnvCpTOMkZKE5 R6McturT/wlIlP4u6kN6Jusejj2yU/b4j6pbDRmiscYkAMCtczbltaZg7lV1yyqUVKDo oq2+NHflYjDVv61LhRe+olouEmxhM1oYSC20HpEAX0sMUjyRhBb55bayUmUgUvnAWQxu 2rHg==
X-Gm-Message-State: AN3rC/4uxb02EQkeEyJ3tD8lH+2gsr7Xrz3Bshjp+6hxNundlhCXu/jL 6PghWYYr498rxjGka1NGqCNutbhmcep/
X-Received: by 10.157.39.161 with SMTP id c30mr1272126otb.135.1493245543856; Wed, 26 Apr 2017 15:25:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.8.101 with HTTP; Wed, 26 Apr 2017 15:25:43 -0700 (PDT)
In-Reply-To: <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com>
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com>
From: Brandon Long <blong@google.com>
Date: Wed, 26 Apr 2017 15:25:43 -0700
Message-ID: <CABa8R6uYFAwLBRzN9RmvirHAGTX8B6eWR4Vcx8yJ05UXG7QMWw@mail.gmail.com>
To: Chris Newman <chris.newman@oracle.com>
Cc: Adrien de Croy <adrien@qbik.com>, "jmap@ietf.org" <jmap@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c04f8e234bc4b054e19522a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/2fKIpjt9BePLVzlS3XqS1a4s6Qc>
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: Wed, 26 Apr 2017 22:25:47 -0000

On Mon, Apr 24, 2017 at 5:39 PM, Chris Newman <chris.newman@oracle.com>
wrote:

> On 24 Apr 2017, at 15:43, Adrien de Croy wrote:
>
>> On the topic of best vs good enough.
>>
>
> This is a misleading dichotomy for an engineering discussion. My immediate
> response when you say "best" is "best for whom?" If you design the best
> possible protocol for end-user experience, it will place unreasonable
> requirements on servers and won't deploy. Good engineering involves
> tradeoffs, cost/benefit analysis, deployability analysis, extensibility
> design, etc.
>
> I agree they are perhaps opposed, you could say that good enough is the
>> enemy of best however, since once you have something that is good enough,
>> your incentive to do any better is greatly diminished.
>>
>> However, we are up against several obstacles when it comes to adoption of
>> JMAP.
>>
>> 1. Server authors won't want to add support unless there are clients
>> 2. Client authors won't want to add support unless there are servers
>> 3. Client or server authors won't want to add support unless they can
>> make things significantly better for mail users.
>>
>
> 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.
>
> 4. We are losing customers to alternate messaging systems.
>>
>> If our target is just going to end up providing no benefits to users over
>> what we already have with IMAP+SMTP, then nobody will bother.
>>
>> Where it gets interesting for me personally at least is if we can push
>> the boundary of mail experience.  In many cases this can be done in the MUA
>> but in some cases it requires support from the protocols.
>>
>> I hear the arguments that the more complex we make the spec, the less
>> likely it will be implemented, at least correctly. I'm not a fan of
>> complexity either, and neither of my suggestions do I consider to be
>> particularly complex.
>>
>> My argument is that if the design doesn't hold out a carrot for better
>> mail experience for users, then nobody will bother, and we're wasting our
>> time here, which would be a shame because we have the potential to achieve
>> a lot here.
>>
>> At the moment, there is a benefit on the table, mostly being the ability
>> to only require configuration of access to 1 service (that's if JMAP does
>> submission).
>>
>> I believe we should be looking for opportunities to make mail the best
>> experience possible, come up with ideas, and we may decided to defer some
>> or not implement others, but we should keep them in mind so that perhaps we
>> don't close off the path to some of them.  We don't need another protocol
>> that is hamstrung by lack of foresight.
>>
>> there are plenty of ideas around, look at the competition.
>>
>
> Email is the most widely deployed multi-vendor messaging system on the
> Internet. The major value of doing JMAP as a standard is to get
> multi-vendor deployment. A walled garden will always have features that an
> open multi-vendor system can't achieve (simply for privacy reasons). Yes,
> we should look at the features that are popular in walled garden messaging
> systems and do a cost/benefit analysis. If the cost is low and benefit is
> high, let's consider it. But if the cost is high or the feature will
> involve a lot of careful design work and is outside the charter scope, then
> you'll get opposition to adding that feature to the JMAP base spec.
>
> A multi-vendor standard needs to support both small and large deployments
> and support both cloud and on-premises deployments. There are hundreds of
> deployed IMAP and Submission server implementations on the Internet and
> JMAP will deploy a lot faster if it "plays well" with those
> implementations. And by "play well", I mean it can be added to an existing
> deployment without major infrastructure changes.
>
> 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.
>
> Suppose we remove the "outbox" model from JMAP and replace it with a
> submission command with envelope extensions. Now suppose we want to require
> JMAP servers to support BINARYMIME submission (and/or append) as a boon to
> JMAP submission client authors? 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). Want to have the JMAP submission command handle both
> the \Sent folder copy and the Submission without duplicate data
> transmission? I think we need to do that. Want to have the base JMAP
> submission or append command include IMAP CATENATE functionality (assemble
> a message including server-stored attachments in order to "forward without
> download")? I have no problem with that.
>
> There's quite a bit of room to improve the JMAP client author's experience
> without forcing major infrastructure changes. The WG exists to discuss the
> cost/benefit of various features and make an engineering judgment call. The
> proposals that are most likely to succeed are ones that can be implemented
> in a JMAP proxy without significant changes to IMAP/Submission. And
> proposals that would require reasonably straightforward or well-understood
> IMAP/Submission extensions are worth considering (e.g., if I need a
> per-user unique/persistent message identifier for IMAP, I understand the
> implications of that).
>

But, if all JMAP is is a proxy of existing protocols, then it seems like an
expensive undertaking for little gain.

And does that mean any future extensions have to be also implemented in
IMAP?

Brandon