Re: [calsify] JSCalendar duration vs. end time

"Tim Hare" <TimHare@comcast.net> Mon, 18 February 2019 22:59 UTC

Return-Path: <timhare@comcast.net>
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 8840E1310AE for <calsify@ietfa.amsl.com>; Mon, 18 Feb 2019 14:59:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.687
X-Spam-Level:
X-Spam-Status: No, score=-2.687 tagged_above=-999 required=5 tests=[AC_DIV_BONANZA=0.001, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=comcast.net
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 W3p4XpImrh7Q for <calsify@ietfa.amsl.com>; Mon, 18 Feb 2019 14:59:10 -0800 (PST)
Received: from resqmta-po-03v.sys.comcast.net (resqmta-po-03v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:162]) (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 823951310A9 for <calsify@ietf.org>; Mon, 18 Feb 2019 14:59:10 -0800 (PST)
Received: from resomta-po-10v.sys.comcast.net ([96.114.154.234]) by resqmta-po-03v.sys.comcast.net with ESMTP id vnf0goNCiZgSGvrsTgqMgY; Mon, 18 Feb 2019 22:59:09 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1550530749; bh=5G1nqvaYBcMu5Zq052l3XTNrfgp7XD8RGnhxNClJPN8=; h=Received:Received:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type; b=YoqC1fVAgYkEkWTRQzV4abyo36/3qMZd8g8nUWLojfwJGLghNFT53HlChDa5TmEpy JeJ1uNlpab035YKD1+1O8n9jO/SEcpZQU9cDgghRwPtZ/QQiL9YXN1Ti+VEJc8VcIO PLRte50PtoqA5dqhKKI8bmdgEiGjOqDAa/lOk+BR1flBQGRxUGx7bFFHaPrXnslFiV LgsJR8WRO5dR2CLjIIan3cGgsI2Tcw4XSA02vmzqxqUVNaYEXamW50ZB4y+r8Mldpr ZQ6Evwlom71MKAC0d4/o2gCN5+EZJkxe5j85QEEDe1/tHn+Slyo05rGEX8MT8idwn9 IwoizlhB8oEig==
Received: from THARE ([98.192.130.240]) by resomta-po-10v.sys.comcast.net with ESMTPA id vrsSgbMB9FKT9vrsTgXVFO; Mon, 18 Feb 2019 22:59:09 +0000
X-Xfinity-VAAS: gggruggvucftvghtrhhoucdtuddrgedutddrtddvgddtgecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucevohhmtggrshhtqdftvghsihdpqfgfvfdppffquffrtefokffrnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfhfjgfufffkgggtofhtsegrtdhgpedvtdejnecuhfhrohhmpedfvfhimhcujfgrrhgvfdcuoefvihhmjfgrrhgvsegtohhmtggrshhtrdhnvghtqeenucffohhmrghinhepihgvthhfrdhorhhgnecukfhppeelkedrudelvddrudeftddrvdegtdenucfrrghrrghmpehhvghlohepvffjteftgfdpihhnvghtpeelkedrudelvddrudeftddrvdegtddpmhgrihhlfhhrohhmpehtihhmhhgrrhgvsegtohhmtggrshhtrdhnvghtpdhrtghpthhtoheptggrlhhsihhfhiesihgvthhfrdhorhhgpdhrtghpthhtohepmhhikhgvrgguohhughhlrghsshesghhmrghilhdrtghomhenucevlhhushhtvghrufhiiigvpedt
X-Xfinity-VMeta: sc=??;st=legit
From: Tim Hare <TimHare@comcast.net>
To: 'Michael Douglass' <mikeadouglass@gmail.com>, calsify@ietf.org
References: <1550160126.3602072.1658018976.28709BD3@webmail.messagingengine.com> <aec2692f-a2dc-4004-b1e4-4e3d3680aa9b@beta.fastmail.com> <029301d4c4fd$5eaca610$1c05f230$@caldavsynchronizer.org> <c61fc29a-f171-42e4-f29b-fbd820ed9974@dmfs.org> <CA+H1sWM4p78Ub8j_f92RLz9nvBVuwvEZx5CstsYS6rnHwFLdZw@mail.gmail.com> <33c0b886-1136-715e-be56-10d342e2522c@gmail.com>
In-Reply-To: <33c0b886-1136-715e-be56-10d342e2522c@gmail.com>
Date: Mon, 18 Feb 2019 17:59:06 -0500
Message-ID: <025301d4c7dd$8da7c7f0$a8f757d0$@comcast.net>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0254_01D4C7B3.A4D409E0"
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQOLZthb+8PHggH5/l2b8JGbRR609QKonOjiAalRB5ABc14FEgFqbvNuAugSKpyiKCygkA==
Content-Language: en-us
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/BHS7XHc0r0eUs6dpNjoEQgH1YvY>
Subject: Re: [calsify] JSCalendar duration vs. end time
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: Mon, 18 Feb 2019 22:59:13 -0000

I am not a developer at the moment, but an interested party.  I’m more interested, for my part, in enabling people and organizations to publish calendar information easily.  

That said, in my opinion anything that causes divergence between RFC 5545 and representations in other ways (XML, JS) can be problematic.  I’m on record as wondering why property parameters didn’t become XML attributes, because that representation seemed to match the text-only representation better;   I believe JSCalendar should make it easy to go from DTSTART/DTEND to a start time and end time  and from DTSTART/DURATION to start time and duration.   There may be non-user-facing instances where translating between one representation and another is useful, and being able to ‘round trip’ it makes development of such things a little less bug-prone.

Tim Hare
Interested Bystander, Non-Inc.

 

From: calsify [mailto:calsify-bounces@ietf.org] On Behalf Of Michael Douglass
Sent: Friday, February 15, 2019 11:11 AM
To: calsify@ietf.org
Subject: Re: [calsify] JSCalendar duration vs. end time

 

On 2/15/19 04:44, Garry Shutler wrote:



As the intended usage is so different, the similarity in naming can only lead to confusion, which has been demonstrated here.

 

If tasks were to have due and estimatedDuration (and perhaps something like commencement rather than start), and events have start and duration it would be more clear that they are different to each other.

The tasks extension (draft) already does that. 

-



Garry Shutler

CTO & Co-founder, Cronofy
Scheduling Everything for Everyone

 

 

On Fri, 15 Feb 2019 at 09:08, Marten Gajda <marten@dmfs.org <mailto:marten@dmfs.org> > wrote:

Am 15.02.19 um 08:09 schrieb Alexander Nimmervoll:

 

So why do you stick to due instead of start+duration for JSTasks?

In contrast to events where the start is usually the more important date, the due date of a task is usually far more important than its start. So if you move a task in your calendar you usually mean to move the due date.

In addition, in order to apply a duration you would always need a start, but iCalendar and most implementations allow tasks to have a due date only. And that's mostly what an average user cares about.

There is an iCalendar extension which adds an estimatedDuration property to VTODO. Its meant to express that the actual execution time of a task is usually shorter than the execution window (i.e. the time between start and the due date).

 

For the airline example with start and end time and fixed scheduled duration an idea would also be to use the estimatedDuration property for the scheduled flight-time or something similar.

Where would be the difference to the duration we already have for events? I think it might make sense to add a parameter which expresses that the duration is only an estimate or may be subject to change. We could, for instance, add a margin of error. For example: a concert starts at 20:30 and is scheduled for 2 hours. It may be delayed and the band may play a few more extra songs, but due to local regulations there is a hard stop at 23:00.

I'd leave that to an extension of the current spec though.

Cheers,

Marten

 

Cheers,

Alex

 

Von: calsify  <mailto:calsify-bounces@ietf.org> <calsify-bounces@ietf.org> Im Auftrag von Neil Jenkins
Gesendet: Freitag, 15. Februar 2019 00:20
An: calsify@ietf.org <mailto:calsify@ietf.org> 
Betreff: Re: [calsify] JSCalendar duration vs. end time

 

On Fri, 15 Feb 2019, at 03:03, Robert Stepanek wrote:

Two arguments were raised in favor of adding an end time

*	It simplifies translation of VEVENTs with DTSTART/DTEND from iCalendar.

 

Every client/server will need to be able to translate between duration and end already, so this is unlikely to be a significant hurdle to anyone.

 

*	It allows to specify recurring events with a fixed end time even in case of time gaps (e.g. a recurring night club that has to close at a fixed time for legal reasons).

 

You kind-of mention this below, but I think it's important to note that this argument is false.. You cannot do this with recurrences as they exist right now in iCalendar. 

 

On Fri, 15 Feb 2019, at 05:25, Alexander Nimmervoll wrote:

But looking into it also from client UI perspective almost every client allows you to choose start and end time and not start time and duration for an event.

 

The UI is independent of the underlying data format; as mentioned above you need to be able to translate between the two anyway.

 

Is there a reason you choose start time and duration vs start time and end time?

 

Yes.. There are many reasons why I strongly believe duration is preferable to end:

1.	Having two representations for the same thing requires more code complexity, as there are two code paths to deal with.
2.	Recurrences always operate with duration regardless of whether it's actually specified as "end time", which is very confusing. With duration, it's very clean: you expand the start time according to the recurrence rule and then just inherit every other property (duration is just another property you inherit).
3.	There is no extra expressivity adding "end time". You can always convert from end time to duration. The one exception is if the time zone data changed so that an offset transition now happened in the middle of the event AND in such a case you wanted the event to maintain its original end time rather than its original duration. I contend that:

1.	This case is exceedingly rare, and not important enough to make the common case more complex.
2.	No UI will ever be built to offer the user a choice for how to handle this situation, so it's even less important to handle.
3.	A better way to handle it would be to add an extra property that could be used to indicate the duration should be done in "wall clock" time; this would then also work for recurrences, which there is no solution for in iCalendar.

4.	Duration is guaranteed to be zero or positive, making it harder to create an invalid event and easier to check that an event object is valid. If you move the start of a series of events you don't need to make sure to keep the end in sync.
5.	Should time zone definitions change, it is more likely the duration should remain fixed and the end should shift (e.g. for flights).

 

Using start and end time allows also an easier specification of different start and end timezones

 

This is modelled differently in JSCalendar: there is a single time zone for the event, which is what it is scheduled in, but you can associate time zones with locations and mark that a location is where the event finishes, which is equivalent to the end time zone in iCalendar. This again is clearer, as it more closely matches the semantics of iCalendar (the "end" time zone is not used for scheduling/recurrences, it is only used for displaying in the UI after the necessary date arithmetic). And if time zone definitions change, again it's more likely the duration should stay constant rather than the end time (the example everyone uses for a different end time zone is flights: flying from Melbourne to LA is not going to get an hour shorter if California suddenly changes its daylight saving rules).

 

Neil.





_______________________________________________
calsify mailing list
calsify@ietf.org <mailto:calsify@ietf.org> 
https://www.ietf.org/mailman/listinfo/calsify

-- 
Marten Gajda
CEO
 
dmfs GmbH
Schandauer Straße 34
01309 Dresden
GERMANY
 
phone: +49 177 4427167
email: marten@dmfs.org <mailto:marten@dmfs.org> 
 
Managing Director: Marten Gajda
Registered address: Dresden
Registered No.: AG Dresden HRB 34881
VAT Reg. No.: DE303248743

_______________________________________________
calsify mailing list
calsify@ietf.org <mailto:calsify@ietf.org> 
https://www.ietf.org/mailman/listinfo/calsify





_______________________________________________
calsify mailing list
calsify@ietf.org <mailto:calsify@ietf.org> 
https://www.ietf.org/mailman/listinfo/calsify