Archive for April, 2009

Kubuntu 9.04 and notifications

Back in early January, I wrote about what I was hoping for with notifications in Jaunty. I got the first part of my wish the very next day. The story has a happy ending, but it got a little twisty along the way.
Back in January, what I showed you was not a KDE notification. It was generated by Qt and provided by (I think) the standard libnotify (Canonical’s notify-osd did not exist yet). It wasn’t at all pretty in a KDE environment, but it worked. I got a notification and, if I wanted, I clicked on it and Quassel appeared. If I didn’t, it went away. Things were functional, if not pretty.
I week later we activated the then experimental KDE integration for Quassel and things went initally downhill. I was still running Intrepid with KDE 4.1 and the KDE Plasma notifications in KDE 4.1 were ugly and they were persistent (plus the action to click on them stopped working). Having to manually dismiss all the notifications was a real annoyance. This is one aspect of notifications upon which I completely agree with Mark Shuttleworth.
Once I upgraded to KDE 4.2, things got good again. Not only did notifications start going away on their own, but the Quassel developers figured out the problem with integrating actions via KNotification. The result, I think is extremely usable and visually appealing:
New_Quassel Notification
The part that makes this notification just killer for me though is not just the action, but that when I click on View, not only does it take me to Quassel, it takes me to the channel that triggered the notification. I’ve used IRC with no notifications (just a flashing icon in the systray), with non-interactive notificaitons, with notifications that just took me to the right application, and now with notifications that take me to the right channel. This is far and away the best I’ve had so far.
To give credit where it is due, now that I have an application with a really useful notification action, I start to see, a little bit, Mark Shuttleworth’s point about actions on notifications creating a “weighty obligation to act”. The trick being that I have to get to it before it goes away to be useful. I don’t at all agree that taking the action away is a good thing. While this could be better, I’m very glad to have it.
I’ve already followed up with the Quassel developers and they’ve added a solution to this problem to their feature plan for their next release. Their responsiveness to feedback that I blogged about in January continues. The solution is in their systray icon. Currently (like most applications) it just raises and lowers the application window when you click on it. For the next release, if Quassel is not on top, it will remember where your last notification came from and take you there. Once that’s in place, the rush is gone.
KNotification is working effectively throughout KDE 4.2. The progress dialogue when you copy files is a notification. When you click on a link that opens a new window, it’s a notification:
Web page notification
All in all, KDE made a huge step forward in notifications in KDE 4.2 and I’m very happy to see it. One of the interesting aspects of the design is that while transient notifications can exist for varying lengths of time (for example until the file copy is complete), they only stay maximized for a short period. If they still exist, but aren’t maximized they get their own systray icon (A nice stylized i – for information, I guess):
KDE 4.2 systray
I’m quite pleased with the progress made in KDE 4.2. I’m interested to see how the new systray protocol in KDE 4.3 evolves and is integrated with the notification system for the Karmic Koala.