Re: [calsify] JSCalendar duration vs. end time
Michael Douglass <mikeadouglass@gmail.com> Fri, 15 February 2019 16:11 UTC
Return-Path: <mikeadouglass@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 EFBB4128BCC for <calsify@ietfa.amsl.com>; Fri, 15 Feb 2019 08:11:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 dvwtIalE0iSA for <calsify@ietfa.amsl.com>; Fri, 15 Feb 2019 08:11:22 -0800 (PST)
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) (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 7A33E127598 for <calsify@ietf.org>; Fri, 15 Feb 2019 08:11:21 -0800 (PST)
Received: by mail-qt1-x82e.google.com with SMTP id d18so1370894qtg.12 for <calsify@ietf.org>; Fri, 15 Feb 2019 08:11:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=loXT2sEwiQHailo3f3xuh7xTmhSDldcjeO/28QDeCFE=; b=K6X5MYyDfZL88SIedZSfgBdJqg/usckL3+mGaz7nbgpdKQS9bJXVRPKwSp/Whazu9K oU1+KoEjTZGZDYiKk8h9qr4RNnNX6NyWX9BTlUV/1Pe7rwQBshUF1A9ebRGbRbQF/aKL QjP3y5hXfU1LcOcQJYAOCFzzfqHOCF5kCqva3CD24IBGr0oZPQCzRBw4cazfKrhwXM5Z BUkkeupAU8VCwcTQ6bjVqTjZlU41S5HhiBQvByBOvhSES8E4Q3GXoAIF9XHDG/uNWNYp /CclquKPW8m6sF9pQX9wh1Xofo4Sz8I+rnYGvHZo9bh5CmQR7wJb65JyrhSf5LquC3Ly tDnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=loXT2sEwiQHailo3f3xuh7xTmhSDldcjeO/28QDeCFE=; b=IVUUftkSq7euP8ZbCcj+YeQaBz8R5o6KBAjZAXhCX/pgaSKAUe52G/XbLrFnO950rw UsNk15wPrgRIR1xpOqCsG7QU1/0uUHWRRVhQgwsCGBGi3iK1AuTCxgYRNQTk5/s+L29w n5hq2t02YmHebBrnhgRWkQhwXU+U5dYQn8TgWmYrpq4vTtBt81iARDSSnMfuDW21c7/e JD1pO/PlcZSzJZf3V3JWHNg5XF5TiOu4n/YFz5MD/gcywaGIppkQH+PCRo9y7gyhQD3b oWWupcRBpy1guHiftemf0MVXt7qus8zrlgQ2ka1YsjI87EgjmYle8X20pH7RBtc3u3CJ 7yGQ==
X-Gm-Message-State: AHQUAuZv6734364LLaURiBZHxl7dBMNbHITRc58y78zWmX+1CTJmoxY5 xhiPZY53obbjRMhpABF9DXO/2z7X
X-Google-Smtp-Source: AHgI3IZb46o/ltvDENMAdaUwueYFqqI8amJlObvTthEFh587nRzya94SbQg1ohHV/YRQKpkcZAJRqw==
X-Received: by 2002:aed:35c6:: with SMTP id d6mr8364347qte.320.1550247080235; Fri, 15 Feb 2019 08:11:20 -0800 (PST)
Received: from Michaels-MacBook-Pro.local (cpe-74-70-80-66.nycap.res.rr.com. [74.70.80.66]) by smtp.googlemail.com with ESMTPSA id f7sm3386165qkb.33.2019.02.15.08.11.18 for <calsify@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Feb 2019 08:11:18 -0800 (PST)
To: 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>
From: Michael Douglass <mikeadouglass@gmail.com>
Message-ID: <33c0b886-1136-715e-be56-10d342e2522c@gmail.com>
Date: Fri, 15 Feb 2019 11:11:17 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.5.0
MIME-Version: 1.0
In-Reply-To: <CA+H1sWM4p78Ub8j_f92RLz9nvBVuwvEZx5CstsYS6rnHwFLdZw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------D90B6518430982319477A5D7"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/V7sd2LjTfkVZ4-7hKD8mEu-szhk>
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: Fri, 15 Feb 2019 16:11:26 -0000
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 <calsify-bounces@ietf.org> >> <mailto: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 > https://www.ietf.org/mailman/listinfo/calsify
- [calsify] JSCalendar duration vs. end time Robert Stepanek
- Re: [calsify] JSCalendar duration vs. end time Alexander Nimmervoll
- Re: [calsify] JSCalendar duration vs. end time Neil Jenkins
- Re: [calsify] JSCalendar duration vs. end time Bron Gondwana
- Re: [calsify] JSCalendar duration vs. end time Alexander Nimmervoll
- Re: [calsify] JSCalendar duration vs. end time Robert Stepanek
- Re: [calsify] JSCalendar duration vs. end time Marten Gajda
- Re: [calsify] JSCalendar duration vs. end time Garry Shutler
- Re: [calsify] JSCalendar duration vs. end time Alexander Nimmervoll
- Re: [calsify] JSCalendar duration vs. end time Michael Douglass
- Re: [calsify] JSCalendar duration vs. end time Tim Hare
- Re: [calsify] JSCalendar duration vs. end time Doug Royer
- Re: [calsify] JSCalendar duration vs. end time Robert Stepanek
- Re: [calsify] JSCalendar duration vs. end time Дилян Палаузов
- Re: [calsify] JSCalendar duration vs. end time Doug Royer
- Re: [calsify] JSCalendar duration vs. end time Дилян Палаузов
- Re: [calsify] JSCalendar duration vs. end time Doug Royer