Re: [Jmap] Draft messages - mutability

Neil Jenkins <neilj@fastmail.com> Tue, 25 April 2017 02:24 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 41810131991 for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 19:24:45 -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=rbToARNm; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=OxO7WNQ+
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 9mYaIGe9Xxs8 for <jmap@ietfa.amsl.com>; Mon, 24 Apr 2017 19:24:44 -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 D43361319AC for <jmap@ietf.org>; Mon, 24 Apr 2017 19:24:43 -0700 (PDT)
Received: from betaweb1.internal (betaweb1.nyi.internal [10.202.2.10]) by mailout.nyi.internal (Postfix) with ESMTP id 4ADB120CC1; Mon, 24 Apr 2017 22:24:43 -0400 (EDT)
Received: from betaweb1 ([::ffff:10.202.2.10]) by betaweb1.internal (MEProxy); Mon, 24 Apr 2017 22:24:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc: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=g6fgFt0yZlcn2S13BjQIOISGq4ZlJ cDfKvQjRJ7Mvvo=; b=rbToARNmRQezoIrV3ojfL4f2J+Sd8G7PPoTmD4heq10k+ 9xjH4gvx3nCjaVWQD304vb32roQbDEFswh2+5tfuYsQ5xycSN3q1l/4k/tsR34mi r3I6H/Qp4vO5ngSUWIxN6G//ZU3kgLF5QuYHein+NQZJjqfLRV+XbyJE0C/ERbO8 hzfrV7uOOoyXE3HbiDw+65/79y54x/X9Ab+JiHtGMPXqU1rhfEOZ0T50aAib+nbC au+obEhxn0d8Mk8ZLWRKQ4s18+9Nk0DC7XOsZX2lRdJCxCqbgVDClY5MxTKJV19v vdJSlug61d608nOtC59Cpus0bA/L8ilzbRXy6fLdQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=g6fgFt 0yZlcn2S13BjQIOISGq4ZlJcDfKvQjRJ7Mvvo=; b=OxO7WNQ+AYXefZeGWMMk7M He/wCOpOYN110FaY9BjxWnB/XCON5UcFtl6DyJy1BLQT2AGIzGl+huMpponPU9+p zIwTdzOhI9ZZtvL8xbAJYgj1pfJvU5/TYAunUjN5Mv+Bgpiv7LC72MLNLFAf8mwN /nHhMBqMGvyTzv3XxmYbikExqqYhZn8rtF3l1+v5n+BS8UD+c4VyV9wFltFW1gap p8AK7DwKMSHLgD61WruLwvLZhVXxl166jJunpZg06go47rv2j054vcJDB2K2sJiU FDq3lYnH8MxdwrNwSRc4l2hZozk0158e0z6gx8nOtofJvB9MbgnXKIuXiD8qweNA ==
X-ME-Sender: <xms:a7P-WGBP_zdktItuTFfGubfZJWoI_GaSe3flhBjOfnQJJn9CvWFzkA>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id 0B6A4E23C7; Mon, 24 Apr 2017 22:24:43 -0400 (EDT)
Message-Id: <1493087082.2882732.955078288.61343C16@webmail.messagingengine.com>
From: Neil Jenkins <neilj@fastmail.com>
To: Chris Newman <chris.newman@oracle.com>
Cc: jmap@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_149308708228827320"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-71880675
In-Reply-To: <BFB51221-4FD4-4546-B628-595CF76B7F66@oracle.com>
References: <1492998899.3316920.953769616.254C9CBD@webmail.messagingengine.com> <EDDD6045-ECAD-4EAB-AC11-842A9CB2E1CA@oracle.com> <1493084134.2830550.955039432.5403CAFB@webmail.messagingengine.com> <BFB51221-4FD4-4546-B628-595CF76B7F66@oracle.com>
Date: Tue, 25 Apr 2017 12:24:42 +1000
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/wDJFCPbCSiolD2DfsXK0GgX2KBs>
Subject: Re: [Jmap] Draft messages - mutability
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 02:24:45 -0000

On Tue, 25 Apr 2017, at 12:18 PM, Chris Newman wrote:
> Why is it important to keep the same ID when modifying a draft?
>  The approach draft-brandt-imap-replace uses is to include the new
>  ID in the> response to the modification operation.

That's great if you're only using one client to edit the draft. But
consider the following scenario:
1. I start a draft on my laptop. I'm not finished, it's still open on
   the screen and I just put the laptop to sleep.2. I continue editing on my phone. Maybe I finish and send it or
   maybe I don't.3. I go back to my laptop, which immediately resyncs with the server to
   find out what's changed.
Now with immutable messages, all my laptop MUA can see is that the draft
has been deleted from the server, but this might just mean there's a
newer version of the draft. I can see the newer draft but can't know for
sure it's an update to the one I have open or not. So I can either
resave the draft that's open (which could cause a duplicate old draft to
"reappear" in the Drafts mailbox), or I can just delete it and hope for
the best (and the user can reopen the new draft if they still hadn't
finished sending).
With mutable messages, I would see there's an update to the current
message I have open. If I know the user's last changes were saved to the
server I would just fetch the update and immediately show this instead.
If the user has made other changes then I know we have a split and I can
prompt the user what they want to do. It's a much better user
experience.
Neil.