It has taken a little while, but thanks in part due to interest from Apple and some editing by yours truly it seems like the API for end-user notifications for the platform is now more or less finished: Web Notifications. Once implemented in browsers this will let applications interact with native notification platforms, such as libnotify on GNOME. If you have feedback you can email the archived public-web-notification mailing list.
Showing a notification is trivial:
new Notification("Hello world!", {iconUrl:"/img/notify"})
But before you can show notifications your application needs to ask permission to the user. Permissions for applications is a hard problem and unfortunately end-user notifications is a rare case that requires the “worst” solution. Programming-wise it is pretty trivial though:
var canShowNotifications = false
if(Notification.permission == "granted") {
canShowNotifications = true
} else if (Notification.permission == "default") {
Notification.requestPermission(function(perm) {
canShowNotifications = perm == "granted"
})
}