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
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- [Jmap] Best vs Good enough - adoption of JMAP Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ted Lemon
- Re: [Jmap] Best vs Good enough - adoption of JMAP Bron Gondwana
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Ted Lemon
- [Jmap] simpler future release & unsend without ou… Chris Newman
- Re: [Jmap] Best vs Good enough - adoption of JMAP Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Brandon Long
- Re: [Jmap] Best vs Good enough - adoption of JMAP Brandon Long
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] Best vs Good enough - adoption of JMAP Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Adrien de Croy
- Re: [Jmap] simpler future release & unsend withou… Adrien de Croy
- Re: [Jmap] Best vs Good enough - adoption of JMAP Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Ned Freed
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins
- Re: [Jmap] simpler future release & unsend withou… Ted Lemon
- Re: [Jmap] simpler future release & unsend withou… Chris Newman
- Re: [Jmap] simpler future release & unsend withou… ajay
- Re: [Jmap] simpler future release & unsend withou… xn--l1b0cxc
- Re: [Jmap] simpler future release & unsend withou… xn--l1b0cxc
- Re: [Jmap] simpler future release & unsend withou… Neil Jenkins