Re: [Last-Call] [art] Artart last call review of draft-ietf-jmap-contacts-06

Peter Saint-Andre <stpeter@stpeter.im> Wed, 27 March 2024 23:59 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: last-call@ietfa.amsl.com
Delivered-To: last-call@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2EB9AC14F5EF; Wed, 27 Mar 2024 16:59:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=stpeter.im header.b="rPKhRvCs"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="PemFyXAZ"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Tpic0ziOOsKd; Wed, 27 Mar 2024 16:59:49 -0700 (PDT)
Received: from wfout7-smtp.messagingengine.com (wfout7-smtp.messagingengine.com [64.147.123.150]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 059C9C15152B; Wed, 27 Mar 2024 16:59:48 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfout.west.internal (Postfix) with ESMTP id 62C0D1C0008F; Wed, 27 Mar 2024 19:59:45 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 27 Mar 2024 19:59:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stpeter.im; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1711583984; x=1711670384; bh=Kj7vF4GnRukjqJH5rT/DFo3lfTG+Ux0Fz91kUpwHb5U=; b= rPKhRvCswbOoV2z2tw8icv96gcjwST3pMub/fjqRO9ZxkhFbrt9w+s7P0ObFtIen 07kiHCjV5OvgDH3ThoNJKcNGEIxz2OKny4e8qCSJZHHyz2Yqxdd4P9QgrCd4PfZ5 EAxSf7lDMgeLaf3cPgDdVmgPDcQVtUTEx+qZmputlpUxqTJe012nZIjlcVZZ6ZtY uYINaHKqF00gslRDJCa98rl/ReRZwt911Twy4gSoKyCuHHt1JyJZDSqrGUUwkNXc 957SOUBsJFbDv5RwEcauRALXgPkxcf6FTUL1pvGOzJq8l6wGEc0iCa/CQC5+GcGc SPMbviZyvIFPW2XMXtJv2g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1711583984; x= 1711670384; bh=Kj7vF4GnRukjqJH5rT/DFo3lfTG+Ux0Fz91kUpwHb5U=; b=P emFyXAZCuYBUmkLZ1mAiER+bLhNG1+E6HTjJsDJ6Z6bHB5YY/9dyCYF25Zx28uYw EBe7u5imbBQDJhyu4uORplmr8UG/kN4CKhIGZiGB6kRr3oprD8OLrYTU5VZilfx6 WSz2mZwjhH1mXPVmvGsEOMitVUh9S0P/5/BHcgKyEt3SVjq3dD6Xh4UTIvywTBoB VlG7ueyS7wskQzr8OhtdYwNBBILXpSvJGcp5xkGn5O6FrqAoxMiur6N3HN7GhvaL 9w36ZPsQxGZC3PdB4pNhwG+Z4V5dqCSLjit4fuSx6NGg3V4XFqEIBfeI416xmt0s EikRkAhREQgkewfUl6yQg==
X-ME-Sender: <xms:8LIEZm5-NXgIoeaN6kx4tGq1YHkUj4Yxbaad3CJIHKQlkUB3j8-bpw> <xme:8LIEZv7Eu3feaGN5Mf-qIMLM37B62TmC3NEpE8RoRdlPJRuiDzEsg8aTpAEXdC5NO mmoD-U-7tnuowpxFg>
X-ME-Received: <xmr:8LIEZldsd4Ph9iawNHtE2TaywRk9E0g5LuZnScdQtrgsEbemMSst2zIS4qYQm_Wd>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledruddukedgudegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpefrvght vghrucfurghinhhtqdetnhgurhgvuceoshhtphgvthgvrhesshhtphgvthgvrhdrihhmqe enucggtffrrghtthgvrhhnpeejtdetgfduudetledutdevkeffuddttddtgffgjeekudeu leelffehhefhgefgteenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehsthhpvghtvghrsehsthhpvghtvghrrdhimh
X-ME-Proxy: <xmx:8LIEZjK3RtwFNFUng86zDkQttDqIPnAy1eLeUV2ujR1C760qlKqu-g> <xmx:8LIEZqKwDs34WWDYJEV5E3RVcZsoxwZi33CNBLd9e2F3ci68rjlYaA> <xmx:8LIEZkxdMVReO349jM0TWJ92O5E5kmt2boCoM4UKqLbEppMM_5vBYw> <xmx:8LIEZuKShI9vCoORw7F6BlUFPl9cP9UFqZASQ2SzsI6WkNtXr9FH6Q> <xmx:8LIEZp8YRj_-4ejc-iT99Q7y-Fq42G1acVXfGGz7WettKpef9w90Mgq7AcU>
Feedback-ID: i24394279:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 27 Mar 2024 19:59:43 -0400 (EDT)
Message-ID: <06c317c8-8d14-4d78-a4c9-9c44cfc3ec31@stpeter.im>
Date: Wed, 27 Mar 2024 17:59:42 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Carsten Bormann <cabo@tzi.org>
Cc: Tim Bray <tbray@textuality.com>, art@ietf.org, draft-ietf-jmap-contacts.all@ietf.org, jmap@ietf.org, last-call@ietf.org
References: <171112316193.8644.5801107423421446407@ietfa.amsl.com> <1C02FE5D-624B-4BBE-A7F3-91EDF54CDE4F@tzi.org> <b5fac088-9eb3-4ede-a266-f943aeaab076@stpeter.im> <4E9A8148-9EFE-4448-B94E-96FBDB6A2B9A@tzi.org>
From: Peter Saint-Andre <stpeter@stpeter.im>
In-Reply-To: <4E9A8148-9EFE-4448-B94E-96FBDB6A2B9A@tzi.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/AsfkEAZFPPHIxYjXeVk3UfE7afs>
Subject: Re: [Last-Call] [art] Artart last call review of draft-ietf-jmap-contacts-06
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Mar 2024 23:59:55 -0000

On 3/23/24 5:56 AM, Carsten Bormann wrote:
> Hi Peter,
> 
>> On 23. Mar 2024, at 10:47, Peter Saint-Andre <stpeter@stpeter.im> wrote:
>>
>> It's also true that we have not done as good a job of that due diligence as we could have (discouraged in part by the IAB statement [1] issued in 2015), but RFC 9233 remedied that oversight for IDNA and we're working on a similar Internet-Draft for PRECIS.
> 
> Thank you for updating me on the PRECIS efforts.
> 
> Given that we are discussing this in the context of draft-ietf-jmap-contacts:
> Do you believe we should force this and similar specs to normatively reference PRECIS and use this to create more detailed definitions of the text-based data items?

Your most recent note prompted me to re-read your review, which seems to 
talk at a high level of generality about protocol design but which 
doesn't seem to make a specific recommendation about the text-based data 
items in draft-ietf-jmap-contacts. Do you believe we should force this 
spec to normatively reference draft-bray-unichars or 
draft-bormann-dispatch-modern-network-unicode?

Reading your review then further prompted me to look at 
draft-ietf-jmap-contacts. As far as I can see, this document mentions 
internationalization only in relation to the "name" property of the 
AddressBook object, specifying that it "may be any UTF-8 string of at 
least 1 character in length and maximum 255 octets in size."

Although that strikes me as rather loosely specified, I don't know 
enough about the context in which it might be used to make off-the-cuff 
recommendations. Section 3.3.1 describes various filtering operations 
involving name constructs, but those seem to be performed on ContactCard 
objects, not AddressBook objects. ContactCard objects seem to adhere to 
the JSContact Card format defined in Section 2 of 
draft-ietf-calext-jscontact (which is in the RFC Editor queue). And 
these filtering operations seem to occur in the context of a standard 
"/query" method as described in RFC 8620, which in turn is based on JSON.

Thus even this very cursory examination reveals that there might be a 
whole bunch of underlying assumptions made by protocol designers and 
implementers in the JMAP community. Specifying at this late stage that, 
say, the name property of the AddressBook object should adhere to the 
PRECIS IdentifierClass might not be all that helpful. Moreover, I don't 
know if in practice JMAP systems have run into i18n-related issues that 
might lead folks in this community to tighten up their definitions 
(e.g., confusing results in filtering operations or data queries). 
Absent detailed knowledge, I would hesitate to graft new i18n rules in a 
"leaf" spec when the roots (JSON) and branches (JMAP and Calext) might 
make very different assumptions. As one example, 
draft-ietf-calext-jscontact could have used the PRECIS FreeformClass in 
Section 1.6.1, but instead it says that "free-form text values MAY 
contain any valid sequence of Unicode characters encoded as a JSON string".

tl;dr: multiple ships have sailed.

Peter