emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: UTC or not UTC for timestamps in the past ([FEATURE REQUEST] Timezon


From: Thomas S. Dye
Subject: Re: UTC or not UTC for timestamps in the past ([FEATURE REQUEST] Timezone support in org-mode)
Date: Thu, 26 Jan 2023 06:31:47 -1000
User-agent: mu4e 1.6.10; emacs 27.1

Aloha Max,

Max Nikulin <manikulin@gmail.com> writes:

On 23/01/2023 23:04, Thomas S. Dye wrote:
* Kinds of event
- No-host event :: An event that takes place at an absolute time. Participants must know their local timezone offset from UTC. Example [2023-01-23
06:00@UTC].
- Situated event :: An event that takes place at a time local to the event site.  Participants must know their local timezone offset from UTC and the event site timezone offset from UTC at the time of the event. Example
[2023-01-22 Sun 08:29@Australia/Sydney].
- [Itinerant | Traveling | Mobile] event :: An event that takes place at a time local to the event site, which might change after the event has been scheduled.  Participants must know their local timezone offset from UTC and the event site timezone offset from UTC at the time of the event.  Examples might be a regular staff meeting that takes place at 9:00 AM wherever the boss happens to be, or a proposal to meet with a traveler when it is noon on Sunday for the traveler. Example [2023-01-23 06:00].  In this case timezone is set
according to user timezone preference in scope.

Thomas, I mostly agree with the set of event kinds your suggested. Perhaps names should be justified to have precise and concise terms in UI. From my point of view their value is association with appropriate storage format for particular
timestamp.

Agreed. Another idea for the mobile event is "variably situated event". I don't doubt that better terms might be proposed.

An additional parameter (or sometimes first one to choose) is if explicit or implicit time zone should be used in the file. In the latter case the same kinds of events are possible, particular one is determined from a parent scope. User should be just aware what is actual time zone if it is implicit one.

I was trying to capture this in the timestamp, where an explicit time zone is indicated and an implicit time zone is simply a date and time.

The following concept is aside from event kinds, but might (or might not) be useful to present agenda, to schedule events, to implement the feature. Perhaps a trip may be considered as an ad hoc timezone that follows offsets of time in locations to visit. (Several such ad hoc time zones may allow to track schedule of several people, but it may be too complex to use.) It may be considered close to "mobile" event, but the purpose is not to ensure correct time of particular event. It may facilitate presentation of timeline during the trip.

An alternative would be to have headlines for each stop on the trip, each of which has a #+TIMEZONE property. Under each headline would be subheads for events, each with a timestamp for a "mobile event". Org would let me toggle the times of these events relative to my current location, the event location, and UTC.


Perhaps it is more correct to talk about how events are scheduled, not of event kinds. Consider Christmas and similar events. It is personal and local for each user. If you share your .org file (with specified file-local time zone) with other persons they celebrate accordingly to their local time. In addition they may decide that it should be pleasant for you to receive a greeting close to
your local time.

In the first case, "Open Christmas presents at 8:00 AM", the event would be variably situated because I want to do this on the years I celebrate at home and also the years when I celebrate with friends and family in other parts of the world. A timestamp for a variably situated event shares well--the recipient user needs to ensure that the event is stored within user's local time zone scope.

In the second case, "Send Christmas greetings to Max when he opens presents at 8:00 AM" would be an event situated at the place Max is celebrating--it is separate from the first case. If I know where Max will celebrate Christmas, then I could use a timestamp for a situated event. Otherwise, I would use a timestamp for a mobile event and make certain to ensure that the time zone scope for the event tracks Max's whereabouts.

It seems during discussion we use terms in slightly different meaning, so I will
try to clarify my point of view.

I had a course on general relativity theory, so "absolute time" does make much sense for me. UTC is just a widely accepted agreement. I was bound to Earth rotation and accumulated some offset from more precise atomic clocks. UTC however currently is easiest way to perform time related calculations.

Yes, UTC is the sign we've widely agreed to interpret as absolute time. A key property is that UTC is a continuum, absent the potential discontinuities that characterize space/time units like time zones.

My perception is still that UTC is one of timezones that may be used to specify event time. It is a bit special since it is used as a reference for other time zones, so it may be preferable for global events. If UTC considered as an ordinary time zone then the whole set of time zones may be divided into 2 classes: with fixed time offset (including UTC, Etc/GMT+3 that may be specified as -03:00, etc) and with time zones associated to specific locations. Second class is affected by DST, changes of offsets that may be source of uncertainty. The role of UI is to help user to choose a timezone that is suited best for particular event. For events in the future often it is necessary to use a location-based time zone, in other cases it is UTC or anyone with fixed offset. When you recording current time, explicit offset may be better. I am still unsure what is better to use: kinds of events or kinds of time zones.

Well, you know where I stand on this---UTC is not a time zone and no good comes from confusing it with one. Nevertheless, the UI issue need not require the user to grasp the distinction between event and occurrence. My idea was to use "no host event" to refer to an occurrence. To my mind, "no host" gets to the point of "not associated with a particular region of space/time", so that calling it an event, a fundamental space/time unit, is less likely to cause confusion.

I agree that offset as a part of timestamp may be confusing, but I am afraid that significant part of affected users are unaware of UTC as well. That is why
proper UI may be a challenging task.

The discussion around this point confuses me. One the one hand, a timestamp for absolute time (UTC or offset from UTC) should be stored in the format that minimizes computations that will subsequently involve it. On the other hand, the user can toggle or otherwise see (Ihor's eldoc solution) the timestamp in the format that makes the most sense, so the readability of the storage format is not really at issue.

Thomas, for me event kinds are less important than understanding that UTC timestamps are not enough achieve properly working schedule. Currently you see that timezones associated with locations in some cases must be used in stored timestamps. Have you noticed that I missed anything significant in your
messages?

No, I don't think you've missed anything significant. Thanks very much for your patience during a discussion that was interesting for me. I learned quite a bit from you and the other contributors to the thread and look forward now to learning how Org mode evolves to handle events and occurrences.

Let me know if you have questions.

All the best,
Tom

--
Thomas S. Dye
https://tsdye.online/tsdye



reply via email to

[Prev in Thread] Current Thread [Next in Thread]