1. Improve the User Interface
The Alarm Clock UI has a lot of room for improvements.
See also the blueprint on launchpad.
See also the usability design review by Allan Day.
1.1. List Alarms
Currently, to view the list of alarms the user has to bring up the Alarms dialog either by double-clicking the panel icon or choosing Edit alarms from the right-click menu:
Problems with this dialog:
- The alarms are not sorted by any means
- Snoozing an alarm is not possible
- Clearing an alarm can be done by double clicking the row to open the Edit alarm dialog, but this is very confusing.
- ...
Suggested approach:
Move the alarms list to a popup-menu, opened below the panel icon.
This would provide a more elegant and rapidly accessible list of alarms.
Some design issues:
- Whether to use an actual menu or a window
- If using a window, should we use a tree view or just a table with widgets?
- How to provide access to alarm actions (enable/disable, snooze, clear, edit, delete)
- Through a submenu?
- Buttons on the side of each alarm?
- How should the list be sorted?
- Alphabetically? By time remaining?
- Should we make some distinction between alarm clocks and timers?
Alternatively improve the List Alarms window: This is the approach taken for the 0.3 release
The buttons in the toolbar are, from left to right: New alarm, Edit alarm, Delete alarm, Start alarm (enable it), Stop alarm, Snooze. The snooze icon should probably be improved somewhat though.
The idea is that when you click Stop on a triggered alarm (read: currently playing a sound), it should stop playing the sound. If the alarm is set to repeat, it will start counting down to the next scheduled alarm.
If the selected alarm is not triggered, clicking Stop will disable the alarm altogether.
1.2. Snooze/Clear alarm
Currently, the user can snooze or clear all alarms through the applet menu. An alarm is also cleared if its edit dialog is opened. It is also possible to snooze or clear a particular alarm through the libnotify popup, but future versions will only display a simple notification without any actions (to better integrate with notify-osd).
Problems:
- There is no clear way to snooze or clear one specific alarm.
Suggested approach:
- Clicking on the applet icon snoozes all alarms.
- The icon should be flashing / animated as long as there is a triggered alarm.
- Applet menu provides Snooze all / Clear all alarms functionality.
- Alarms can be snoozed / cleared individually through the alarms list (as described above).
- An alarms icon should be flashing / animated to indicate this status.
Ideally it should be easier to snooze an alarm than it is to clear it.
Use "stop" instead of "clear".