Closed Bug 341576 Opened 18 years ago Closed 17 years ago

A better event alarm dialog

Categories

(Calendar :: Alarms, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mattballington, Assigned: Fallen)

References

Details

Attachments

(14 files, 1 obsolete file)

22.89 KB, image/png
Details
37.20 KB, image/png
Details
37.67 KB, image/png
Details
7.30 KB, application/vnd.mozilla.xul+xml
Details
7.32 KB, application/vnd.mozilla.xul+xml
Details
14.20 KB, image/png
Details
15.58 KB, image/png
Details
14.41 KB, image/png
Details
15.49 KB, image/png
Details
3.42 KB, image/png
Details
14.27 KB, application/zip
Details
61.36 KB, patch
michael.buettner
: review+
Fallen
: ui-review+
Details | Diff | Splinter Review
2.17 KB, patch
dbo
: review+
Details | Diff | Splinter Review
49.77 KB, image/jpeg
Details
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4

I feel Sunbirds alarm dialog is not too good and therefore should be improved.
Here you can see my design proposal: http://www.theextremenetwork.com/alarm_dialog.png

I beleive this would be a lot more user friendly than the current alarm dialog. I have already made a start on the style and coding.

Reproducible: Always
There should also be an "edit event" button. Actually, what should be even better is a "view event" that brings a window that only allows you to view all the details of the event, and that will also hve an edit button, which will allow you to edit it. But anyway, at least "edit event" is a must in my opinion - many of my events contain details that I would like to see once I get their alarm.
Could you list what you actually want to change? Just a screenshot makes guessing for the real changes a bit hard. What features do you want, and why?

I'm not convinced of the usability of your screenshot. I don't know what reacts to what. I guess selecting an item from the list makes the top item change, and will change the result of the snooze button. But given the fact that I have to guess, and am still not sure makes the UI sub-optimal. Maybe add some labels, and change the order of the elements?
I have taken on board your thoughts and produced theree different button layouts:
http://www.theextremenetwork.com/alarm/dialog_a.png
http://www.theextremenetwork.com/alarm/dialog_b.png
http://www.theextremenetwork.com/alarm/dialog_c.png

When an item is selected the top section changes to display that events data (Title, Start Time, Location). If a location is provided for the secific event, a link to google maps could be shown. Location maps would be handy for shared calendars.

The "Due" column in the listbox is a simple representation of when the event started, i.e. 5 Minutes ago, or Now.

"View Selected" would bring up a window to view the event, maybe the edit event dialog, or maybe a new one just to view, what are your thoughts?

Clicking "Dismiss Selected" would remove the item from the list. Clicking "Dismiss All" would loop through the list and remove them all, then close the window.

Maybe clicking snooze should expand the bottom of the dialog or maybe show another small dialog, what do you think?
Maybe we can get inspiration from the add-ons dialog in firefox. There you have a list, and when you select an item, you will get the buttons as part of the item. That makes it clear on which item the buttons will act.
It also removes the need for the top part of the proposed dialog, because it will move that information into the list.

(And for future reference, could you attach the images to this bug, so we are sure that they can be found in the future? For multiple images, move them into one big image)
It looks far better than the current one, it looks much simpler to use. Personally I think that http://www.theextremenetwork.com/alarm/dialog_b.png looks better than the others.
Based on Michiels suggestions I've slightly changed the proposed dialog to move it more into the style of the Firefox add-ons dialog. (See attachment).

The changes are:

1. Separation into two reminder areas one for Today the other Yesterday
   and before.
2. Reminders for events which occurred in the past are displayed in a not
   so prominent way.
3. The current reminder is selected by default. It displays in context the
   Dismiss and Snooze feature
4. An "Event Details..." Link calls the Event dialog
5. A single click on an older reminder should display more information
   about the event (like for a current reminder)


What I personally could imagine would be to decrease UI clutter by hiding reminders which occurred in the past. This could be done by displaying only the most current reminder. A 'More' button would expand the dialog to display older reminders.
Thats quite nice, i have begun playing around with richlistboxes to see what can be done, that is a eleant design, and i would be happy to produce something like that.
The bugspam monkeys have struck again. They are currently chewing on default assignees for Calendar. Be afraid for your sanity!
Assignee: base → nobody
I've streamlined the dialog [1] a little bit.

From top to bottom:

1. The dialog now has it own icon (bought from 
   Evolution, needs to be replaced in the final version).
   The own icons helps to differentiate the when the
   dialog is minimized.

2. I've added minimized & maximize buttons

3. The date and time info is now located below the title

4. Snooze is now a drop down button [2]. It allow users to
   select from a list when to remind again.

5. The due information of not selected entries moved
   closer to the title

6. Dismiss all, moved to the right hand side

7. The dialog is now resizable.

Feedback is welcome.


[1]
https://bugzilla.mozilla.org/attachment.cgi?id=236386

[2]
https://bugzilla.mozilla.org/attachment.cgi?id=236387
Component: Internal Components → Alarms
OS: Windows XP → All
QA Contact: base → alarms
Hardware: PC → All
Version: unspecified → Trunk
I would like to see a snooze all button. This should be the same as closing the dialog without specifically clicking dismiss all. There was some discussion in IRC about this topic.
Severity: normal → enhancement
Whiteboard: [qa discussion needed]
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [qa discussion needed]
Target Milestone: --- → Sunbird 0.7
It would be great if the snooze time could be defined freely, both amount and unit (minutes/hours/days), rather than being limited to a fixed list of selections that do not always work for everybody.
Christian, should this be implemented in 0.7? I'm asking you, because you supplied all the mockups.
Flags: blocking-calendar0.7?
Version: Trunk → unspecified
Removing blocking request. It is too late for this to b fixed for 0.7. Maybe in 0.9 ...
Flags: blocking-calendar0.7?
An example of how this could look in XUL. Note that now since we have a freeform snooze length, the dialog will have to be changed. Since popups-in-popups don't really work, the snooze button popup is kind of pointless as it is now.

Note also this does not contain any javascript or dynamic generation yet.
Target Milestone: 0.7 → ---
Attached file Slightly Optimized CSS
Philipp, this looks really good :-)

I have fine tuned the css a little bit. For example, heading sizes decreased, gray value of unimportant items increased.

IMHO a selected item should display an alarm icon infront of the description, or?
Please show the snooze and dismiss buttons also for non-selected events (in one line). At the moment, the user has to select the event for performing an action.

Maybe checkboxes for performing actions on multiple selections would help.
(In reply to comment #19)
> Philipp, this looks really good :-)
> 
> I have fine tuned the css a little bit. For example, heading sizes decreased,
> gray value of unimportant items increased.
> 
> IMHO a selected item should display an alarm icon infront of the description,
> or?
> 

We should also add a drop down indicator to the "snooze" button, this would help users to identify that the button provides more features.

It might make sense to add an ok/apply button/icon to the pop-up (just brainstorming...)
Can you make the text black instead of gray? It's not disabled or anything. (hoping i'm not diving too deep into details yet. color of the bikeshed and all..)
Also just brainstorming:

How about offering some predefined snooze values on clicking the snooze button (just the behaviour we have had before) and adding an entry "Custom" (known from the event dialog). Clicking "Custom" would materialize the two fields (value and unit)left besides the snooze button.
I like it!

(In reply to comment #21)
> It might make sense to add an ok/apply button/icon to the pop-up (just
Yes, I'd appreciate that, too. IMO not obvious how the snooze is finally triggered or the popup cancelled.
1) I agree with Michiel that gray text means disabled (e.g. that's what it means in the Firefox/Thunderbird "Addons" windows).  I think it's okay if they're all black text because you know which alarm is selected because it uses multiple rows and all the others are a single row.  In addition, the current alarm can use the OS-defined selection color (Firefox/Thunderbird do that) and possibly double the size of the icon.

2) For snoozing, I prefer having the Value and Units fields immediately available when I first click on a reminder (pre-filled with the user's default choices) and then I can simply click on either the Snooze or the Dismiss button without needing to mess with any secondary popups.  I understand that some people don't want to use the Value/Units fields and instead want to click on a button and see a list of predefined items.  Since there seem to be a lot of people who want it one way, and a lot of other people that want it the other way, maybe there could be a pref for how this works in the reminder window and in the main event dialog (when we initially set the reminder).  Alternatively maybe you could put both in the GUI:
   __________                      ______________
   | Snooze | for <value> <units>  | Predefined |
   ----------                      --------------
or perhaps just have a link for "Predefined" like this:
   __________
   | Snooze | for <value> <units>  Predefined
   ----------                      ----------

3) Instead of calling the link "Event Details...", I think that it should be more general because tasks can also have alarms.  Perhaps "Edit Details..." or "View/Edit Details...".  Also I'm not a fan of "Event Summary Dialogs" that don't contain enough information or are readonly -- please just directly show me the normal Event Dialog if I click this link.

4) I noticed that the "Delete Event/Task" link that was requested in bug 332866 is not part of the prototype.  IMO that would be a nice feature for ad-hoc events/tasks because you wouldn't have to go find them on the calendar to delete them after the alarm fires.

5) While having the sections "Today" and "Yesterday and Before" looks nice, I think that this might be a bit overkill for a reminders popup.  It seems sufficient to have the age of each reminder in parentheses after the event title (which I think is a great idea, by the way).

6) I think that there should be some gray horizontal lines to separate each reminder (like in the Firefox addons window).
I've Created to new mock-ups [1,2] which take care about comment #22 and comment #23. Next update (tomorrow) will take care about Pete's feedback... (comment #25)

Feedback is of course welcome.

[1] https://bugzilla.mozilla.org/attachment.cgi?id=282404
[2] https://bugzilla.mozilla.org/attachment.cgi?id=282405
(In reply to comment #28)
> Feedback is of course welcome.

If there is predefined 'snooze for 5 minute' the custom field should not show '5 minutes' as default. Custom field should show either default value set in options or last entered value
Christian, I like your new proposal for the snooze button.  I'd be very happy with that.  I think it's a good compromise.  Plus it doesn't clutter the interface like my suggestion.

Philipp (or whoever codes this), please consider what will happen when the reminders window appears on the screen while we're typing in a different application.  In particular, please do not allow the Enter/Escape/Spacebar keys to dismiss or snooze any alarms, at least not until the user has tabbed onto one of those buttons.  There is a related bug, bug 389053.
Yeah this is going to be me.

I like the idea with the snooze dropdown and its ok/cancel buttons. I hope this will work out codewise, since popups in popups are quite hard to do.

I am all for adding lines between the items, and I also like black text.
Assignee: nobody → philipp
(In reply to comment #25)
> 1) I agree with Michiel that gray text means disabled (e.g. that's what it
> means in the Firefox/Thunderbird "Addons" windows).  I think it's okay if
> they're all black text because you know which alarm is selected because it uses
> multiple rows and all the others are a single row.  In addition, the current
> alarm can use the OS-defined selection color (Firefox/Thunderbird do that) and
> possibly double the size of the icon.

Right, the selection should uses same selection colors like the Add-on dialog, but IMO the icon should stick to 16x16px

> 
[...]
 
> 3) Instead of calling the link "Event Details...", I think that it should be
> more general because tasks can also have alarms.  Perhaps "Edit Details..." or
> "View/Edit Details...".  Also I'm not a fan of "Event Summary Dialogs" that
> don't contain enough information or are readonly -- please just directly show
> me the normal Event Dialog if I click this link.

This makes sense. What about naming it just "Details..."


> 4) I noticed that the "Delete Event/Task" link that was requested in bug 332866
> is not part of the prototype.  IMO that would be a nice feature for ad-hoc
> events/tasks because you wouldn't have to go find them on the calendar to
> delete them after the alarm fires.

IMO the right place for such feature would be the toolbar/menu of the Event/Task dialog (see Bug 392021). Same function is available for Mails, too.

> 
> 5) While having the sections "Today" and "Yesterday and Before" looks nice, I
> think that this might be a bit overkill for a reminders popup.  It seems
> sufficient to have the age of each reminder in parentheses after the event
> title (which I think is a great idea, by the way).

Maybe it makes sense to categorize only if needed. E.g. The list could be flat if the dialog displays only reminders for Today.

> 
> 6) I think that there should be some gray horizontal lines to separate each
> reminder (like in the Firefox addons window).

+1 for the dotted line.

I think we have it now. Please take a look at

https://bugzilla.mozilla.org/attachment.cgi?id=282547
&
https://bugzilla.mozilla.org/attachment.cgi?id=282548

What changed?

 - Day Sections removed
 - Black instead of gray text
 - Dotted separator lines added
 - Time & Date info added to collapsed reminders
 - Time & Date info shortened for selected reminder
 - "Event Details..." link shortened to "Details..."
I don't like the idea of the two snooze buttons. I think in most cases it depends on the event how long you want to snooze the reminder. Maybe we should remove the 'Snooze All' completely and just have the one Snooze button?

In addition I would not display the date and time shortened but display the date/time according to the users preferences and OS settings as already done in the overall Sunbird/Lightning UI.

The dialog should also offer the following functionality:
- keyboard navigation (e.g. allowing to scroll thought the reminders)
- resizable window including the possibility to minimize the window
- if more reminders are available than display space a scrollbar should appear
- a unique and recognizable window icon for all platforms
I actually like the snooze all feature. Use case is something like: I don't want to take care of my alarms now, but maybe in 5 minutes.

The date should show as specified in prefs, since i use calIDateTimeFormatter.

I'm still a bit cautious with the popup-in-popup. I might be able to make it work it out with a hack, but currently it doesn't quite work. I'll see what I can do.
Stefan, Now I understand what you mean with the short date. That took a while :-} I kind of like the "Today at" part, I just think the full date should be shown when the alarm is selected and also for dates further away than yesterday. This would also kind of follow thunderbird, which shows only the time if its today. I'd be fine with getting rid of yesterday if that makes it any better.

Regarding the snooze button again, given that popup-in-popup works out, what about making the snooze all button a dropdown snooze button like in the alarm items? 
Aside from this popup-in-popup and accessiblity, I have the whole dialog implemented with the looks from the 4th round. I might workaround using a window that looks like a popup.

I'm going to need the icons, if anyone gets around to creating them, I need:

* Window icon, in both .ico and .xpm format. I'd suggest to use the 
  alarm bell from bug 288496.
* calendar icon in the small size shown in the mockup
* The ok/cancel buttons used in the popup


Possibly we can group the small calendar icon with cal-icon32.png and use moz-image-region. The same definitely goes for ok/cancel.
(In reply to comment #37)
> I actually like the snooze all feature. Use case is something like: I don't
> want to take care of my alarms now, but maybe in 5 minutes.
Me too! There are several situations, where I don't have time to even look over the alarms. If you just minimize them, they will be forgotten, but if you can snooze all for 5 minutes, you will be reminded again.

(In reply to comment #38)
> This would also kind of follow thunderbird, which shows only the
> time if its today.
I don't know the default, but this is configurable. Maybe you are able to read the preferences 'mail.ui.display.dateformat.today', 'mail.ui.display.dateformat.thisweek' and 'mail.ui.display.dateformat.default' to behave like TB?!
BTW: I'd like those today's and yesterday's...
(In reply to comment #39)
> Aside from this popup-in-popup and accessiblity, I have the whole dialog
> implemented with the looks from the 4th round. I might workaround using a
> window that looks like a popup.
> 
> I'm going to need the icons, if anyone gets around to creating them, I need:
> 
> * Window icon, in both .ico and .xpm format. I'd suggest to use the 
>   alarm bell from bug 288496.
> * calendar icon in the small size shown in the mockup
> * The ok/cancel buttons used in the popup
> 
> 
> Possibly we can group the small calendar icon with cal-icon32.png and use
> moz-image-region. The same definitely goes for ok/cancel.
> 

I'll create you a set of icons...
(In reply to comment #41)
> I'll create you a set of icons...

For your information: There is a seamonkey blog post stating the requirements for a window icon: <http://home.kairo.at/blog/2007-08/icons_for_seamonkey_windows_needed>. Maybe this helps during creation of the reminder window icon.
Cool. Thanks :-)
Please find attached the ok, cancel images for Windows. Who wants to volunteer for the Mac version ;-)

From top to bottom:
- Normal
- Hover
- Pressed
Going along fine, I have found a workaround for popup in popup. Now I just hope it works fine on mac and linux/solaris.

I will also need a disabled state for the OK button image. The calendar icon I am using now is cal-icon32.png. I will need this icon in 16px, or we can just use a 32px icon.

Missing features as of now:
* Honor Thunderbird date format prefs
* Accessibility


Missing graphics:
* 16px calendar icon
* The OK icon in a 'disabled' state.

The popup-in-popup technique I use opens a couple of doors, bug 366680 and the other place we want a popup-in-popup (was it some datepicker?)

Status: NEW → ASSIGNED
Also, the hover/normal states do not differ enough. On a menu background, the difference is very minimal. Please lighten up the image a bit.
Attached patch New Alarm Dialog - v6 (obsolete) — Splinter Review
This bug has been constantly beating me for a while...I finally managed to make it work on mac and windows, branch and head. I dearly hope that linux works, as I haven't tried it. I assume things work similar to windows though.

Christian, could you attach the alarm icon as ico and xpm? Also, we need the ok-cancel buttons in a "disabled" state. My code is assuming that the disabled buttons are below the existing buttons.
Attachment #285985 - Flags: ui-review?(christian.jansen)
Attachment #285985 - Flags: review?(michael.buettner)
(In reply to comment #48)
> Created an attachment (id=285985) [details]
> New Alarm Dialog - v6
> 
> This bug has been constantly beating me for a while...I finally managed to make
> it work on mac and windows, branch and head. I dearly hope that linux works, as
> I haven't tried it. I assume things work similar to windows though.
> 
> Christian, could you attach the alarm icon as ico and xpm? Also, we need the
> ok-cancel buttons in a "disabled" state. My code is assuming that the disabled
> buttons are below the existing buttons.
> 

Philipp I'll do the review add the icons tomorrow. Thanks for the patch in advance.
> Christian, could you attach the alarm icon as ico and xpm? Also, we need the
> ok-cancel buttons in a "disabled" state. My code is assuming that the disabled
> buttons are below the existing buttons.
> 

I have attached the images. Please find the Zip here.
https://bugzilla.mozilla.org/attachment.cgi?id=286131
UI Review:
I'm really impressed about the new dialog, it works really good.

During UI review (on MAC) I found the following issues:


Align "Details..." with the "Dismiss" label.

The "Snooze for" pop-up should stay "Always On top" (on mac it is possible to change its z-order)

If possible the "Snooze for" button should provide a DropDown arrow, or at least the "Snooze for" label should end with ellipsis.

Keyboard Navigation:

Snooze for Pop-Up
It is not possible to navigate through all ui
elements by keyboard

Alarm Dialog
Create 3 reminders, make sure they are listed in
the dialog, click the one in the middle

Bug: It is not possible navigate to the upper one by Arrow Up
Comment on attachment 285985 [details] [diff] [review]
New Alarm Dialog - v6

I didn't find anything suspicious, nice and clean patch -> r=mickey.
Attachment #285985 - Flags: review?(michael.buettner) → review+
getting this back on track, only needs checkin?
Flags: wanted-calendar0.8?
No, another iteration was needed to take care of some comments from Christian. I need to test on mac trunk and then I'll upload a new version.
Attachment #285985 - Flags: ui-review?(christian.jansen) → ui-review+
This version incorporates christians ui-review comments and fixes up calendar/base/Makefile.in to install the icons for windows and linux.

Specifically, I moved some code around to allow the Snooze All function to be available as a button next to the dismiss button.

I hope I can finally get this patch out of my hands, its really starting to annoy me :-)
Attachment #285985 - Attachment is obsolete: true
Attachment #291209 - Flags: ui-review+
Attachment #291209 - Flags: review?(michael.buettner)
Comment on attachment 291209 [details] [diff] [review]
New Alarm Dialog - v7

r=mickey.
Attachment #291209 - Flags: review?(michael.buettner) → review+
Checked in on HEAD and MOZILLA_1_8_BRANCH

-> FIXED

Expect regressions :)
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Target Milestone: --- → 0.8
Flags: wanted-calendar0.8?
Verified with Lt 2007121000 and Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12pre) Gecko/20071210 Calendar/0.8pre
Status: RESOLVED → VERIFIED
This patch fixes the error message when closing the window, and contains the extra patch for packages-static to include the icon file.
Attachment #292385 - Flags: review?(daniel.boelzle)
Comment on attachment 292385 [details] [diff] [review]
Fix closing window

r=dbo
Attachment #292385 - Flags: review?(daniel.boelzle) → review+
Additional patch also checked in, still fixed :)
The dialog icon doesn't look good on Windows 2000 platform. Looks like the .ico file used doesn't contain an appropriate icon with simple transparency instead of alpha channel transparency for older platforms. Should I file a new bug for this issue?
Blocks: 375210
Do we plan to use or remove a key "alarmDue" (calendar.properties). Now it looks that we are not use this key.
Does this bug also fix bug 407135?
I'm having difficulty with the reminder window.Some invitations I recieve have short Location info while others are very long describing a call bridge for example. In such case, the reminder window, rather than wrapping the text to fit the current size, resizes itself to fit the whole row. As a result, the left-right scroll appears and to dismiss such event, I have to scroll right, find & click dismiss there. It's not intuitive for me as I got used to fixed location from Outlook.
I'm attaching a screen-shot so that you can understand my problem.

I also don't want to make a huge reminders window as I need this screen estate for other windows.

Can we either wrap the text for location & meting definition to always fit the window size defined by the user?
(In reply to Emre from comment #66)
Emre, can you please file a new bug report as this one is marked as fixed (since 2007).
You need to log in before you can comment on or make changes to this bug.