Sometimes it happens via dialog, sometimes it happens via notification bubble, but either way my computer can be quite chatty.
I’m wondering if there are any guidelines for designing programs to be good citizens in their chattiness. Some questions that I have that maybe could be used to come up with a set of guidelines if there aren’t any:
- Classify the message you’re sending out. Is it a critical message, a warning, or simple information? Is it hardware-related, security-related, long-running task related (task failed or task succeeded), do I need to take any action from it or is it not possible to take action from it?
- What should the user do to address the issue, if there is any action to be taken? Can you allow the user to say, “always treat this type of action this way without bugging me?”
- For each message classification, what is the most appropriate iconography needed for the message? Is there any special wording needed? Should it be displayed on a frequent basis? What basis? Or should it be displayed just once?
- Allow users to ‘unsubscribe’ from particular types of notification. But perhaps don’t make it all or none (although I may want to opt-out of all messages from a particular app, I should be able to turn it off at a more fine-grained level.) In each alert dialog/notification bubble, allow users to one-click visit the notification preferences for that (or all?) applications so they can quiet it. Also, should there be both ‘shut up now’ and ‘shut up forever’ buttons? If not which should be more prominent?
- Alerts are going to the desktop, to the currently-logged in user. Are there users of the system who aren’t logged in who would want to be kept notified of the alerts? Are there users logged in remotely who might want an alert on the shell? How do desktop notifications/alerts translate?
- How do you enable users to take action on alerts? What if there are many alerts from the same application? How do you consolidate them so that users can perform the same action on multiple alerts at once but in a well-informed manner (or at least as informed as the user wants to be)?
- When do you decide to alert a user vs. take action on their behalf without bugging them? To what level should the user be allowed to dictate this if they want more or less notification/control than provided by default?
Just some half-formed thoughts anyway. I would be curious to see if anyone is familiar with guidelines on these. I’ve looked in a few UI books and guidelines (GNOME HIG, Apple UI guidelines, MS UI guidelines) and haven’t found any yet but maybe I’m not looking in the right spots.