Re: [Jmap] Submission

"Chris Newman" <chris.newman@oracle.com> Sat, 22 April 2017 03:08 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 E28CA127876 for <jmap@ietfa.amsl.com>; Fri, 21 Apr 2017 20:08:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level:
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 v0AcAXKwZ0-R for <jmap@ietfa.amsl.com>; Fri, 21 Apr 2017 20:08:32 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (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 AC0411250B8 for <jmap@ietf.org>; Fri, 21 Apr 2017 20:08:32 -0700 (PDT)
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v3M38R4I028023 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 22 Apr 2017 03:08:27 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v3M38RTJ014233 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 22 Apr 2017 03:08:27 GMT
Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v3M38Qu0024369; Sat, 22 Apr 2017 03:08:26 GMT
Received: from [192.168.15.59] (/66.214.236.56) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 21 Apr 2017 20:08:25 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Ted Lemon <mellon@fugue.com>
Cc: jmap@ietf.org, Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Date: Fri, 21 Apr 2017 20:08:23 -0700
Message-ID: <0B3ACACC-7FF2-4A65-9DE9-2238DEB70818@oracle.com>
In-Reply-To: <2409CB86-1C1B-417B-9934-B969180C714F@fugue.com>
References: <20170419163429.8556.qmail@ary.lan> <87d1c873cf.fsf@fifthhorseman.net> <alpine.OSX.2.20.1704191353500.43511@ary.qy> <01QDEV2QM6XC00005O@mauve.mrochek.com> <BC098A22-2837-4316-822A-27232A896EF1@fugue.com> <4471fa93-2321-4a7e-87b0-fbb00927d584@gulbrandsen.priv.no> <77D58FD6-0D09-424E-8EEF-5C6738BAD6A4@oracle.com> <2409CB86-1C1B-417B-9934-B969180C714F@fugue.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/DKWICcGAjuE7Pj7AzE6k06-ZWu0>
Subject: Re: [Jmap] Submission
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: Sat, 22 Apr 2017 03:08:34 -0000

On 21 Apr 2017, at 19:16, Ted Lemon wrote:
> On Apr 21, 2017, at 9:48 PM, Chris Newman <chris.newman@oracle.com> 
> wrote:
>> My product's existing JMAP-like proxy is a JSON/HTTP to 
>> submission/IMAP proxy. One of the design errors that was made (back 
>> in the 1990s) was to not support submission extensions. This is one 
>> of the largest remaining design errors in our proxy and has caused 
>> significant problems. I do not want the JMAP standard to repeat the 
>> mistake we made.
>
> Can you give an example of a failure mode that resulted from this 
> omission?  (Not doubting you, just curious what the specific problem 
> was).

A rigid proxy design means complexity-increasing changes have to be made 
to three pieces of software instead of just two pieces of software. That 
means the entire system is more complex and less agile. With a proxy 
design that's well-aligned to the submission protocol, most submission 
extensions can be supported with just a configuration change (to pass 
through the new extension). So an extension increases system complexity 
in only two components with the better design.

For our product, we have different developers on each component 
(Submission vs. HTTP proxy vs. Client UI) and some of the developers 
have a significant timezone shift. I leave the problems that causes to 
the imagination of the reader.

		- Chris