TimeAndDate
“What time is it, Eccles?” |
The Gnome clock applet should be replaced by a clock menu. Like the applet before it, the menu should optionally show a monthly calendar, coming events from your Evolution calendar, and/or the time at other locations. Unlike the applet, it should not show weather or a world map; but it should let you add an event or set a timer directly from the menu. The three windows for setting time, date, and clock options should also be consolidated into a single window.
Contents
Use cases
These use cases are not necessarily to be satisfied by the same software. But most of them are currently satisfied by the Gnome clock applet, so we should explicitly include, separate, or exclude them.
Use case |
Gnome clock applet |
Clock menu |
Find out the time |
yes |
yes |
Find out the date |
yes |
yes |
Find out the weather outside |
yes |
- (handled by Weather Indicator) |
Find out sunrise/sunset |
yes |
- |
Change how the time/date is presented |
yes |
yes |
Find out the time/date somewhere else |
yes |
yes |
Find out the weather somewhere else |
yes |
- (handled by Weather Indicator) |
Insert the current time or date into a document |
yes |
- |
Change the time or date |
yes |
yes |
Create an event (e.g. appointment) for a particular date or time |
- |
yes |
See upcoming events |
yes |
- |
Set a countdown timer |
- |
yes |
Learn that today is Talk Like a Pirate Day |
- |
- |
When it's __:__ here, what time will it be in ______? |
- |
- |
Support for different calendar systems (such as Hijri, which is lunar based) |
- |
- |
Support docking applications that dynamically create events (such as Islamic prayer time calculations) |
- |
- |
For each of these:
- Variation: user is not sighted
Other use cases:
- Computer learns of change of geographic location (time zone etc)
Time & Date settings
The “Clock Preferences”, “Time and Date Settings”, and “Time & Date” windows should be merged into a single “Time & Date” window.
↓ |
The window should have two tabs, “Time & Date” and “Clock”.
Inside the “Time & Date” tab, all controls should be insensitive by default, except for the “Unlock to change these settings” button. Activating the button should open a PolicyKit alert with the primary text “To change time or date settings, you need to authenticate.”. If you authenticate successfully, the lock button’s caption should change to “Lock to prevent further changes”, and all the other controls should become sensitive.
The time zone map and associated controls should be exactly the same as used in the Ubuntu installer.
The “Time:” and “Date:” controls should be sensitive only when “Set the time: Manually” is selected.
To avoid unnecessary disruption, any change to the system time should be applied only when both the “Time:” and “Date:” fields are unfocused (or when the window is closed).
Inside the “Clock” tab, the “Show a clock in the panel” checkbox should be sensitive only if you have at least one Gnome panel or Unity menu bar.
The remainder of the controls in the tab should be sensitive only if you have at least one Gnome panel or Unity menu bar and “Show a clock in the panel” is checked.
The “Include week numbers” checkbox and the “Week begins on:” radio buttons should be sensitive only when “Monthly calendar” is checked.
The “Coming events from Evolution Calendar” checkbox should be sensitive only when Evolution is installed.
The “Choose Locations…” button should be sensitive only when “Time in other locations” is checked.
Activating “Choose Locations…” should open and focus the “Locations” window.
In a new user account, the pseudo-location “UTC” should be on by default (both as a hint that it is an available location, and as a useful demo), but “Time in other locations” as a whole should be off by default.
The order of locations in the window should always match the order of locations in the menu. Dragging a location (or pressing Ctrl Up or Ctrl Down while it is selected) should rearrange it in the window, with appropriate drop feedback. Clicking the “Location” header cell should sort the locations alphabetically, and clicking it again should sort them reverse alphabetically. Clicking the “Time” header cell should sort the locations earliest first, and clicking it again should sort them latest first.
Double-clicking a location, or pressing Enter while it is selected, should begin editing its “Location” cell.
Activating the “+” button (which should have the accessible label “Add a Location…”) should add, scroll to, and begin editing the “Location” cell of, a new row in the table.
When adding or editing a location, the cell should have an auto-complete menu exactly the same as in the Ubuntu installer.
The “–” button (which should have the accessible label “Remove This Location”) should be sensitive only when a location is selected. Activating it should remove the location from the list, and select the following location if there is one.
Presenting times
When presenting the times of upcoming events, and the times in other locations, both in the “Locations” window and in the menu itself:
if it is today, just the time should be shown (e.g. “3:55 PM”)
if it is a different day this week, the day and time should be shown (e.g. “Wed 3:55 PM”)
if it is after this week, the day, date, and time should be shown (e.g. “Wed 21 Apr 3:55 PM”).
The menu
The title of the menu should depend on the “In the clock, show:” settings.
Date item
The date item should always be present, but it should be sensitive (and have an icon) only if Evolution is installed.
Activating the item should open Evolution Calendar to today’s date.
Monthly calendar
Whenever “Monthly calendar” is checked, the calendar should be present.
The first row should contain four interactive items: two arrows for navigating by month, and two arrows for navigating by year. Activating any of these should leave it selected and should not close the menu.
All dates shown in the calendar should be menu items. Each item should be sensitive only if Evolution is installed, and if a date has at least one event, it should be shown in bold. Selecting an item should open that date in Evolution Calendar.
Coming events
Whenever “Coming events” is checked, the next five events from your combined calendars should be shown in the menu. Activating an event’s item should open Evolution Calendar to edit that event.
Time in other locations
Whenever “Time in other locations” is checked, the times in the chosen locations should be present in the menu.
Future work
- Provide an API for calendar applications other than Evolution.
Unresolved issues
Setting the timezone automatically by checking geoip.ubuntu.com. That is, connect to the Internet in Prague and your timezone is automatically changed to that location. This is already done automatically in the installer.