Re: [Jmap] Draft messages - mutability

Stu Brandt <stuart.brandt@teamaol.com> Tue, 25 April 2017 22:36 UTC

Return-Path: <stuart.brandt@teamaol.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 6511D1205F0 for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 15:36:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=teamaol.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 s46ngbYclV44 for <jmap@ietfa.amsl.com>; Tue, 25 Apr 2017 15:36:45 -0700 (PDT)
Received: from mail-it0-x235.google.com (mail-it0-x235.google.com [IPv6:2607:f8b0:4001:c0b::235]) (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 4840C126B71 for <jmap@ietf.org>; Tue, 25 Apr 2017 15:36:45 -0700 (PDT)
Received: by mail-it0-x235.google.com with SMTP id f187so23440332ite.1 for <jmap@ietf.org>; Tue, 25 Apr 2017 15:36:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=teamaol.com; s=google; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=4XfvpWAcBmXjK6TV3nHOBHU2ZWsZzicmHsdpjyZutuU=; b=NQlQElVFOj6cDEvvjTKN74FXJJINYc+xg0mBEjJd80SltQfIxh+s8NDWk0GcVyP6lG OE14USoveLlH7N19XDXCr9g4ZR33jZwxe5BinTiXsn0ehgzChXE3PJ+8ZPz+rAY9KjUQ Mvfavg7zRv79p37plVgVKH2wIpOZbVdJlToUWpTkzFNL/rMWflOdiHof8WgnHmnUxAp+ 5/cdnqcdR2r5h2A9WSSvVBeomqxFVZXO212en5S6YI2nOm82dR4XBko0YzPO1VcR8SXB lt+GS9bokf9RBWnZ6H5wDua1VA4RHhMa8q05AuIDCodgKdb9eoBAlXoXq8fxib5QfGao 8tKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=4XfvpWAcBmXjK6TV3nHOBHU2ZWsZzicmHsdpjyZutuU=; b=TjwM5yYbDsC6Rgzv0BRK07Ix/7sT+LMaKruNinTMayobe0dwN4/o7lJpF+Ku3A0Gh5 k4+uaSyRIJHi01bvCJD1eoLYEyx5Q6jAmYtycHBJpD6woVMNkxyq3hz5Elcpd03W+q61 wu+TnSD0JGxD/wXfT6S391+vxgaQsh8gMKUd2iaTKrk9jTtK7YO6g7WQRSgE7veg5Xza iGiU44UkRYObCyBhIgZpgRG33GKunrMsITcOFmOMNVu94HiGKQwQL/TnnfCFRAmPga/c MfNz8nk0NPFboVRjYxDctuDvjPIMJakNAqVF+iE5hXef5qaXqpwotmiuigor3fsyfDPS 4f+w==
X-Gm-Message-State: AN3rC/7fEKO+vawueKQIDm4g4qm7DQqCtwMhcxDGP+Fvu1sC6KTFs8yU nC/9m7KUZR1tJqaO
X-Received: by 10.36.92.84 with SMTP id q81mr8177876itb.46.1493159804520; Tue, 25 Apr 2017 15:36:44 -0700 (PDT)
Received: from [10.172.167.84] ([64.236.138.3]) by smtp.gmail.com with ESMTPSA id i7sm720019iod.23.2017.04.25.15.36.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Apr 2017 15:36:43 -0700 (PDT)
To: Ted Lemon <mellon@fugue.com>, Neil Jenkins <neilj@fastmail.com>
References: <1492998899.3316920.953769616.254C9CBD@webmail.messagingengine.com> <EDDD6045-ECAD-4EAB-AC11-842A9CB2E1CA@oracle.com> <1493084134.2830550.955039432.5403CAFB@webmail.messagingengine.com> <CAPt1N1m47nEY6TJr6Vx_oR1ZvYbjgkTSsyJ3URoX5+5m4Nt-rg@mail.gmail.com>
Cc: jmap@ietf.org, Bron Gondwana <brong@fastmail.fm>, Chris Newman <chris.newman@oracle.com>
From: Stu Brandt <stuart.brandt@teamaol.com>
Message-ID: <818e7cf2-82fd-2101-227e-a6628dcad3ec@teamaol.com>
Date: Tue, 25 Apr 2017 15:36:41 -0700
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CAPt1N1m47nEY6TJr6Vx_oR1ZvYbjgkTSsyJ3URoX5+5m4Nt-rg@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/n6f46XHv4QlrXQIKNzJ-SMdiXuc>
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 22:36:47 -0000

Agreed. Mutability opens the door to needing to sync only those body 
parts (or portions thereof) that changed since last sync point. It's 
also unlikely that a mutable content concept could be restricted to just 
"drafts" since there are all sorts of use cases around a user wanting to 
change the content of messages they received. In Alto, for example, once 
a user sees the photo stack the inevitable question is "how do I delete 
these old photos...I want to keep the email but without the photos".

We can totally re-envision the mail store as a versioned document store, 
which I agree would be interesting, but that seems like a significant 
scope change for JMAP to cover it. And it seems like we have enough of 
that already.

- Stuart

On 4/24/17 7:00 PM, Ted Lemon wrote:
> If drafts are mutable, the implication is that synchronization based on
> message ID can't happen without something like a version modifier. At
> which point why not make every message versioned?
>
> On Apr 24, 2017 9:35 PM, "Neil Jenkins" <neilj@fastmail.com
> <mailto:neilj@fastmail.com>> wrote:
>
>     __
>     On Tue, 25 Apr 2017, at 11:02 AM, Chris Newman wrote:
>>     I see a lot of cost and no benefit to making a draft a different
>>     datatype from a message.
>
>     I don't see any benefit to making it a different data type. However,
>     what we currently have is that, like IMAP, a message is immutable
>     except for flags/mailboxes. This is a pain for client authors trying
>     to keep track of a single draft as it is saved through multiple
>     revisions (especially when the user has multiple clients). One
>     possible solution to this is to simply say any message with the
>     \Draft flag set is fully mutable (while keeping the same id). I
>     think we would also want the server to enforce that a message cannot
>     be changed from/to draft state after creation. If it starts a draft
>     it stays a draft, or vice versa.
>
>     From a protocol perspective, since most messages won't be drafts
>     (with a normal user) you still get the efficiency of immutable
>     messages (you only have to refetch flags/mailboxes, not the whole
>     message) for most of the messages in the mail store. But it will be
>     easier for MUAs to handle drafts, and particularly allow for a much
>     better experience when editing the same draft message across
>     multiple devices.
>
>     Neil.
>
>     _______________________________________________
>     Jmap mailing list
>     Jmap@ietf.org <mailto:Jmap@ietf.org>
>     https://www.ietf.org/mailman/listinfo/jmap
>     <https://www.ietf.org/mailman/listinfo/jmap>
>
>
>
> _______________________________________________
> Jmap mailing list
> Jmap@ietf.org
> https://www.ietf.org/mailman/listinfo/jmap
>