TimeAndDate

Differences between revisions 1 and 52 (spanning 51 versions)
Revision 1 as of 2010-05-14 08:59:53
Size: 2714
Editor: 217
Comment: moved from private wiki
Revision 52 as of 2012-07-15 16:03:52
Size: 17929
Editor: mpt
Comment: + stronger highlighting for the current day (bug 1017595)
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##||<tablestyle="margin:0 auto;" style="border:none;">“What time is it Eccles?”<<BR>>“Um, just a minute, I got it written down here on a piece of paper.”||
##||<style="border:none;text-align:right;">— ''[[http://www.youtube.com/watch?v=VSSGiA4f5cs|The Goon Show]]''||

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.
||<tablestyle="margin-left:auto;margin-right:auto;" style="border:none;">“What time is it, Eccles?”<<BR>>“Um, just a minute, I got it written down here on a piece of paper.”||
||<style="border:none;text-align:right;">— ''[[http://www.youtube.com/watch?v=VSSGiA4f5cs|The Goon Show]]''||

Ubuntu’s menu bar should, by default, feature a clock menu that optionally shows a monthly calendar, coming events from your calendar, and/or the time at other locations. You should also be able to add an event or set a timer directly from the menu. Time, date, and time zone settings, and options for clock and menu display, should be presented in System Settings.

<<TableOfContents()>>
Line 13: Line 15:
||Find out the weather outside||yes||-||
||Find out sunrise/sunset||-||-||
||Find out the weather outside||yes||- (handled by [[https://launchpad.net/weather-indicator|Weather Indicator]])||
||Find out sunrise/sunset||yes||-||
Line 17: Line 19:
||Find out the weather somewhere else||yes||-|| ||Find out the weather somewhere else||yes||- (handled by [[https://launchpad.net/weather-indicator|Weather Indicator]])||
Line 25: Line 27:
||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)||-||-||
||Support for custom date/time style||yes||yes (using gsettings as [[http://paste.ubuntu.com/557423/|shown here]])||
Line 32: Line 36:
<<Anchor(settings)>>
Line 34: Line 39:
||<:style="border:none;">{{attachment:time-windows.png}}||
||<:style="border:none;">↓||
||<:style="border:none;">{{attachment:settings-time-date.jpg}}{{attachment:settings-clock.jpg}}||
||<tablestyle="clear:both;float:left;margin: 0 1em 1em 0;" style="border:none;">{{attachment:settings-time-date.png}}||

The “Time & Date” panel of System Settings 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 Policy``Kit 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 [[https://docs.google.com/Doc?docid=0AU5sFuLRpCpBZGZra2pqY2pfMTAxZ25rcnBnNXY&hl=en#4_6_Where_are_you_timezone_735_804192865267396|used in the Ubuntu installer]], except that “UTC” should be offered as the first suggestion whenever you type a substring of it. If focus leaves the field without you choosing a location, a mini error icon should appear inside the trailing end of the field (with the accessible label “(Incomplete)”, and the tooltip “You need to choose a location to change the time zone.”). If the window closes when the location still is not complete, the time zone should not change.

Whenever `ntpdate` is not installed, “Set the time:” should be set to “Manually”, and choosing “Automatically from the Internet” should prompt you to authenticate to install `ntpdate` (with the prompt text “You need to install extra software to synchronize the clock with Internet servers.”).

Whenever “Set the time:” is set to “Manually”, the time and date should never be synchronized from any NTP server, but should tick forward from any time and date you manually enter.

Whenever “Set the time:” is set to “Automatically from the Internet”, the “Time:” and “Date:” controls should be insensitive, and the time and date should be kept synchronized with the local NTP server (`ntpd`) if there is one, or otherwise Internet NTP servers whenever you go online.

To avoid unnecessary disruption, any interactive change to the system time should be applied only when both the “Time:” and “Date:” fields are unfocused (or when the window is closed).

||<tablestyle="clear:both;"style="border:none;">||

||<tablestyle="clear:both;float:left;margin: 0 1em 1em 0;" style="border:none;">{{attachment:settings-clock.png}}||

Inside the “Clock” tab, the “Show a clock in the menu bar” 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 menu bar” 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” menu should default to “Evolution” if it is installed, otherwise “Lightning” if it is installed, otherwise “Subscribed Calendars”.

“Time in auto-detected location” and “Time in other locations” should be unchecked by default. The “Choose Locations…” button should be sensitive only when “Time in other locations” is checked.

||<tablestyle="clear:both;"style="border:none;">||

<<Anchor(subscriptions)>>
=== Calendar subscriptions ===

{{attachment:settings-calendars.png}}

As a simple substitute for people who do not have a full calendar application, choosing “Subscribe/Unsubscribe…” should open a “Subscribed Calendars” window, if it is not open already, and focus it.

In the window, each subscribed calendar should have an icon representing its current state:
 * an error icon, if the last attempt to update it resulted in an error suggesting permanent failure (such as NXDOMAIN or HTTP 4xx);
 * a warning icon, if the last attempt to update it resulted in an error suggesting temporarily failure (such as HTTP 5xx);
 * a pair of spinning arrows, if it is being checked for the first time right now;
 * otherwise, a calendar icon.

The icon should be followed by the calendar’s display name (`X-WR-CALNAME`) if it is known to have one, otherwise its URL.

Double-clicking a calendar, or pressing Enter while it is selected, should begin editing its URL (even if the space was normally taken up by its display name). Pressing Enter should confirm it (triggering an update immediately if the URL has changed), while pressing Esc should revert the item.

Choosing “+” (which should have the accessible label “Subscribe to a Calendar…”, and the keyboard equivalent “+” whenever a calendar URL is not being edited) should scroll to, and begin editing the URL of, a new calendar item at the end of the table. Pressing Enter should confirm the addition (checking it immediately), while pressing Esc should delete the item.

“–” (which should have the accessible label “Unsubscribe”, and the keyboard equivalent “-” whenever a calendar URL is not being edited) should be sensitive only when at least one calendar item is selected. Activating it should delete the selected item(s) from the list, and select the following item if there is one, otherwise the previous one.

=== Choosing locations ===

<<Anchor(locations)>>
||<tablestyle="clear:both;float:left;margin: 0 1em 1em 0;" style="border:none;">{{attachment:settings-locations.png}}||

Activating “Choose Locations…” should open the “Locations” window, if it is not open already, and focus it.

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 menu should always match the order of locations in the window. Dragging a location (or pressing Ctrl Up or Ctrl Down while it is selected) should rearrange it in the window, with appropriate drag and drop feedback. Clicking “Sort by Name” should sort the locations alphabetically, and clicking “Sort by Time” should sort them earliest first (and then alphabetically for any with the same time). Each button should be insensitive whenever it would have no effect (for example, when there is only one location, or when the locations are already sorted in that order).

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…”, and the keyboard equivalent “+” whenever a location is not being edited) should scroll to, and begin editing the “Location” cell of, the incomplete location if there is one, otherwise a new row at the end of the table.

When adding or editing a location, the cell should have an auto-complete menu exactly the same as in the Ubuntu installer, except that (as with the time zone field) “UTC” should be offered as the first suggestion whenever you type a substring of it. Pressing Esc should revert or delete the row, depending on whether it was a confirmed location when editing began. At all times, one item in the menu (by default, the first item) should be highlighted; pressing Enter should select the highlighted item, or if there are currently no suggestions at all, should beep and continue editing.

If focus leaves the field of a confirmed location without a new location being chosen, it should revert to the confirmed location. As with the time zone field, if focus leaves the field of a new row without a location being chosen, a mini error icon should appear inside the trailing end of the field (with the accessible label “(Incomplete)”, and the tooltip “You need to complete this location for it to appear in the menu.”). If the window closes when the location still is not complete, the row should be discarded.

The “–” button (which should have the accessible label “Remove This Location”, and the keyboard equivalent “-” whenever a location is not being edited) should be sensitive only when a row is selected. Activating it should remove the row from the list, and select the following location if there is one, otherwise the previous location.

== 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”).

In addition, when presenting the times of upcoming events, the time should be followed by the timezone if it is different from the one the computer is currently set to. For example, “Wed 3:55 PM UTC−5”.
Line 42: Line 126:
The title of the menu should depend on the “In the clock, show:” settings.

The contents of the menu should depend on the “In the clock menu, show:” settings.

''Needs to be specified in more detail.''

For an upcoming event:
 * if it is today, just the time should be shown (''e.g.'' “3:55 PM”)
 * if it is later 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”).
=== Title ===

The visible title of the menu should depend on the “In the clock, show:” settings. If “Weekday” and/or “Date and month” is checked, they should be separated from the time — but not from each other — by an en space (U+2002).

The accessible label should be the same as the visible title — except that for screenreading convenience, if “Weekday” and/or “Date and month” are checked, these should be complete, not abbreviated, and the time should go first. For example, if the visible title is “Sun 15 Jul 3:45 PM”, the accessible label should be “3:45 PM Sunday 15 July”.

=== Date item ===

The date item should always be present, but it should be sensitive (and have Evolution’s icon) only when 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.

''This control is specified here in the absence of a better place to describe it.''

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 arrow items should leave it selected and should not close the menu (so that it can be used several times quickly).

''Future work: Make the month + year an activatable item that turns into a text field for entering month and/or year in a variety of formats.''

The second row should be non-selectable header items for weekdays: “Mo”, “Tu”, “We”, etc. The first day of the week should depend on the “Week starts on:” setting.

Whenever “Include week numbers” is on, the calendar should have an initial column displaying non-selectable week numbers.

||<tablestyle="border-collapse:separate;float:left;margin:0 1em 1em 0;width:20em;" rowstyle="font-size:0.8em;text-align:center;vertical-align:bottom;" style="border:none;"> ||<style="border:none;">'''Normal'''||<style="border:none;">'''With events'''||<style="border:none;">'''Current day'''||<style="border:none;">'''Current day with events'''||
||<) rowstyle="background:#eee;color:#000;" style="border:none;">'''Unhighlighted'''||<: style="border:none;">27||<: style="border:none;">'''27'''||<: style="border:1px solid black;">27||<: style="border:1px solid black;">'''27'''||
||<) rowstyle="background:#f68557;color:#fff;" style="border:none;">'''Highlighted'''||<: style="border:none;">27||<: style="border:none;">'''27'''||<: style="border:1px solid black;">27||<: style="border:1px solid black;">'''27'''||

The dates shown in the calendar should behave, and look, as normal grid-layout menu items. Each date should be sensitive only if it is in the current month and the calendar application selected (if any) in [[#settings|settings]] is installed. Activating an item should open that date in the calendar application.

If a date item is the currently highlighted menu item, it should have the normal text and background highlight colors for a menu item. If a date has at least one event, its text should be bold. And today’s date should have a thin border around it in the unhighlighted text color.

=== Coming events ===

Whenever “Coming events” is checked and the selected calendar source has events, the menu should show the next five calendar events, plus the “Add Event…” item if the calendar source is an application. An “event” in this sense is an appointment, meeting, task start date, task due date, or memo start date.

Each event should be presented as an ordinary menu item. The icon for the item should represent what kind of event it is (appointment, meeting, ''etc''), and for calendar events the icon should be tinted depending on which calendar it comes from (Personal, Work, ''etc'').

If the calendar source is an application, each event should be sensitive, and choosing it in the menu should open the application to edit that event. Activating “Add Event…” should open the calendar application to its interface for adding a new appointment.

''Need to define exact presentation for all-day events.''

=== Set Alarm/Timer ===

The “Set Alarm/Timer” item should always be present. Activating it should open the “Alarms & Timers” window, with a new row auto-created.

||<tablestyle="clear:left;float:left;margin: 0 1em 1em 0;" style="border:none;">{{attachment:alarms-and-timers.jpg}}||

''TBD: Further specify the window and behavior''

=== Time in other location ===

Whenever “Time in auto-detected location” is checked, ''and'' Ubuntu is able to guess your location, that location and its time should be next in the menu..

Whenever “Time in other locations” is checked, the times in the chosen locations should be present in the menu.

Activating any of these items should change the time zone to that location (with the authorization dialog acting as a confirmation step).

== Future work ==

 * Provide an API for calendar applications other than Evolution.

== Unresolved issues ==

 * Timezones:
  * 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.
   * How to turn this off.
   * And how to do this if the clock is off.
  * What should happen when you select one of the alternate timezone items in the menu.
 * Reconcile with [[http://blogs.gnome.org/thos/2010/07/16/date-and-time-settings/|the Gnome date and time settings redesign]].
 * How to present Evolution alarms. (Compare Evolution > "Edit" > "Preferences" > "Calendar & Tasks" > "Alarms" > "Alarms").
  * Maybe a bell icon next to the clock in the menu.
   * But then what if there is no clock in the menu at all? (maybe just show the bell)
 * Presentation of non-Evolution alarms.
 * API for non-Evolution alarms and events.
  * Color for tinting event icons?
   * Use the same color for a dot or something in the dates in the calendar?
 * How to show missed events.
 * Which events to show on the menu? (e.g. from which of my calendars?)
 * How to navigate back to today in the calendar.
 * Keyboard navigation for menu items (a.k.a. keyboard navigation for grid menu items in general).

“What time is it, Eccles?”
“Um, just a minute, I got it written down here on a piece of paper.”

The Goon Show

Ubuntu’s menu bar should, by default, feature a clock menu that optionally shows a monthly calendar, coming events from your calendar, and/or the time at other locations. You should also be able to add an event or set a timer directly from the menu. Time, date, and time zone settings, and options for clock and menu display, should be presented in System Settings.

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)

-

-

Support for custom date/time style

yes

yes (using gsettings as shown here)

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

settings-time-date.png

The “Time & Date” panel of System Settings 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, except that “UTC” should be offered as the first suggestion whenever you type a substring of it. If focus leaves the field without you choosing a location, a mini error icon should appear inside the trailing end of the field (with the accessible label “(Incomplete)”, and the tooltip “You need to choose a location to change the time zone.”). If the window closes when the location still is not complete, the time zone should not change.

Whenever ntpdate is not installed, “Set the time:” should be set to “Manually”, and choosing “Automatically from the Internet” should prompt you to authenticate to install ntpdate (with the prompt text “You need to install extra software to synchronize the clock with Internet servers.”).

Whenever “Set the time:” is set to “Manually”, the time and date should never be synchronized from any NTP server, but should tick forward from any time and date you manually enter.

Whenever “Set the time:” is set to “Automatically from the Internet”, the “Time:” and “Date:” controls should be insensitive, and the time and date should be kept synchronized with the local NTP server (ntpd) if there is one, or otherwise Internet NTP servers whenever you go online.

To avoid unnecessary disruption, any interactive change to the system time should be applied only when both the “Time:” and “Date:” fields are unfocused (or when the window is closed).

settings-clock.png

Inside the “Clock” tab, the “Show a clock in the menu bar” 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 menu bar” 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” menu should default to “Evolution” if it is installed, otherwise “Lightning” if it is installed, otherwise “Subscribed Calendars”.

“Time in auto-detected location” and “Time in other locations” should be unchecked by default. The “Choose Locations…” button should be sensitive only when “Time in other locations” is checked.

Calendar subscriptions

settings-calendars.png

As a simple substitute for people who do not have a full calendar application, choosing “Subscribe/Unsubscribe…” should open a “Subscribed Calendars” window, if it is not open already, and focus it.

In the window, each subscribed calendar should have an icon representing its current state:

  • an error icon, if the last attempt to update it resulted in an error suggesting permanent failure (such as NXDOMAIN or HTTP 4xx);
  • a warning icon, if the last attempt to update it resulted in an error suggesting temporarily failure (such as HTTP 5xx);
  • a pair of spinning arrows, if it is being checked for the first time right now;
  • otherwise, a calendar icon.

The icon should be followed by the calendar’s display name (X-WR-CALNAME) if it is known to have one, otherwise its URL.

Double-clicking a calendar, or pressing Enter while it is selected, should begin editing its URL (even if the space was normally taken up by its display name). Pressing Enter should confirm it (triggering an update immediately if the URL has changed), while pressing Esc should revert the item.

Choosing “+” (which should have the accessible label “Subscribe to a Calendar…”, and the keyboard equivalent “+” whenever a calendar URL is not being edited) should scroll to, and begin editing the URL of, a new calendar item at the end of the table. Pressing Enter should confirm the addition (checking it immediately), while pressing Esc should delete the item.

“–” (which should have the accessible label “Unsubscribe”, and the keyboard equivalent “-” whenever a calendar URL is not being edited) should be sensitive only when at least one calendar item is selected. Activating it should delete the selected item(s) from the list, and select the following item if there is one, otherwise the previous one.

Choosing locations

settings-locations.png

Activating “Choose Locations…” should open the “Locations” window, if it is not open already, and focus it.

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 menu should always match the order of locations in the window. Dragging a location (or pressing Ctrl Up or Ctrl Down while it is selected) should rearrange it in the window, with appropriate drag and drop feedback. Clicking “Sort by Name” should sort the locations alphabetically, and clicking “Sort by Time” should sort them earliest first (and then alphabetically for any with the same time). Each button should be insensitive whenever it would have no effect (for example, when there is only one location, or when the locations are already sorted in that order).

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…”, and the keyboard equivalent “+” whenever a location is not being edited) should scroll to, and begin editing the “Location” cell of, the incomplete location if there is one, otherwise a new row at the end of the table.

When adding or editing a location, the cell should have an auto-complete menu exactly the same as in the Ubuntu installer, except that (as with the time zone field) “UTC” should be offered as the first suggestion whenever you type a substring of it. Pressing Esc should revert or delete the row, depending on whether it was a confirmed location when editing began. At all times, one item in the menu (by default, the first item) should be highlighted; pressing Enter should select the highlighted item, or if there are currently no suggestions at all, should beep and continue editing.

If focus leaves the field of a confirmed location without a new location being chosen, it should revert to the confirmed location. As with the time zone field, if focus leaves the field of a new row without a location being chosen, a mini error icon should appear inside the trailing end of the field (with the accessible label “(Incomplete)”, and the tooltip “You need to complete this location for it to appear in the menu.”). If the window closes when the location still is not complete, the row should be discarded.

The “–” button (which should have the accessible label “Remove This Location”, and the keyboard equivalent “-” whenever a location is not being edited) should be sensitive only when a row is selected. Activating it should remove the row from the list, and select the following location if there is one, otherwise the previous location.

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”).

In addition, when presenting the times of upcoming events, the time should be followed by the timezone if it is different from the one the computer is currently set to. For example, “Wed 3:55 PM UTC−5”.

The menu

clock-menu.jpg

Title

The visible title of the menu should depend on the “In the clock, show:” settings. If “Weekday” and/or “Date and month” is checked, they should be separated from the time — but not from each other — by an en space (U+2002).

The accessible label should be the same as the visible title — except that for screenreading convenience, if “Weekday” and/or “Date and month” are checked, these should be complete, not abbreviated, and the time should go first. For example, if the visible title is “Sun 15 Jul 3:45 PM”, the accessible label should be “3:45 PM Sunday 15 July”.

Date item

The date item should always be present, but it should be sensitive (and have Evolution’s icon) only when 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.

This control is specified here in the absence of a better place to describe it.

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 arrow items should leave it selected and should not close the menu (so that it can be used several times quickly).

Future work: Make the month + year an activatable item that turns into a text field for entering month and/or year in a variety of formats.

The second row should be non-selectable header items for weekdays: “Mo”, “Tu”, “We”, etc. The first day of the week should depend on the “Week starts on:” setting.

Whenever “Include week numbers” is on, the calendar should have an initial column displaying non-selectable week numbers.

Normal

With events

Current day

Current day with events

Unhighlighted

27

27

27

27

Highlighted

27

27

27

27

The dates shown in the calendar should behave, and look, as normal grid-layout menu items. Each date should be sensitive only if it is in the current month and the calendar application selected (if any) in settings is installed. Activating an item should open that date in the calendar application.

If a date item is the currently highlighted menu item, it should have the normal text and background highlight colors for a menu item. If a date has at least one event, its text should be bold. And today’s date should have a thin border around it in the unhighlighted text color.

Coming events

Whenever “Coming events” is checked and the selected calendar source has events, the menu should show the next five calendar events, plus the “Add Event…” item if the calendar source is an application. An “event” in this sense is an appointment, meeting, task start date, task due date, or memo start date.

Each event should be presented as an ordinary menu item. The icon for the item should represent what kind of event it is (appointment, meeting, etc), and for calendar events the icon should be tinted depending on which calendar it comes from (Personal, Work, etc).

If the calendar source is an application, each event should be sensitive, and choosing it in the menu should open the application to edit that event. Activating “Add Event…” should open the calendar application to its interface for adding a new appointment.

Need to define exact presentation for all-day events.

Set Alarm/Timer

The “Set Alarm/Timer” item should always be present. Activating it should open the “Alarms & Timers” window, with a new row auto-created.

TBD: Further specify the window and behavior

Time in other location

Whenever “Time in auto-detected location” is checked, and Ubuntu is able to guess your location, that location and its time should be next in the menu..

Whenever “Time in other locations” is checked, the times in the chosen locations should be present in the menu.

Activating any of these items should change the time zone to that location (with the authorization dialog acting as a confirmation step).

Future work

  • Provide an API for calendar applications other than Evolution.

Unresolved issues

  • Timezones:
    • 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.
      • How to turn this off.
      • And how to do this if the clock is off.
    • What should happen when you select one of the alternate timezone items in the menu.
  • Reconcile with the Gnome date and time settings redesign.

  • How to present Evolution alarms. (Compare Evolution > "Edit" > "Preferences" > "Calendar & Tasks" > "Alarms" > "Alarms").

    • Maybe a bell icon next to the clock in the menu.
      • But then what if there is no clock in the menu at all? (maybe just show the bell)
  • Presentation of non-Evolution alarms.
  • API for non-Evolution alarms and events.
    • Color for tinting event icons?
      • Use the same color for a dot or something in the dates in the calendar?
  • How to show missed events.
  • Which events to show on the menu? (e.g. from which of my calendars?)
  • How to navigate back to today in the calendar.
  • Keyboard navigation for menu items (a.k.a. keyboard navigation for grid menu items in general).

TimeAndDate (last edited 2017-02-01 18:31:49 by mpt)