Re: [Extra] Discussing SNIPPET

"Chris Newman" <chris.newman@oracle.com> Tue, 18 September 2018 00:31 UTC

Return-Path: <chris.newman@oracle.com>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 786B8126BED for <extra@ietfa.amsl.com>; Mon, 17 Sep 2018 17:31:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.311
X-Spam-Level:
X-Spam-Status: No, score=-4.311 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_MED=-2.3, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.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 24RGSpiqO1bS for <extra@ietfa.amsl.com>; Mon, 17 Sep 2018 17:31:30 -0700 (PDT)
Received: from userp2130.oracle.com (userp2130.oracle.com [156.151.31.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 300D7130DFB for <extra@ietf.org>; Mon, 17 Sep 2018 17:31:30 -0700 (PDT)
Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w8I0UGcn019375; Tue, 18 Sep 2018 00:31:26 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=IJgRQ4orFaBehVTVsvSWM/NTs73WLJVdl7RhaiBS4PM=; b=QCw8WRIYjzlr1x+W+QkYRpe6/Bj0ZY0djmoHZQ4qNa+ujd4TsYNoTNRvzp2EtokyT5Ia 7+5UmfmHk8HEJep86T7ct6JzR9Oho3MttYpCRglolHeTNkYRgXlZiV9hJWOFnyFw6l8N hb7MXfOGEJmtAoyOkQGD0KzMQCifQAUb5HVQ5XV1TuMM44OAjVM8g+LuT7u9m/lJAn9L GuUdauxLh9lrrXrjJiabkcdfEodQZdo2HjGvhCzxG0mcVfWazvFjQeBalHJ7/Ddu48R6 qmN2u3O5rWV2jwRtG9kJBmr5XB+xBFngniGDv7MsZoZ3UxUwSQsRhvVtcWXV1+uF2kgQ RQ==
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2130.oracle.com with ESMTP id 2mgsgthd4u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Sep 2018 00:31:26 +0000
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w8I0VOca017556 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Sep 2018 00:31:25 GMT
Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w8I0VNUS023026; Tue, 18 Sep 2018 00:31:24 GMT
Received: from [10.145.183.37] (/10.145.183.37) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 17 Sep 2018 17:31:23 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Bron Gondwana <brong@fastmailteam.com>
Cc: extra@ietf.org, Michael Slusarz <michael.slusarz@open-xchange.com>
Date: Mon, 17 Sep 2018 17:31:23 -0700
X-Mailer: MailMate (1.12r5523)
Message-ID: <3E644603-F6E1-438E-841C-B4DE45DD8136@oracle.com>
In-Reply-To: <0a9f6019-776c-49ff-a800-af494374ce59@sloti22d1t06>
References: <0a9f6019-776c-49ff-a800-af494374ce59@sloti22d1t06>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9019 signatures=668708
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1809180003
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/kiWpZwKi1vNOgTRyeOi4B2BLknE>
Subject: Re: [Extra] Discussing SNIPPET
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Sep 2018 00:31:33 -0000

On 17 Sep 2018, at 4:52, Bron Gondwana wrote:
> Hi All,
>
> I've just posted REPLACE off for publication after the expiry of the 
> WGLC period and confirming the IPR status.
>
> In terms of the remaining documents, we have a couple of Sieve docs 
> which Jiankang is busy Shepherding through their last calls, we have 
> 64bit which we allowed to lapse (for now) and we have imap4rev2 which 
> is a giant piece of work.
>  Finally, we have the recently adopted 
> draft-ietf-extra-imap-fetch-snippet-00.
>
> To summarise the discussion:
>
> 1) there's nobody who thinks this is a bad idea
> 2) there's general agreement that specifying an exact algorithm is bad
> 3) while LAZY may or may not be that valuable, nobody minds it that 
> much. Easy approach is to always generate regardless of the modifier.

+1.

> So much for the things everyone agreed on (please correct me if I 
> missed anything!) Here's the issues under debate:
>
> a) Naming. The great difficulties, naming and cache invalidation! (and 
> yep, we've got the second one too). Should it be called SNIPPET, or 
> something else like PREVIEW? I'm asking largely because JMAP used 
> "SearchSnippet" to refer to a fragment of matching text with terms 
> hilighted. And JMAP used "preview" for the short piece of text (up to 
> 256 characters) that represents the email content.

I strongly feel that JMAP and IMAP should use consistent terminology 
when possible. Although the term 'snippet' is cute, the term 'preview' 
is more technically accurate for the desired functionality, particularly 
when producing a fuzzy preview for an image-only message (in which case 
the dictionary definition of 'snippet' is not what's desired). So I have 
a mild preference for changing SNIPPET to match JMAP terminology.

> b) Cache Invalidation. Ho hum. Is this an immutable property? If so, 
> what happens if the server implementation changes? I'm quite happy to 
> call it "softly immutable" myself - it might not be exactly the same 
> bytes, but you can use the old version without major problems.

The 'softly immutable' option works for me. However, I'll propose an 
alternative so we can contrast two reasonable options. We could add a 
way to fetch a FUZZY algorithm identifier for a given folder. Something 
like:

C: A043 STATUS blurdybloop (FUZZYALG)
S: * STATUS blurdybloop (FUZZYALG ("ocms:8.0"))

A cached PREVIEW=FUZZY (SNIPPET=FUZZY) from that folder is immutable 
unless the FUZZYALG string changes. This has some non-trivial server 
implications, but if clients really need predictable PREVIEW caching 
behavior, this is a protocol model I'd be willing to implement to 
provide that.

> c) Length:
>    The server SHOULD limit the length of the snippet text to 100
>    characters.  The server MUST NOT output snippet text longer than 
> 200
>    characters.
>
> I would prefer to bring this up to more like 200 for should and 256 
> for MUST NOT. 100 is a pretty short preview on big screens. I'd also 
> be willing to have a way for the client to hint for shorter previews 
> to save network bandwidth, but have servers generally store 256 chars. 
> The syntax makes it quite easy to add a MAXLEN=80 or whatever to the 
> fetch command.

No opinions here. Also easy for me to implement, but only useful if 
client implementers use it.

		- Chris

> And yes, this would be trivial to implement in our server with its 
> existing previews, and I would totally do it during last call :)
>  Bron.
>
>
> -- 
>  Bron Gondwana, CEO, FastMail Pty Ltd
>  brong@fastmailteam.com


> _______________________________________________
> Extra mailing list
> Extra@ietf.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_extra&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=K_BObr5Kfkr3rxt1oBPF9KFiEU3xl9LcD2OOJG3TXfI&m=Bzf8nG-Anmd7ybQFCYQd_kA5QfrsUFDlskrm11eWwSY&s=HOeED7FM1BpaoYj0D522AM5_Ke2XpfLSYfjTUoqhrPc&e=