In any client-side application of reasonable complexity there is a lot going on. There are numerous moments during its lifespan where it might want to communicate to the user of different events: errors, underlying data changes, etc etc. While coding an application, its very convenient to just use the native “Alert” implementation to inform the user of some change in the application state. Every UI framework supports it, and in some cases like the iOS UIKit, it doesn’t look awful almost leading you think it may not be a bad idea.
One concept I wanted to borrow from was application logging frameworks like Log4J. Logging frameworks usually define a series of levels that you can use to define the priority of your message, for example in the case of Log4J the levels are:
While tempting, these dont really map to any order of priority for end user notifications.Â Looking around the web though, Â I did see some interesting ideas around notifications. For example, XUL (Firefox’s UI framework) includes a NotificationBox control:
This system seems to be getting pretty popular now, with the Chrome browser UI framework including something similar to that as well. Gmail notifications are in the same vein:
The thing with GMail notifications is that they are closer to the actual interaction that prompted the notification which works well (Fitt’s law in action!)
However, the problem with such notifications is that they are pretty transient (generally fade out), which is often not what you want. I couldn’t really find an official name for these so I call them “acknowledge boxes”. On the importance scale, these seem to the ones with least importance. Another acknowledge notification is an audio clip played when an action is performed, though those need to be used with caution since they get annoying pretty soon.
So here is my sorted list of prioritized notification UIs:
- Alert: Most severe, “deal with me now” kind of messages
- Notify: Hey something happened. Finish whatever you are doing and then let me know
- Acknowledge: Least important “I heard you” kind of messages
If you have any other interesting notification user interface examples, please share them here.