Welcome to Arkanis Development

Positive Ubuntu Notify OSD impressions

Published

During the last days I was playing around with the Ubuntu Notify OSD. As a user it's quite a nice thing: it gets out of your way and does not disturb you. You know whats going on and paired with the indicator applet you can take action if you want. Avoid interaction with the notification (e.g. buttons or links in them) is an important part of that and I really like it the way it is.

Writing my first software to use notifications I also got to see it from a developers perspective and was a bit… surprised. When I first stumbled across the desktop notification specification my though was: Wow! You can do pretty much everything with notifications. However playing around with the notify-send tool and reading the documentation showed that most of the features of the spec don't work.

At first as a developer I was a bit upset. For my application the standard timeout was quite a bit to long and the queuing of the notifications sometimes caused old notifications to show up for almost one minute. Since you can't replace existing notifications with notify-send this behavior rendered the entire notification system useless for my purpose. This kind of frustration can be seen in many every bug reports about the notification OSD.

However in the documentation there is a distinction between "notification bubbles" and "confirmation bubbles".

  • Notifications are triggered by something or someone external and are not caused by the user (e.g. an Empathy contact comes online).
  • Confirmations on the other hand have a fundamental different role: they are triggered by the user himself and confirm that his or her action had an effect.

This is something the technical desktop notification spec does not cover: usability. As soon as I understood this it became clear why the notification OSD didn't match my requirements. I wasn't dealing with notifications at all but with confirmations.

In my application the user takes an action (e.g. saving a file) and expects a bubble to show up and report the result. As soon as I switched notify-send over to confirmations (using the x-canonical-private-synchronous hint as stated in the doc) the usability was perfect! Old confirmations getting replaced by new ones instantly and the timeout is perfect for scanning the result. There is a little bug with the summary and the body of replaced confirmations but that's not really serious and should be fixed someday.

I really like the semantic approach to differ between confirmations and notifications. I can't help but admire the Ubuntu desktop experience team for the good work and for starting to clean up all that notification usability mess. Unfortunately they are getting under a lot of fire from users that are developers them selfs and want to customize their notifications. I personally prefer to just tell the system what kind of thing I send (notification or confirmation) and let it figure out how to show it to the user.

Because they get so much fire thrown at them, someone good words can't hurt. Therefore as a developer I just have to say: Good work guys. You did an excellent job!

Leave a new comment

Having thoughts on your mind about this stuff here? Want to tell me and the rest of the world your opinion? Write and post it right here. Be sure to check out the format help (focus the large text field) and give the preview button a try.

Format help

Please us the following stuff to spice up your comment.

An empty line starts a new paragraph. ---- print "---- lines start/end code" ---- * List items start with a * or -

or