Open Bug 647632 Opened 13 years ago Updated 8 days ago

Improve Time Zone selection by using user-friendly zone names

Categories

(Calendar :: General, enhancement, P2)

x86
Linux
enhancement

Tracking

(Not tracked)

People

(Reporter: sc, Unassigned)

References

(Depends on 1 open bug)

Details

User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Lightning/1.0b2 Thunderbird/3.1.9

The time zone selection feature when editing or creating a new event is very confusing and frustrating to use. There are too many options, and one can't simply select a time zone by official name (or GST offset), they need to know the name of another major city in the specific time zone they want.

For example, if I am creating an event for a flight from San Francisco to Minneapolis and want to set the arrival time for that time zone, I click on the time zone for the end of the event. The default is whatever my default calendar time zone has been set to (as opposed to the system's time zone, its not clear why there is a difference), which is fine - in this case Los Angeles (as opposed to "Pacific Standard Time").

Now I have to scroll through a list of continents, countries, and cities which is very long and difficult to navigate quickly. The list starts at the first entry, not my default time zone, so I have to scroll several pages until I find the general region I am looking for. Worse, the list is not comprehensive, so "Minneapolis" is not listed. That means I need to find another city in the list which is in the same time zone as Minneapolis. If I happen to know Minneapolis is in the "Central Time Zone" that is of no use because the name of the time zone is not an option. After looking at the name of every city in America I might guess that Chicago is in the same time zone as Minneapolis, but maybe I'm not sure without checking Google.

Why can't the timezone selection be more suitable widget or more simplified list, allowing you to start with your current (system) time zone, scroll through up or down one time zone at a time, and use official names?

Reproducible: Always
Confirmed, there are a few duplicates though. Using this one as the new bug.
Status: UNCONFIRMED → NEW
Ever confirmed: true
bug 224905 suggests using a cascaded picker for the continents. This is a start, and the bug contains a bit of further information.
I'm not marking bug 296007 duplicate of this one since it contains patches, but it should be looked at when fixing this bug.
Depends on: 296007
I agree this drop-down is amazingly painful. I make my timezone changes in Google Calendar and sync rather than deal with this dialog.

It seems like there is an easy fix that would make a huge improvement. Simply add the offset in the drop down description and order by it - like just about every calendar tools does - "(GMT-05:00) America/New York".

There is more that could be done, but I think this simple change would get us 85% of the way there. Using time zone names would be nice also, but really if they are in the right order and you show the offset folks can figure it out. They will know the general offset and they will recognize the city when they get close.
Severity: normal → S3
Duplicate of this bug: 1064403
See Also: → 302253

We're going to change the time zone selector to use "Metazones". These are in ICU and the definition is a little fuzzy, but they're effectively shared supersets of all time zones that have the same offsets and DST transition dates, so for example "Pacific Time(US and Canada)" means all regions that share that time zone and the same DST transition dates. Not only does this massively simplify the list, but we will also be able to use the ICU localized names.

Ideally, we should use the same selector in both Calendar and Thunderbird, and we are planning to drop the geographical map from the Calendar selector for the time being. Eventually we will redo it in an improved way that is actually useful.

We will have a dropdown for the Metazone, but we also need some way for the user to override the metazone's time zone selection should they wish to do so, and actually pick a real timezone directly. That "advanced" selector can just use untranslated time zone IDs. It should rarely, if ever, be needed.

Entries in the selector will be sorted by their UTC offset and should look something like:
"(UTC -08:00) Pacific Time (US & Canada)"

Priority: -- → P2
Summary: Time Zone selection confusing and unintuitive → Improve Time Zone selection by using ICU Metazones

Hi ..I'll be working on this bug ..can someone please guide me on how to begin

Flags: needinfo?(sancus)

(In reply to cynthiatimoty from comment #9)

Hi ..I'll be working on this bug ..can someone please guide me on how to begin

Do you have Thunderbird building? If not, that would be the first step. We'll post a general description of how to handle this bug, but you'll need to be able to do your own research and experiment with the code to find a solution.

Flags: needinfo?(sancus) → needinfo?(leftmostcat)

Looking more deeply at metazones, they do not allow us to do any sort of deduplication. There is no restriction stating that every time zone in a metazone will share the same daylight savings transitions, and so metazones are not suitable for use as the sole source of information. That said, they will still provide us some benefit.

The current plan is to present a full list of time zones sorted by UTC offset and with user-friendly names constructed along the following lines:
(UTC-07:00) Pacific Time - Los Angeles
We draw the offset and the exemplar city from the time zone data for the represented time zone and the friendly name from the metazone which contains the represented time zone. This should make it clearer which time zone is represented and also allow for easy localization via ICU.

Alessandro: There are a couple places where we display time zones that make this format slightly awkward due to their length: next to the start/end times while editing an event, and in the dropdown menu from clicking on the aforementioned display. Should we use the friendly name there anyhow, stick with IANA time zone IDs as we have now, or a secret third option?

Flags: needinfo?(leftmostcat) → needinfo?(alessandro)

I'd say let's use the friendly name also in those places and then we can improve the UI in a follow up.
Those dialogs and cramped pieces of UI will be nuked after 115 so there's no need to spend too much time there.

A potential secret third option would be to use an icon button to allow users to access the timezones menupopup if they want to edit it, and we only show the selected timezone if is different from the default (system/pref?), as there's no need to always show the timezone every time an event is created if the user doesn't need to change it.

Flags: needinfo?(alessandro)
Summary: Improve Time Zone selection by using ICU Metazones → Improve Time Zone selection by using user-friendly zone names
See Also: → 1863868

(Very excited and grateful for work on this!)

You need to log in before you can comment on or make changes to this bug.