Closed Bug 224905 Opened 17 years ago Closed 9 years ago

Cascade popup menu for timezones


(Calendar :: Preferences, enhancement)

Not set


(Not tracked)



(Reporter: lapsap7+mz, Unassigned)




(3 obsolete files)

In the preference, there's the "My Timezone" (which doesn't yet do anything :) ).
Inside it, the popup menu is so long, even too long.  It would be easier to
manage and programme if cascade menu is used instead, with items grouped by
continents as the first level.
I agree; the list is unusable as it is since the user has to scroll for 30
seconds to reach the desired location/time zone if he lives in Europe.
make cascades or just write *different* time zones that really use different time.
That seems to be an excellent idea!  The only addition I can think of is:

List the US standard timezones ie (CST, PST, MT) as well. Since it's very hard
for Joeseph(ina) Q. Average to know if a city that IS listed IS the same TZ as
they are.  I also believe that some other countries (as well as the US) have
"standard"  timezones also..

Just my $0.02 ;)
Yup, I agree.  TZ is the most important.  Continent/Country/City string is just
a label.

There should be two options, using radio buttons, like this:

o Specify Time Zone GMT [_______]
o Choose from city [________|v]

And I think a check box for daylight saving might also be needed in case Mozilla
could only get system clock but no info on DST can be obtained:

[X] Daylight Saving is used for this computer

If there is a website where one could check timezone and DST for any particular
city in the world, we could also add a hyperlink in the preferences page to lead
user there.
The UI should not be made more complicated, imo...

A simple display of "We determine your time to be [xxxx]" using a quick
server-side time-grab [in GMT] if needed  after the options are selected.

we could even use a function like that to auto-select a default one, with a DST
timezone flag. (most computers set a TZ enabled flag in their time output iirc)

-->also changed subject, dropper 'suggestion' and moved severity to `enh`, as it
would be just that, though the need is still there.
-->OS; Hardware = ALL
Severity: minor → enhancement
OS: Windows 2000 → All
Hardware: PC → All
Summary: Suggestion: cascade popup menu for Timezone → cascade popup menu for Timezone
If TZ+DST could be grabbed using server-side method (even though I don't know
how this is possible and how it could be done) without much user hassle, I don't
think one could ask for more :)

But nothing is perfect, we have to provide some alternative.  For example, an
Advanced button?
I agree, this method is needed at least until we figure out an easy way to do a
server-side time grab anyway.

We can also run a system getTimeByGMT function of some sort, and run our
converter on it, and be like "this is your time", even use the system method
instead of a server method, (which does assume users system time is correct).

can even run that on each cal start-up, (and once every 24 hours thereafter,
provided a setTimeout of that long is allowed and not processor intensive) to
re-check if the computer TZ change isnt different.

But, yes, an advanced method to `choose` is needed, even if not marked advanced,
as a user _must_ have the ability to choose their own TZ method,... For
instance, I live in USA, Eastern, but the calendar I look at, is for online
meetings with a company centralized in UK, and need to talk about times/dates
with them in _their_ time, I'd want my calendar to show their time, not my own.
 Where alarms can still pop-up in correct time (actual time vs display time
perhaps ;-))  My comments are really a few other enhancements though, but the TZ
dialog is all this one addresses, and I'll cut myself short.
I think having the option of choosing a city creates more bloat and confusion. 
The time zone should be selected by either GMT +/- <time_offset> or the time
zone name.
The defacto timezone standard seems to be the Olsen timezone database.
A timezone defines more than just the offset from UTC:
- the standard offset
- whether the offset changes for summer time/daylight saving time
  - on what day the offset changes to summer time/daylight saving time
  - on what day the offset changes back to its standard time
  (note differences in northern hemisphere vs tropics vs. southern hemisphere)
- A timezone usually shares a government that has set the rules for that
timezone over history, and is likely to set the rules for that timezone in the
- A timezone is identified by the largest city in that timezone, in part because 
  - relative names like "eastern time", "central time", etc. are not unique
    (e.g., used in us, australia, ...)
  - city names change less often than country names

To help people choose the city, this last point should be made explicit with the
label "Largest city in your timezone:", so that people don't go looking for 
other cities closer to them.
Some parts of illinois does not change TimeZone at all, (as in no daylight
savings time), small parts, but still exist.
IMO this needs more careful design.  I do not have a time zone.  A place has a
time zone, and I can move from place to place.  For example, I might be working
in London today, using my calendar in GDT, and from time to time during the day
arranging the schedule for my trip to New York in November.  I want to see those
New York events in EST.

Also, Calendar runs on an operating system that has a time zone.  It is not
clear what it means for the user to select a (different) zone inside Calendar.
One of the links inside the post from contained this page:  IMHO I think a point n' click GUI based on a map
like this is about as simple as it could get from a user perspective.  This map
concept could also leverage the ideas from Kyle Guinn and Teng-Fong Seak
regarding selection of TZ off-sets from UTC / GMT.  The concerns of Justin Wood
and Rod Whiteley could be addressed if a user was able to select 2 or more time
zones then allow the user to toggle between primary, secondary, tertiary, etc
via right click / select when hovering over the time on the left hand side of
the main pane under "Day View".  Just a few ideas.
Along with the two other files I'm going to attach shortly, this fixes the
excessively long menu in the time zone prefs.  The actual preference menu
remains largely unchanged, but now most items are hidden, based on selection of
a region.  There previously was no timezonePrefs.js, so I created it for the
two necessary functions.  If these are better placed somewhere else, please let
me know.

This patch does a thorough job breaking localization, since I removed all of
the continent/ocean names from labels in prefs.dtd, for aesthetic reasons and
also added 2 smaller labels (Region and Largest City) to the file.  I wasn't
sure about the proper way to go about updating all of the other translations,
but if someone could tell me that, I'd be glad to do it.
Attachment #179593 - Flags: first-review?(mostafah)
Attached file new timezonePrefs.js file (obsolete) —
See comment with patch.
Attached file re-done prefs.dtd file (obsolete) —
I attached the whole file, since the majority of lines in it were changed.

See comment with patch.
Attachment #179596 - Attachment mime type: application/octet-stream → text/plain
*** Bug 293936 has been marked as a duplicate of this bug. ***
Attachment #179593 - Attachment is obsolete: true
Attachment #179593 - Flags: first-review?(mostafah)
Attachment #179595 - Attachment is obsolete: true
Attachment #179596 - Attachment is obsolete: true
On Windows (all versions from Win95, I think), the user can select the timezone
from a list that is much shorter than the current list in Sunbird.

The list is sorted by GMT offset (from west to east), and below there is a map
of the world, that is scrolled horizontally according to the GMT offset.

I think the Windows approach is worth considering.

The list in Sunbird has many "duplicates", e.g. Europe/Copenhagen and
Europe/Stocholm. As far as I know, these two cities have been in the same
timezone for years or even decades, and they probably will for the next many
years too. These two cities could be grouped, like they are on Windows.

Of course a "follow system timezone" checkbox would be nice too. Most users will
probably just want to use the same timezone as the one used by the OS.
QA Contact: gurganbl → general
Reassigning all automatically assigned bugs from Mostafa to nobody@m.o

Bugspam filter: TorontoMostafaMove
Assignee: mostafah → nobody
Whiteboard: [cal-ui-review needed]
Component: General → Preferences
QA Contact: general → preferences
Summary: cascade popup menu for Timezone → Cascade popup menu for timezones
Whiteboard: [cal-ui-review needed]
Normally, change in timezone is rare, but recent change in DST for US (and as a result affecting a lot of other countries) leads to think that it's necessary to envision such changes in unpredictable future.

Since we're on this bug (actually, new feature), it is therefore necessary to conceive a way to change timezone table without waiting update to the whole application.  A possible way is through the add-on manager.

Is it necessary to file a new bug for this?
Changing time zones as a user is, for many of us, a daily event, sometimes several times a day.  The UI really should accommodate such use as it is extremely helpful for some and non-detrimental to those who do not frequently travel.

There are two key places where time zones are relevant: in viewing the calendar - that is setting the calendar time zone view, and in creating an event.  

363111 discusses explicitly setting time zones for an event as being other than the time zone of the user, hopefully extended to allow different time zones for the start and finish of an event (as is the norm for air travel itineraries).  

It is also important to set the time zone for the calendar when you land, which may mean two or three times a day.  This too should be easy, and I believe should be done via pop-up from the front pane so that the current time zone is explicitly identified and visible at all times.

The almost endless scrolling list of all possible time zones is academically interesting, but not particularly useful and a major hindrance to the ease of use that a traveler would need.  I believe the best solution is to layer a full list of available time zones (as well as a "custom time zone" with user specified GMT offset and DST dates) behind a "favorites" subset, where only that subset (always including "...more" to get to the full list/custom settings) would appear on the pop-up lists on the front pane for setting the calendar time zone and the pop-ups for start and end time zones (which would, of course, default to the current calendar time zone).  

Lastly, the "favorites" subset should be aliasable to a user specified name.  That is if I want to call "America/Los Angeles" "Pacific" or "Home" or "P" I should be able to.
I've been using Sunbird for a while and I fly around europe quite a bit. The timezone stuff isn't as easy as it could be.

Just the fact that you need to scroll to the right region to begin with is frustrating.

I have been Europe/London, Europe/Stockholm and to keep changing that setting for the entries is annoying, just having the Dropdown automatically take you to your home location in the list would be a start instead of starting at the top!
Keywords: helpwanted
Duplicate of this bug: 499481
Closed: 9 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 647632
You need to log in before you can comment on or make changes to this bug.