Re: [Jmap] Best vs Good enough - adoption of JMAP
Neil Jenkins <neilj@fastmail.com> Tue, 25 April 2017 23:46 UTC
Return-Path: <neilj@fastmail.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 86F30126FDC for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:46:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.719
X-Spam-Level:
X-Spam-Status: No, score=-2.719 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.com header.b=D42Jm/QI; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Zp/dL5DE
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 xlND77giES3K for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 16:46:16 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A2BC61294BC for <jmap@ietf.org>; Tue, 25 Apr 2017 16:46:15 -0700 (PDT)
Received: from betaweb1.internal (betaweb1.nyi.internal [10.202.2.10]) by mailout.nyi.internal (Postfix) with ESMTP id CB858218E7 for <jmap@ietf.org>; Tue, 25 Apr 2017 19:46:14 -0400 (EDT)
Received: from betaweb1 ([::ffff:10.202.2.10]) by betaweb1.internal (MEProxy); Tue, 25 Apr 2017 19:46:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=I1axL1qmig9PL1PHMMjwZqraWOozX qPB/AoCIAA7YN4=; b=D42Jm/QIL1gtLqCQrkL0SykJdTc4VahnVCtznjLgEoctV FtJJcNqqYyAC7xZUdvxCUpn1g7yNod3h/y8dF+98IkCHWe4BDeRov58+hgliTbUP neNebBcmR8InIOkV9S6J2W4QMuMETAAjH1FhhRkk+leR9Msm7iTiwrtcKoMgDKfP xZYz4EIvf6j2h2C0ShJIhLZ51hvJqqU8/jzW65vjd6nGaGwlF3RvJYA/TA8mq4DI 7XAZKFbShqk41R8N2OJayAQNv5mAWQTmdd+Z3HZFnAf9bXl9kf14IH96oIcBjeeu ysNYAbqwTCmaMy53TzLhZfkaqZeB78QEUJ5oQcSvQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=I1axL1 qmig9PL1PHMMjwZqraWOozXqPB/AoCIAA7YN4=; b=Zp/dL5DEDzUaRejJ9sFSId IbtwrruQ70hELgJ/TBA6LmnSf/Es8trCBgLTWIEiVA1Yp+3hWSEtIfMfGdVvEnOY MXMTg4w+GJellG01H8oPrgbF00rBqtDtkPDi9sworBR7B0YJ5tXmo0wlW3NJ2c+P Qxuhp5mfE9xyFEEYQ7DFQYNI37KJh9gthsV9MVp3zoRD+XhI7f/UpMGIo7iFUvUJ ZNFWcUqg2IZER/xBtGkH8JZIii49EarBm7VWuE8qhHhxXF+u0pjhSAQtGstxzyQv a8IBeTKbaHshDPS2IIc1thkJ1XNn9wLMM4SUnb9dvdXfkXMaNa5olpyLiSS4LjdQ ==
X-ME-Sender: <xms:xt__WGGQOn_Cb2W-RmyAKppIIFC6AutKwmDCZCEwf4DEPduEi9Uj6Q>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 88F66E276C; Tue, 25 Apr 2017 19:46:14 -0400 (EDT)
Message-Id: <1493163974.4122214.956244160.6735E49C@webmail.messagingengine.com>
From: Neil Jenkins <neilj@fastmail.com>
To: jmap@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_149316397441222143"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-71880675
References: <em8b177018-4769-44ea-b033-90bd8155d11b@bodybag> <46F700A6-C2B1-488B-A8B4-6ACD45B03C31@oracle.com> <CFC38D13-0CB2-4ABF-9403-DF0F773314B7@fugue.com> <D35A79C2-3918-4BB7-B97D-D56CA7548DCD@oracle.com> <1493099769.3023399.955193288.6D0312CC@webmail.messagingengine.com> <33553450-82F4-4CB4-8679-C9F52D8A8839@oracle.com>
In-Reply-To: <33553450-82F4-4CB4-8679-C9F52D8A8839@oracle.com>
Date: Wed, 26 Apr 2017 09:46:14 +1000
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/oGu4vdBLsv5tenkFM6OgarrXs1k>
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 23:46:18 -0000
I think there's been some misconception over the intended semantics of the outbox proposal. The outbox was never intended to be the submission queue, with mail queue semantics. It is intended as a standard mailbox, with mailstore semantics, because it is where messages go **before** they are passed on to submission. The server would validate the message/envelope at the time of moving it to the outbox to ensure it can be accepted for submission later of course. If you have existing mailstore + SMTP infrastructure, implementation is not much more than having some small demon that triggers to take the message from the mailstore and submit it to the SMTP queue at the appropriate time. >From a user experience point of view, this model gives us an understandable conceptual place for messages that are *going* to be sent but have not yet been picked up by the postman, to use a real world analogy. Because it is a standard mailbox, we automatically have an API for the client to fetch and show to the user all the currently scheduled messages. I think this is important functionality as a user if we have delayed send (and of course we also have the ability to then cancel any of the future submissions, by just moving the messages back out of the outbox). With my client author hat on, I like this model because it makes it easier to implement full offline support. If I am offline, the outbox represents messages waiting to go out from the client. From an implementation perspective it is much easier if my offline sync code doesn't need a separate path for keeping track of messages to be sent vs. normal messages moved to another folder. The *only real difference* between a "sendMessage" command and using "move to outbox" as the equivalent command, is that clients can get the list of "delayed" messages waiting for submission. I think this is valuable, and pretty much required for "scheduled send", although not so important for "undo send". The fact that this is really the only difference is why servers that can't or don't want to implement delayed send or expose messages waiting to be sent can use the "empty outbox" model. Neil.
- 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