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

Ted Lemon <mellon@fugue.com> Wed, 03 May 2017 16:44 UTC

Return-Path: <mellon@fugue.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 E3A5B129442 for <jmap@ietfa.amsl.com>; Wed, 3 May 2017 09:44:16 -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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.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 rZZaYdDB7yaf for <jmap@ietfa.amsl.com>; Wed, 3 May 2017 09:44:15 -0700 (PDT)
Received: from mail-qt0-x233.google.com (mail-qt0-x233.google.com [IPv6:2607:f8b0:400d:c0d::233]) (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 628EB129408 for <jmap@ietf.org>; Wed, 3 May 2017 09:41:52 -0700 (PDT)
Received: by mail-qt0-x233.google.com with SMTP id c45so142264970qtb.1 for <jmap@ietf.org>; Wed, 03 May 2017 09:41:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=2UqtrM3YQdv9PiprgqpQaHhTGD3cNBHT5ImEJ1OgWBg=; b=pGGMnzDtfXbmlfoomkFNDMUOrP0O9rIG7623q+UvJTEdTbdGSmnrcEO56JvTXhyrej nLYEew8Ios+wuF3/0lmOl/l20hOAUk1xVY5EpB6UH1ar0IlCWFElU7ixdcOVtWOOLfKi IjBrqYoSvlquUY/q4hDtJ2pYGjU0u0jC5Mb00mC+jVZjuC1Gv7WdnzZb+yc2yK7Oop8f 6syx4Pe+NaS1bsDiv6S7YrgJFDxPavVPVVA1xgI1ZunV0YLAkgtfb/WpJPNMzbLbOCKI 5rCDh2rvpbWy7Yx39PUt7y8OF2EGxutHW2cHJZyzb27peh9MGbn4MUq3xQhnjuaoAnvD Zuiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=2UqtrM3YQdv9PiprgqpQaHhTGD3cNBHT5ImEJ1OgWBg=; b=qM2dlVYYmRlnFtnTEiiOEUcb6CQBok76Wt6WvG/LIc4/5cDBhyuOtml7Nq8noQtnTF zNi4DU6f/XQfpfWWB9F4KbSRxe5O8TE4A1ARvRxDQFUt4nvVRPCUfn/SMd9QfYB+bbai 66d8S9Y5utwnFNErRb8VtZvQ605AKU/NYefQAm9GpE0QWFy56bqkizyc9psv3bs0i1Js NOv3jirneKH2iGyQShXw6WMBzelPNwlI8Gw6cu/mOjlH+duTtItwVDaICMzJ0qmEhuYC 5l0G0C/oxvfaZpwzl3VFCqxZiQQ9fT+LOf/Dd8VxOVTPCNKBLbqMgEWghdV0FYZ6Tn4U aKPA==
X-Gm-Message-State: AN3rC/7/CF6JLbHL2+8CJAr+MKBi50BbYHulh8JWvjWvk+ReN3YRPlzY hTqrogHOkATy7g==
X-Received: by 10.237.42.29 with SMTP id c29mr35327061qtd.113.1493829711530; Wed, 03 May 2017 09:41:51 -0700 (PDT)
Received: from [10.0.20.202] (c-73-167-64-188.hsd1.nh.comcast.net. [73.167.64.188]) by smtp.gmail.com with ESMTPSA id d9sm17038359qte.0.2017.05.03.09.41.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 May 2017 09:41:50 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <40BE5694-03AB-446F-B22A-6BFE2C6FA9E8@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_228A2FBF-4CE5-49CF-B592-0E3CDA1ED1C6"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Wed, 03 May 2017 12:41:49 -0400
In-Reply-To: <1493798243.3361851.964066360.38B8043E@webmail.messagingengine.com>
Cc: Chris Newman <chris.newman@oracle.com>, jmap@ietf.org
To: Neil Jenkins <neilj@fastmail.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> <BCF4ACFF-892C-464E-AAFD-1BB1822C5EF8@oracle.com> <1493358386.1136069.958999408.285D03F1@webmail.messagingengine.com> <D5EC9370-049B-4DA8-B995-09C0ADDD0E2A@oracle.com> <1493798243.3361851.964066360.38B8043E@webmail.messagingengine.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/3UWZ2G3LXMcnikqfBn2FhOtP8dE>
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, 03 May 2017 16:44:17 -0000

On May 3, 2017, at 3:57 AM, Neil Jenkins <neilj@fastmail.com> wrote:
> I agree, although I don't think the client-side outbox is particularly relevant to this discussion, as it should not affect the API design. I'm sorry I brought this up as it side-tracked the discussion somewhat. My main point was that many existing systems assign submitted "future release" messages to a separate mailbox on the server, and clients present them to the user distinctly to those that have been released.

The problem with a client-side outbox is not that it affects API design, but that it creates bad UX.  Any state that is not synchronized produces surprising results: I can see somethings in one MUA that I use, but not in another.

It may be that the problem being solved here needs to be solved in a way that doesn't use the outbox as a queue, but I felt the need to reiterate this point, which I have made before: having different outboxes on different clients is a bad idea.   If the submission mechanism winds up requiring an un-synchronized client-side outbox, either explicitly or implicitly, we have made a serious mistake.

> One proposal that might satisfy everyone: an "outbox" or "futurerelease" mailbox role is added (this is the IMAP SPECIAL-USE representation in JMAP). Servers can optionally have a mailbox with this role; if it does, clients SHOULD place future-release messages in here, but like "sent" can put the message in any mailbox(es). Servers that have this mailbox MUST move messages from this mailbox to the sent mailbox at future release time (which may just be based upon the future-release date, or may be actually based on releasing it to the mail queue).

This presumes that the semantics of the "sent" mailbox are that messages that have been queued but not yet left the local queue go in "sent," not in "outbox" or "futurerelease."   That's probably correct, but it doesn't quite match the semantics implied by the name "sent."

I realize that both of these observations are a bit nit-picky, but I felt a bit of unease with both of the above quotes, so I wanted to try to figure out and express what was behind it.