The earth is divided in timezones. Timezones guarantee that on every place on earth noon 12 o’clock is, roughly speaking, the middle of the day, when the sun is at its highest point on the firmament. As a result, 12 o’clock in one timezone corresponds to 11 o’clock one timezone to the west (the sun rises there later) and corresponds to 1 o’clock one timezone to the east (where the sun rises earlier). Most mobile calendar apps support timezones. In fact many calendar apps do not even allow you to create an event without specifying a timezone. But they do so in a totally unusable way. Thing is: you only notice when you start traveling…
Typically, if you create an event, the start and end time are labeled with the current timezone (and can be edited if needed). If you take your phone with you on a trip, and enter a region with a different timezone, most phones automatically determine the current timezone, and change it on the phone. As a result your phone displays the local time correctly. (Otherwise you would have to adjust the time on your phone manually, or adjust the timezone manually.) But there is a nasty side effect. Suddenly all your appointments on your mobile calendar are shifted! Why? Well, the timezone associated with them now is different from the local timezone the device is in. From the calendar app’s perspective this makes sense. An event that takes place at 2 o’clock Amsterdam time, takes place at 1 o’clock in London time, and should be displayed to start at 1 o’clock when in London.
But from the user perspective this doesn’t make sense at all. Users don’t expect the time of an event to change. Suppose you are planning a trip abroad, and enter a train trip in your calendar. If you forget to properly set the timezone for that event, the time for the train trip will have shifted once you are abroad. As a result you will arrive a few hours too early (or a few hours too late) at the train station.
Some apps (Calvetica for example) try to remedy this by distinguishing device timezone and calendar timezone. By setting the calendar timezone, all events are displayed as if your device is in that timezone. I typically use that as follows: I set the calendar timezone to my home timezone, and whenever I am abroad, adjust my device timezone to whatever the local timezone is. All my events are created using my home timezone as the default. This way my phone displays local time, and my calendar appointments still show the time I expect them to show.
But this really is the wrong approach, because it effectively removes the benefit of specifying timezones in the first place. All events are displayed as if your device is in the calendar timezone. If for some events, timezone actually does matter, too bad…. (I missed a funding deadline back home because of this once, while I was visiting New York…)
So, what is the right approach?
Dead simple. Only use timezones for events where they matter. There are very few of them (see below). By default create events without labeling the start and end time with a timezone, and always display these timezone-less events in the calendar using the specified times (irrespective of the device timezone).
Why does this work in practice? The reason is that for most people, timezones are irrelevant. Most events take place at a fixed physical location. Therefore, events and their attendees are by definition always in the same timezone. (This is why, by default, most calendar apps use the device timezone as the default to use when creating events. Some even hide the timezone from the user.)
This is also true for people traveling. When abroad, your events there happen in a different timezone, but it is still the same timezone you are in. Setting no timezone even makes sense for the start and end time of (transatlantic) flights. And yes, for very short flights that cross a timezone, this means the end time of the event may lie before the start time! Something to be aware of when designing a calendar app…
The only other alternative would be to create an event for such a flight with a start time in the departure timezone and an end time in the arrival timezone. This is cumbersome of course, and not all apps allow it. It is also confusing, because when you open your calendar app after your smart phone has updated its timezone, the departure time for the flight you just disembarked from is different from what you remember when boarding. But this way at least the start time of the return flight is shown in local time on your calendar, so that you do not miss the flight back home (this almost happened to me once…).
You may now wonder: do timezones make sense at all? Is there any case, any type of event, where you’d want to use them?
In fact there is: virtual meetings, like teleconferences, or TV broadcasts, or phone calls with your summer holiday love. To be precise: virtual meetings where the audience is (possibly) attending from different timezones. In that case it makes sense to agree on a time for the meeting in a particular timezone. For all attendees the actual meeting time in their own timezone automatically appears when displaying the event in their own calendar app. It even adjust when they travel, so they are still able to connect with the virtual meeting on the right time.
Such virtual meetings (with attendees from different timezones) are rare though. So by default, calendar apps should simply create events without timezones.
Some physical events can become virtual for certain people, if they are abroad but want to remember to think about the event at the right time. E.g. parents wanting to call their child just before an important occasion.
Interestingly, for virtual meetings the start and end time are both specified using the same timezone. So it appears there is no use case for events that allow different timezones for the start and end time. Or am I missing something?