Re: [calsify] JSCalendar: alternative to current all-day events

Doug Royer <douglasroyer@gmail.com> Sat, 22 June 2019 20:23 UTC

Return-Path: <douglasroyer@gmail.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1CB65120108 for <calsify@ietfa.amsl.com>; Sat, 22 Jun 2019 13:23:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.999
X-Spam-Level:
X-Spam-Status: No, score=-0.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 XE7LS2si_z2I for <calsify@ietfa.amsl.com>; Sat, 22 Jun 2019 13:23:36 -0700 (PDT)
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) (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 B010912000E for <calsify@ietf.org>; Sat, 22 Jun 2019 13:23:36 -0700 (PDT)
Received: by mail-pl1-x631.google.com with SMTP id c14so4670883plo.0 for <calsify@ietf.org>; Sat, 22 Jun 2019 13:23:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:references:organization:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=qwOSMmkgnNj4o1JnJWgCqYoNAC0Racb8tPMKOZ/rhnc=; b=h3npWXrCGcTjHLnqmiZEX5OmwmYSSiKMm77nlaqlyDUJ6oE/OAVJWawdp2GnsuMtb6 aqgeJ2aQAlHRINGzPxg1MYOsQuwGvhPqjWp/0V3XEAQ0W57kZMMwJViS+voLBFAElr0z nrBN/6ioYWOO2JBP271a8/2xlvUbmJjWVZ0Jz80iaclDy98kpsr+FuefKNHqvlFfyXLE x6bkspu3TZeMB0Uf3trilUlXGfhRTMh2dZJYMacsISYJoEnC6OCvohB0bJ/KoKovoPrW X7XwlAWn6aTWWWI6+gNBz+bKKf787wA0T5UEZQTQ90CryDZcff919602XhjxO0JErRF/ DcDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=qwOSMmkgnNj4o1JnJWgCqYoNAC0Racb8tPMKOZ/rhnc=; b=Ang155fJPrFeyFf2fP8Pa53MDFiTq88W6YbsFlHaom7pW7OfOdpSM81uB2TV13s6Kn dw1PUvAjbZnmwgrhQqujH8g4Rl3dOdTFiGuzWuY8HF+AFsN6AkROA8ESloVyNR853IIB A5wSm3p98jS24n/lxnls/q+sy/FNZOQmpOdTJP0MR89SLsOWKWgfWOKNZ25r7EzgZdrl VsXqxFif9/5l6o5RI9Xnng6KWHvy2T0JF7VRrWmZ8UYx+X4Bloa26tYb2j99x7LzlgCA gqDifW5wHTlgETJX226cjOHvZVWr4h9rXAynuTvGjMCYIuTEpdNnsJanMbpTEmoT9trh C5Fw==
X-Gm-Message-State: APjAAAWxbmw6zmrmeG5zvW5yleJC2b2l+/gdf9Oa+JvmvclP5yChA2zd JxGtvbE3xr4CetN4gh/vXmNtwkIK5TH0
X-Google-Smtp-Source: APXvYqzDomqWVx9kldvwpYBCIUvtgYXBTxnbTvXmYSr+cdQboUcHpbToMvOhEXbisPeFTF7Rn9PeBA==
X-Received: by 2002:a17:902:542:: with SMTP id 60mr117026882plf.68.1561235015791; Sat, 22 Jun 2019 13:23:35 -0700 (PDT)
Received: from [192.168.1.7] ([174.27.68.92]) by smtp.googlemail.com with ESMTPSA id q10sm6339416pgg.35.2019.06.22.13.23.34 for <calsify@ietf.org> (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Sat, 22 Jun 2019 13:23:35 -0700 (PDT)
From: Doug Royer <douglasroyer@gmail.com>
X-Google-Original-From: Doug Royer <DouglasRoyer@gmail.com>
To: calsify@ietf.org
References: <7ec4462f-9e69-409e-9925-6f0beae7424c@www.fastmail.com> <fea05db4-850a-4f66-a526-b2b7cbe5dc82@beta.fastmail.com> <12b5d7b2-5d97-4bcb-b918-31833b557fef@www.fastmail.com>
Organization: http://SoftwareAndServices.NET
Message-ID: <fd0ef8fd-e958-907d-3308-1604eb7a1a32@gmail.com>
Date: Sat, 22 Jun 2019 14:23:34 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <12b5d7b2-5d97-4bcb-b918-31833b557fef@www.fastmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/vW1dRpCxSIUxH11c2nGfG1FxOS4>
Subject: Re: [calsify] JSCalendar: alternative to current all-day events
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 22 Jun 2019 20:23:38 -0000

On 6/18/19 5:55 AM, Robert Stepanek wrote:
> On Tue, Jun 18, 2019, at 5:16 AM, Neil Jenkins wrote:
>> On Fri, 7 Jun 2019, at 01:56, Robert Stepanek wrote:
>>> Calendar users want to set their calendar on their birthday, when 
>>> they only would like to set it for the complete day in their usual 
>>> time zone. They still want it to show up as an all-day event in their UI.
>>
>> Suppose I have such an event (24h long, starts at midnight on 1st Jan 
>> 2020 in Australia/Melbourne). It is unclear to me what I should show 
>> the user if their time zone is different (e.g. I view the calendar in 
>> Europe/London); does it show up in the "all day" section on both 31st 
>> Dec and 1st Jan? That's the only sensible thing I can come up with. 
>> But that would give the impression the event happens over two days, 
>> which is incorrect. (But perhaps the issue here is really more that 
>> the birthday should not have been given a time zone.)
> 
> I also wouldn't set a timezone on my birthday, but there's been a number 
> of people at last CalConnect reporting that this actually is what users 
> do. I don't have a good answer how to render that if the event timezone 
> and UI timezone don't match - probably a calendaring UI should just 
> ignore the "isAllDay" property if the timezones of the UI and event 
> don't match.

Per 5445, that means they are in local time. That is to be displayed 
using your display time zone.

Which is interesting on web user interfaces x-hosted back from another 
time zone. I have servers in both Mountain and Central time zones. When 
I remotely display a local time event, they are 1 hour different than 
each other - as it should be.

You could mark your birthday as defined by the UTC time you were born. 
In that case set the TZID to the TZID of your birth location, date, and 
time. In which case you set TZID  (without Z), or set the UTC time (Z) 
and do not use a TZID.

Most people celibate their birthday on the date in local time.
In which case you set the DTSTART and do not use TZID or (Z). If you 
travel across the international date line, do you want your 
reminder/anniversary on the date specified that you are in? Or up to 
24-hours offset and seemingly wrong?

The purpose of 5445 and hopefully bis, is to define the data and what it 
means.

It sounds like a user interface guide should be written that explains or 
suggests how to represent the data to a user across vendors so it is 
consistently understood by the average user.

It appears to me that checking 'all-day' on google and Thunderbird, make 
a floating time anniversary VEVENT. They do not seem to allow the user 
to make other versions of anniversary.

With Thunderbird, when I click 'All day Event', it grays out the time.
Set the start equal to end, and mails out:

DTSTART;VALUE=DATE:20190628
DTEND;VALUE=DATE:20190629

GOOGLE:

DTSTART;VALUE=DATE:20190628
DTEND;VALUE=DATE:20190629

Same thing. Both call 'All-Day' to be a anniversary with floating time.
No special iCalendar tag needed.

*AND* both when they get a anniversary  with floating time VEVENT, 
automatically check 'All Day' on their user interfaces. Again no
special iCalendar tag needed.

>>
>> I agree the name could perhaps be better. |showWithoutTime| perhaps? 
>> And a description something like:

That already exists.

To have an iCalendar object without time, per 5545:
  "...For cases where a "VEVENT" calendar component
      specifies a "DTSTART" property with a DATE-TIME value type but no
      "DTEND" property, the event ends on the same calendar date and
      time of day specified by the "DTSTART" property. ..."

Because 5545 says:
"...For cases where a "VEVENT" calendar component
     specifies a "DTSTART" property with a DATE value type but no
     "DTEND" nor "DURATION" property, the event's duration is taken to
     be one day. ..."

The only way (and the only way needed), is to specify a VEVENT with

Floating time:
	DTSTART;...;YYYYMMDDTHHMMSS

or for non-floating time.
	DTSTART;...TZID=aTz:YYYYMMDDTHHMMSS
or
	DTSTART;...:YYYYMMDDTHHMMSSZ


> That's fine for me as well. I chose "isAllDay" rather than 
> "showAsAllDay", because I figured that "show" implies a graphical user 
> interface, which might not be adequate in all cases (think: calendar 
> applications for visual impaired). But I'm not too vested in it.

Or process based events that are acted on - like a sequence of events 
like Alexa or Google home.

>> I also agree we want this for JSTask.
> 
> Yeah, there's several people now asking for it, so I guess I shouldn't 
> have removed it in the first place. But it's great we got that 
> established :)

They already exist in iCalendar. It is the user interfaces that omit them.

-- 

Doug Royer - (http://DougRoyer.US)
Douglas.Royer@gmail.com
714-989-6135