Re: [regext] [EXTERNAL] Re: jCard to JSContact transition

Mario Loffredo <mario.loffredo@iit.cnr.it> Tue, 04 April 2023 14:37 UTC

Return-Path: <mario.loffredo@iit.cnr.it>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64E3BC151B24 for <regext@ietfa.amsl.com>; Tue, 4 Apr 2023 07:37:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.795
X-Spam-Level:
X-Spam-Status: No, score=-1.795 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
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 BuPSmg7OliJY for <regext@ietfa.amsl.com>; Tue, 4 Apr 2023 07:36:59 -0700 (PDT)
Received: from mx5.iit.cnr.it (mx5.iit.cnr.it [146.48.58.12]) by ietfa.amsl.com (Postfix) with ESMTP id ED327C14CE29 for <regext@ietf.org>; Tue, 4 Apr 2023 07:36:57 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mx5.iit.cnr.it (Postfix) with ESMTP id 8AB19C051A; Tue, 4 Apr 2023 16:36:55 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx5.iit.cnr.it
Received: from mx5.iit.cnr.it ([127.0.0.1]) by localhost (mx5.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id smuELEfiO13k; Tue, 4 Apr 2023 16:36:51 +0200 (CEST)
X-Relay-Autenticated: yes
Content-Type: multipart/alternative; boundary="------------rI4c4E0zBT1ejc0xkXzqWNfD"
Message-ID: <bfd3b28b-e1cd-711c-6ea6-8bdcf9c633cd@iit.cnr.it>
Date: Tue, 04 Apr 2023 16:33:17 +0200
Mime-Version: 1.0
To: Jasdip Singh <jasdips@arin.net>, Rick Wilhelm <Rwilhelm@PIR.org>, Andrew Newton <andy@hxr.us>
Cc: Marc Blanchet <marc.blanchet@viagenie.ca>, "regext@ietf.org" <regext@ietf.org>
References: <181399d5-99ab-576c-01ce-2eab9d92b59b@iit.cnr.it> <58AA6BED-A56D-400F-88DB-C5FAB0332869@viagenie.ca> <467a90c0-00fd-a295-adc9-7fe726a272cc@iit.cnr.it> <CAAQiQReayBhyZRZ6bPhPrQY5ySB-bh2VNxJ6L11xqE0ZjcQi7Q@mail.gmail.com> <BY5PR10MB4179A47F4159322D10319C68C98C9@BY5PR10MB4179.namprd10.prod.outlook.com> <6858f33e-662c-8346-4f5a-8bce69d62707@iit.cnr.it> <1969B61C-DD2B-4C05-AA9E-956D670E33DD@arin.net>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
In-Reply-To: <1969B61C-DD2B-4C05-AA9E-956D670E33DD@arin.net>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/37h6Mwmit3hfE5fv2C6pXeZcpv8>
Subject: Re: [regext] [EXTERNAL] Re: jCard to JSContact transition
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Apr 2023 14:37:03 -0000

Hi Jasdip,

please find my comments below.

Il 04/04/2023 00:18, Jasdip Singh ha scritto:
>
> Hi.
>
> If the response size increase is not a concern when both jCard and 
> JSContact objects are returned for some time, it seems Andy’s proposal 
> (option 3) is the way to go. IMO, it keeps things simple without 
> having to worry about which query parameter to set on the client side.
>
[ML] Based on my last proposal, the client needs to set only the jscard 
parameter. It can be set just once and then can persist in the query 
string for long until being removed.

On server side, a server must return jCard or JSContact along with some 
response extensions depending on the jscard parameter.

Have implemented it on both sides and the required effort was not so 
relevant.

> Additionally, a server could simply send back a notice as to when 
> jCard would be sunset from its side. As was mentioned previously, 
> agree that a server couldn’t definitively measure when the client 
> demand for jCard goes to zero by looking at the proposed query 
> parameters. Instead, the server would decide unilaterally with 
> sufficient forewarning to clients.
>
[ML] Jasdip let me please remind you and everyone else that, at the time 
this document was adopted, we decided to rename the draft in order to 
put the focus on JSContact extension rather than on jCard deprecation.

We did it because most of us were uncertain about the jCard deprecation.

I'm very happy to see there is much less uncertainty now, but I still 
don't think option 3 is the best way to go for the following reasons:

- conceptually, providing the same information in two formats at the 
same time when just one is used doesn't make sense to me

- would evaluate how big could be the payload increment due to 
duplicating the contact cards and related information, especially in 
search responses. Maybe I'm wrong but it doesn't seem entirely 
negligible to me. Will make some tests.

- think it would be useful for every server to gather some stats from 
the logs to monitor the spread of JSContact

-  last but not least, unsetting jCard unilaterally and with no evidence 
that it will not break the response seems to me more disruptive for 
clients than returning JSContact instead of jCard on demand.


Best,

Mario

> Jasdip
>
> *From: *regext <regext-bounces@ietf.org> on behalf of Mario Loffredo 
> <mario.loffredo@iit.cnr.it>
> *Date: *Monday, April 3, 2023 at 5:32 AM
> *To: *Rick Wilhelm <Rwilhelm@PIR.org>, Andy Newton <andy@hxr.us>
> *Cc: *Marc Blanchet <marc.blanchet@viagenie.ca>, "regext@ietf.org" 
> <regext@ietf.org>
> *Subject: *Re: [regext] [EXTERNAL] Re: jCard to JSContact transition
>
> Hi Rick,
>
> please find my comments below.
>
> Il 01/04/2023 03:03, Rick Wilhelm ha scritto:
>
>     I think that I’m leaning towards Andy’s approach, but I haven’t
>     soak this thinking for very long.
>
>     Perhaps it’s useful to go back to one of the original motivations
>     for the draft.
>
>     As I recall, programmers, especially client-side, have been known
>     to have difficulty with JCard (for various reasons).
>
>     Therefore, a “more modern” approach using JSContact is being proposed.
>
>     So… A server presently has to support JCard and theoretically MAY
>     support JSContact.
>
>     If a client encounters such a server, and detects that the server
>     supports JSContact, then it would be able to reliably ignore the
>     JCard that is returned and instead use code that parses JSContact
>     and be on its merry way.
>
>     A key difference between Mario’s (2) and Andy(3) is basically a
>     negotiation step.  While I understand the benefit of “smaller
>     response” proposed by (2), it seems that the negotiation step
>     (with its round trips) would overwhelm that.  And perhaps lead to
>     odd situations (race conditions?) if the server is responding
>     inconsistently.
>
>     On balance, to me the cost of some extra bytes on the wire is
>     cheap compared to the additional client and server code
>     complexity, and the server load of the extra connection.
>
>     Interested in others thoughts.
>
> [ML] Up to now, we have always followed the philosophy that an 
> addtional feature must be provided by the server on demand.
>
> I would keep it also in this case so I would make the submission of 
> jscard parameter the condition to receive JSContact.
>
> In my opinion, it's useless to provide the same information twice in 
> two different formats simultaneously because the client will always 
> use only one.
>
> Furthermore, providing the contact information in two formats 
> increases the risk of inconsistencies between them.
>
> Please take a look at the change on the current approach I proposed  
> to Andy and say if it works for you too.
>
> Best,
>
> Mario
>
>     Thanks
>
>     Rick
>
>     *From: *regext <regext-bounces@ietf.org>
>     <mailto:regext-bounces@ietf.org> on behalf of Andrew Newton
>     <andy@hxr.us> <mailto:andy@hxr.us>
>     *Date: *Saturday, April 1, 2023 at 6:27 AM
>     *To: *Mario Loffredo <mario.loffredo@iit.cnr.it>
>     <mailto:mario.loffredo@iit.cnr.it>
>     *Cc: *Marc Blanchet <marc.blanchet@viagenie.ca>
>     <mailto:marc.blanchet@viagenie.ca>, regext@ietf.org
>     <regext@ietf.org> <mailto:regext@ietf.org>
>     *Subject: *[EXTERNAL] Re: [regext] jCard to JSContact transition
>
>     CAUTION: This email came from outside your organization. Don’t
>     trust emails, links, or attachments from senders that seem
>     suspicious or you are not expecting.
>
>     I really don't understand this decision tree. JCard is in the standard
>     today while JSContact is not. Any transition that aims to be as
>     non-disruptive as possible would need to start at serving JCard today,
>     serving both JCard and JSContact, and then phasing out JCard.
>
>     -andy
>
>     On Thu, Mar 30, 2023 at 8:37 PM Mario Loffredo
>     <mario.loffredo@iit.cnr.it> <mailto:mario.loffredo@iit.cnr.it> wrote:
>     >
>     > Hi Marc,
>     >
>     > thanks for your quick reply.
>     >
>     > Think it's always better to reduce the response payload when you can
>     > through a low implementation effort. But it's just my opinion.
>     >
>     > So now we have 3 proposals on the table :-))
>     >
>     >
>     > Best,
>     >
>     > Mario
>     >
>     >
>     > Il 30/03/2023 13:09, Marc Blanchet ha scritto:
>     > >
>     > >> Le 30 mars 2023 à 19:47, Mario Loffredo
>     <mario.loffredo@iit.cnr.it> <mailto:mario.loffredo@iit.cnr.it> a
>     écrit :
>     > >>
>     > >> Hi folks,
>     > >>
>     > >> this is a post to resume the discussion about how to execute
>     the transition from jCard to JSContact.
>     > >>
>     > >> Up to now, there are two approaches on the table:
>     > >>
>     > >>
>     > >> 1) Returning JSContact in place of jCard (current proposal)
>     > >>
>     > >> Until transition is ended, a server returns one of the two
>     formats by default and returns the other on request.
>     > >>
>     > >> Each server can decide that it's time to stop supporting
>     jCard based on the evidence that it's no more requested.
>     > >>
>     > >>
>     > >> 2) Returning JSContact in addition to jCard
>     > >>
>     > >> Until transition is ended, a server returns jCard by default
>     and adds JSContact to the response on request.
>     > >>
>     > >> Each server arbitrarily decides when it's time to stop
>     supporting jCard.
>     > >>
>     > > Sorry Mario, I’ve been a bit off on this, so maybe my comment
>     is off. But why not:
>     > >
>     > > 3) Returning JSContact in addition to jCard
>     > >
>     > > Until transition is ended, a server returns jCard by default
>     and always adds JSContact to the response
>     > >
>     > > Each server arbitrarily decides when it's time to stop
>     supporting jCard.
>     > >
>     > > Regards, Marc.
>     > >
>     > >
>     > >
>     > >> Please see Section 4.2.1 of the rdap-jscontact document and
>     my today's presentation for more information about pros/cons of
>     each approach and provide feedback.
>     > >>
>     > >>
>     > >> Best,
>     > >>
>     > >> Mario
>     > >>
>     > >>
>     > >> --
>     > >> Dott. Mario Loffredo
>     > >> Technological Unit “Digital Innovation”
>     > >> Institute of Informatics and Telematics (IIT)
>     > >> National Research Council (CNR)
>     > >> via G. Moruzzi 1, I-56124 PISA, Italy
>     > >> Phone: +39.0503153497
>     > >> Web: http://www.iit.cnr.it/mario.loffredo
>     <https://protect-us.mimecast.com/s/iZbdC31PzwsROjLt2OE9B?domain=iit.cnr.it>
>     > >>
>     > >> _______________________________________________
>     > >> regext mailing list
>     > >> regext@ietf.org
>     > >> https://www.ietf.org/mailman/listinfo/regext
>     <https://protect-us.mimecast.com/s/6DeiC4xPALS7qZLhWUpEW?domain=ietf.org>
>     >
>     > --
>     > Dott. Mario Loffredo
>     > Technological Unit “Digital Innovation”
>     > Institute of Informatics and Telematics (IIT)
>     > National Research Council (CNR)
>     > via G. Moruzzi 1, I-56124 PISA, Italy
>     > Phone: +39.0503153497
>     > Web: http://www.iit.cnr.it/mario.loffredo
>     <https://protect-us.mimecast.com/s/iZbdC31PzwsROjLt2OE9B?domain=iit.cnr.it>
>     >
>     > _______________________________________________
>     > regext mailing list
>     > regext@ietf.org
>     > https://www.ietf.org/mailman/listinfo/regext
>     <https://protect-us.mimecast.com/s/6DeiC4xPALS7qZLhWUpEW?domain=ietf.org>
>
>     _______________________________________________
>     regext mailing list
>     regext@ietf.org
>     https://www.ietf.org/mailman/listinfo/regext
>     <https://protect-us.mimecast.com/s/6DeiC4xPALS7qZLhWUpEW?domain=ietf.org>
>
>
>
>     _______________________________________________
>
>     regext mailing list
>
>     regext@ietf.org
>
>     https://www.ietf.org/mailman/listinfo/regext
>
> -- 
> Dott. Mario Loffredo
> Technological Unit “Digital Innovation”
> Institute of Informatics and Telematics (IIT)
> National Research Council (CNR)
> via G. Moruzzi 1, I-56124 PISA, Italy
> Phone: +39.0503153497
> Web:http://www.iit.cnr.it/mario.loffredo
>
> _______________________________________________
> regext mailing list
> regext@ietf.org
> https://www.ietf.org/mailman/listinfo/regext

-- 
Dott. Mario Loffredo
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo