Re: [Jmap] simpler future release & unsend without outbox (was Re: Best vs Good enough - adoption of JMAP)

"Adrien de Croy" <adrien@qbik.com> Wed, 26 April 2017 23:40 UTC

Return-Path: <adrien@qbik.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 7F32A12951F for <jmap@ietfa.amsl.com>; Wed, 26 Apr 2017 16:40:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-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 gI5aATq3q7GQ for <jmap@ietfa.amsl.com>; Wed, 26 Apr 2017 16:40:45 -0700 (PDT)
Received: from smtp.qbik.com (smtp.qbik.com [122.56.26.1]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C606F1294E4 for <jmap@ietf.org>; Wed, 26 Apr 2017 16:40:44 -0700 (PDT)
Received: From [192.168.1.146] (unverified [192.168.1.146]) by SMTP Server [192.168.1.3] (WinGate SMTP Receiver v9.0.5 (Build 5926)) with SMTP id <0001031396@smtp.qbik.com>; Thu, 27 Apr 2017 11:40:41 +1200
From: Adrien de Croy <adrien@qbik.com>
To: Neil Jenkins <neilj@fastmail.com>, "jmap@ietf.org" <jmap@ietf.org>
Date: Wed, 26 Apr 2017 23:40:41 +0000
Message-Id: <em92ecb8af-662d-4f7d-bff0-39961dd819f1@bodybag>
In-Reply-To: <1493248332.1295949.957537688.05443911@webmail.messagingengine.com>
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> <1493163974.4122214.956244160.6735E49C@webmail.messagingengine.com> <EDCC6149-9222-468E-A17B-DDBA88A52D95@oracle.com> <1493185260.709114.956477904.75CB343B@webmail.messagingengine.com> <B2FD4698-E783-4D15-BA4E-B637A070E6A9@oracle.com> <1493248332.1295949.957537688.05443911@webmail.messagingengine.com>
Reply-To: Adrien de Croy <adrien@qbik.com>
User-Agent: eM_Client/7.0.27943.0
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="------=_MB4690195A-3184-4EC1-ABBD-1E6DE7931F86"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/3G2EFv6jQYjpmgXfNe8GkQ5miX8>
Subject: Re: [Jmap] simpler future release & unsend without outbox (was Re: 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 23:40:47 -0000

my personal experience with the outbox folder is that it's a pain in the 
neck..

it means if I need to find a message I submitted, there are now 2 places 
to look for it instead of one, depending on its state.

This doesn't seem like a bonus to me, rather the opposite.

Adrien


------ Original Message ------
From: "Neil Jenkins" <neilj@fastmail.com>
To: "jmap@ietf.org" <jmap@ietf.org>
Sent: 27/04/2017 11:12:12 AM
Subject: Re: [Jmap] simpler future release & unsend without outbox (was 
Re: Best vs Good enough - adoption of JMAP)

>On Wed, 26 Apr 2017, at 05:54 PM, Chris Newman wrote:
>>I'll describe a model that achieves my goal […]
>>1. Get rid of the server-side outbox. We only have a drafts folder and 
>>a
>>sent folder.
>>
>>2. Add a submission command with envelope (same structure as SMTP
>>envelope but JSON syntax and quoting). We pass this command a 
>>reference
>>to a draft message in the drafts folder, and if the submission 
>>succeeds,
>>the message is moved to the sent folder with the envelope as an
>>annotation. The envelope can include the already-standard future 
>>release
>>extension.
>>
>>3. Add an unsend command which takes a reference to a message in the
>>sent folder. If the unsend succeeds, the message can be moved back to
>>the drafts folder as part of this action. How the server correlates a
>>message in the sent folder with a message in the mail queue is an
>>implementation detail; the spec need not specify that detail in order 
>>to
>>provide the functionality with this model.
>>
>>4. Add a way to search/select messages in the Sent folder that may be
>>possible to unsend.
>
>From a protocol perspective, this model is basically identical to the 
>outbox model proposed. The only difference is that rather than put the 
>messages that can still be recalled in a separate "outbox" mailbox, you 
>put them in the sent mailbox and require some kind of search. The only 
>extra component your server will need is something that moves the 
>message from outbox to sent when it can no longer be recalled; I 
>seriously don't think this is a huge implementation burden. As Brandon 
>has pointed out, modern mailstores need this kind of "scheduled events" 
>plumbing for a number of user-facing features, and it has already been 
>implemented at scale in a number of systems.
>
>From a user interface perspective, I maintain it is clearer for the 
>user for these to be two separate mailboxes, and it also has the 
>advantage that mailboxes have a message count so MUAs can more easily 
>see if there are any messages waiting to be sent still. (I would expect 
>most MUAs to hide the outbox when empty.)
>
>Neil.