As part of its initiative to improve the usability of the Linux desktop, Canonical has made a proposal for a desktop notification system for both GNOME and KDE. Mark Shuttleworth announced the proposal on his blog earlier this week. The mockup video shows notification more or less like the 3d party Growl system for Mac OS X. Since we are talking Linux here, the meat is in the implementation details and cross-desktop compatibility.
Shuttleworth believes that Canonical’s time is best spent on elements between the major applications and elements of the the Linux desktop. “I think Canonical and Ubuntu can best help the cause of free software by focusing on the cracks between the major components of the desktop,” he explained, “In other words, while there are already great upstreams for individual applications in the free software desktop (Evolution, OpenOffice, Firefox, NetworkManager), we think there is a lot of productive and useful work to be done in the gaps between them.” The new notification proposal fills one of those cracks.
They will write a new notification display agent, one that is not forked from the current GNOME notifications daemon. They won’t be replacing libnotify, but they may deprecate functionality within libnotify; to ensure a smooth transition, the “old” combination of the current daemon and libnotify will remain available alongside the new implementation. The reason for writing a new display agent is that they want the graphical bit to be written in Qt for KDE, and in Gtk+ for GNOME, making sure that as much code is shared between the two. Shuttleworth hopes they can deliver both variants at the same time.
As for the way the notifications are displayed, and how they operate, they make some interesting choices. Most notably, there won’t be any widgets on the notifications. There’s no dismiss button, and you can’t click them to active the application that created them. “Our hypothesis is that the existence of ANY action creates a weighty obligation to act, or to THINK ABOUT ACTING,” Shuttleworth writes, “That make notifications turn from play into work. That makes them heavy responsibilities. That makes them an interruption, not a notification. And interruptions are a bag of hurt when you have things to do.”
This is Canonical’s mockup:
The first implementation should be ready for Ubuntu 9.04, and one of Canonical’s OEM partners will ship it on a netbook during the 9.04 cycle.
As Ars Technica notes, however, there are some problems with the new implementation. Firstly is the problem of updating all the countless applications by individual developers that are tied to the current notification system. More importantly, however, is the issue of compositing: the new design requires a running compositing manager, which are not popular with all Linux users, especially seeing many users will need binary drivers in order to support compositing.