Re: [Sedate] A syntax proposal: floating and future times

Justin Grant <justingrant.ietf.public@gmail.com> Mon, 08 November 2021 07:41 UTC

Return-Path: <justingrant.ietf.public@gmail.com>
X-Original-To: sedate@ietfa.amsl.com
Delivered-To: sedate@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE64B3A0061 for <sedate@ietfa.amsl.com>; Sun, 7 Nov 2021 23:41:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 q1zaOb9C5Vno for <sedate@ietfa.amsl.com>; Sun, 7 Nov 2021 23:41:08 -0800 (PST)
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) (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 DBDDB3A0063 for <sedate@ietf.org>; Sun, 7 Nov 2021 23:41:07 -0800 (PST)
Received: by mail-yb1-xb2b.google.com with SMTP id a129so41098426yba.10 for <sedate@ietf.org>; Sun, 07 Nov 2021 23:41:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WOfENGnkY9A74QKa4vKyWty7jZt8CNrdwONHV96XRM0=; b=FlLF7ALDkXA7Sgq9tmje5u39y3wPh6MwkTpPdlnDrZ4wyyeg+ttpzaa3SsH5zbfPgM eJZc+nYID8yfJXMLlT4je2Mj3MtkD+WC2o1sVvZU0Xh9yfRQqIMQD0RWZsvPEFjZ72ib zvdfdPRxmU6rHdtGCsOZ8BH+norotv98nOZmx/yg2uVDsmnj/q0eH/XLckLTjhyqKOc1 kEfUQ98uKghElI64ZjvV9xuGSwhOmb06v1eg1MIcmh/tKThxKc635YUe6Ee2AgUI0oZX yQJrJMIayPyILflsFYAZwhua6OY377xt3KxotGgpcU7IFQ37XKG81Fp0z0h4vWzgMXSN //3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WOfENGnkY9A74QKa4vKyWty7jZt8CNrdwONHV96XRM0=; b=22bXJ3wFnK1O621tmVm/cQOGSLGSZRleTOFDffPje/aO2AT4mOL6UCzJw/fp9+s/vB 33G19cYKfavHSQaUuwnF7jk9UP01i5BbQiQzrq9GJ2DKgjN09wn3D/haE0e5OPxGxWjg XbPGP/PbcMjklK08b1lr23UeJ2Wjajn1+6A5nDDOEA0T28DDSF/FsnNwFjFNVqNUgVFr 2u3S6UtFlEjojJoqap7mwm7hT69SGoce67GtA27+6aMQ9skcbBorkt30iwO26wFB+67N nLeMaPTbGYtKqd4T3DdXZnrRhuI5zVny/A7b9xo0doQxKP6WlUN5O3bLJlt1NBdcNPW8 dvJw==
X-Gm-Message-State: AOAM530zdTBuRVKuNOkvbrAk2kCvUeVFgTn75XxWPg8eGsUOXPosOu0P 41smmIUBTfQFmKQz5DI9iBKRkfqSX1ZLQoUpKFy7ehLlub0=
X-Google-Smtp-Source: ABdhPJxgeoJLDUZuyGU92le+ESL8TWaNjYST44uXUDe2X3onLsrr9sZ8nPAI8k3cqIRoCTs17yS1utQPYwVcD+snaig=
X-Received: by 2002:a5b:483:: with SMTP id n3mr69179500ybp.308.1636357266178; Sun, 07 Nov 2021 23:41:06 -0800 (PST)
MIME-Version: 1.0
References: <dd7c1028-09bc-4839-b6d4-68e14e99b349@dogfood.fastmail.com> <c0dbaa85-5e5e-409d-a613-9302e9103283@dogfood.fastmail.com> <088a5135-1a39-4135-b8d7-e61113e3c143@beta.fastmail.com> <8964ee5c-463e-44cd-a2b4-e1e1a419337b@dogfood.fastmail.com>
In-Reply-To: <8964ee5c-463e-44cd-a2b4-e1e1a419337b@dogfood.fastmail.com>
From: Justin Grant <justingrant.ietf.public@gmail.com>
Date: Sun, 07 Nov 2021 23:40:55 -0800
Message-ID: <CACy7CfgD+P9GZHy2HG=dSYubJyutX_7YnnW-gj=4FXbV1n4Anw@mail.gmail.com>
To: Neil Jenkins <neilj@fastmailteam.com>
Cc: sedate@ietf.org
Content-Type: multipart/alternative; boundary="00000000000093862f05d0421d2c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sedate/lqMZv9sbi9AgsJMLWCEZpNhdPdE>
Subject: Re: [Sedate] A syntax proposal: floating and future times
X-BeenThere: sedate@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Serialising Extended Data About Times and Events <sedate.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sedate>, <mailto:sedate-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sedate/>
List-Post: <mailto:sedate@ietf.org>
List-Help: <mailto:sedate-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sedate>, <mailto:sedate-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Nov 2021 07:41:11 -0000

>
> *Changes to zone offsets*


My understanding is that there's three use cases:
1. The sender wants to keep the instant fixed, even if the offset of the
time zone has changed (this may result in a different local time than what
was originally captured)
2. The sender wants to keep the local time fixed, even if the offset of the
time zone has changed (this may result in a different instant than what was
originally captured)
3. The sender has no opinion. It will send both the offset and the time
zone to the receiver, and it wants the receiver to decide what to do if the
offset of the time zone has changed.

Here's how Temporal is currently (modulo whatever we decide here in
SEDATE!) planning to handle these three cases:
1. Keep instant fixed by specifying a Z offset with a time zone annotation,
e.g. 2022-11-26T09:00:00Z[Australia/Melbourne]
2. Keep local time fixed by omitting the offset from the string, e.g.
2022-11-26T20:00:00[Australia/Melbourne]
3. Send both local time and offset, and leave it up to the receiver to
decide what to do, e.g. 2022-11-26T20:00:00+11:00[Australia/Melbourne]

What do folks think about those three syntaxes?

For case (2), I'm not sure why we'd need a separate [tz=] syntax for this
case, but maybe I'm missing something?

2022-11-26T09:00:00Z[tz=floating]


I admit I don't fully understand the use case for this syntax. If you know
the instant but not the time zone, then why isn't
2022-11-26T09:00:00Z sufficient?
If you know the local time but not the instant, then why isn't
2022-11-26T09:00:00 sufficient? If the only point of [tz=floating] is to
notify the receiver that you don't know the time zone, then why not just
omit the time zone annotation completely?

It strikes me then that the fundamental problem here is that the goal is
> really to create a standardised serialisation of some date formats *that
> are not datestamps*, that are commonly used across applications on the
> web. It should use the same elements of syntax as RFC3339 but it's not
> exactly an "extension". All the problems seem to stem from trying to
> enforce that they can also be treated as single points in time.


Yep, I'm inclined to agree with Neil here. When sending a partial zoned
timestamp (e.g. I don't know the offset, or I know the timezone), I think
the most obvious way to express "I don't know X" is to omit "X" from the
string. I'm not sure it's a good idea to create a new syntax that pretends
that it's an RFC3339-compliant timestamp when it's really not.

when this was proposed at the last IETF, there was fairly strong pushback
> to the idea of the first part not being exactly an RFC3339 production - so
> I'm proposing a format which always contains an RFC3339 component and yet
> is reliably convertable.


Do we know why there was such strong pushback?  What were the underlying
concerns?

I don't know the people involved so can't be sure, but I'd guess that
adhering to RFC3339 syntax but not actually providing a meaningful
timestamp would generate *more* pushback. But that's just a guess.

Cheers,
Justin