KarmicNotifyOSD

Differences between revisions 4 and 10 (spanning 6 versions)
Revision 4 as of 2009-06-25 16:33:37
Size: 5391
Editor: dslb-088-077-197-112
Comment:
Revision 10 as of 2009-06-26 10:45:56
Size: 5775
Editor: 81-65-197-159
Comment: clean the root namespace
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from KarmicNotifyOSD
Line 2: Line 3:
 * '''Created''': 2009-05-25
Line 7: Line 9:
For Karmic Koala (Ubuntu 9.10) we want to improve the capabilities and user-experience of the notification-daemon notify-osd and further its integration into the Ubuntu- and Kubuntu-desktop. For Karmic Koala (Ubuntu 9.10) we want to enhance the capabilities and user-experience of the notify-osd server and further its integration into the Ubuntu and Kubuntu desktops. Changes are mostly internal to the notify-osd service, but there will still be updates to patches applied to packages like gnome-settings-daemon or nm-applet.
Line 9: Line 11:
=== Rendering / performance aspects ===
 * surface tweaks, blur cache
 * non-composited fallback mode
 * adapt better to the DPI settings
See the Kubuntu integration specification for details on this specific version: https://blueprints.launchpad.net/ubuntu/+spec/kubuntu-ayatana-integration
Line 14: Line 13:
=== Interaction enhancements === == Release Note ==

The release notes will be refined as the implementation goes. However here is a first version of it:

The new included version of notify-osd x.y.z now provides increased rendering performance (and reduced CPU-usage) in general, notification-bubbles look nicer on non-composited desktops, non-critial notifications are now suppressed when using an application in fullscreen-mode or the screensaver is active (but e.g. notifications like "battery-low" still show up), on-screen time of notification now adapts to user behaviour (e.g. timing out is paused when a user hovers the mouse-pointer over a notification-bubble), notifications better adjust their positioning to users with multi-screen setups, old notifications (of exited or crashed applications) get removed from the notification queue, feedback-notifications for multi-media keys on keyboards are introduced again (e.g. Play/Pause, Stop, Forward, Backward).

== Rationale ==

The first implementation of the notify-osd service has been released for Ubuntu 9.04 (Jaunty Jackalope). The full [[http://wiki.ubuntu.com/NotifyOSD|specification]] designed to improve the notifications used in Ubuntu contains more features and refinements that haven't been implemented in the initial release. The Karmic version should cover the remaining missing elements, as well as integrate all the user feedback gathered after the Jaunty release.

== User stories ==

 * The system (Network Manager in this example) reconnects you to your favorite network after resuming from suspend. It sends a notification

The user experience for the new notification system is described more thoroughly at https://wiki.ubuntu.com/NotifyOSD#Use%20cases (they are really user stories, though the link says "use cases").

## == Assumptions ==

== (User Interface) Design ==

This section lists UI changes planned for this release. For a general description of the user interface design, please refer to
 * https://wiki.ubuntu.com/NotifyOSD#Bubble%20appearance%20and%20layout
 * and https://wiki.ubuntu.com/NotifyOSD#Bubble%20behavior

'''Interaction enhancements'''
Line 18: Line 41:
=== Presentation enhancements === '''Presentation enhancements'''
Line 25: Line 48:
=== Audio application enhancements === '''Audio application enhancements'''
Line 28: Line 51:
=== Context awareness ===
 * better DnD mode (Do-not-Disturb) for full-screen applications, adaptive timer
'''Context awareness'''
 * better Do-not-Disturb mode (DnD) for full-screen applications, adaptive timer
Line 31: Line 54:

=== KDE-integration ===
 * (agateau and ScottK could provide the needed bullet points here)

=== Contribute our experience to FDO ===
 * Helping to get the [[http://www.freedesktop.org|FreeDesktop]] notifications specification to 1.0

=== Testing ===
 * a test suite for the rendering layer.

== Release Note ==

The new included version of notify-osd x.y.z now provides increased rendering performance (and reduced CPU-usage) in general, notification-bubbles look nicer on non-composited desktops, non-critial notifications are now suppressed when using an application in fullscreen-mode or the screensaver is active (but e.g. notifications like "battery-low" still show up), on-screen time of notification now adapts to user behaviour (e.g. timing out is paused when a user hovers the mouse-pointer over a notification-bubble), notifications better adjust their positioning to users with multi-screen setups, old notifications (of exited or crashed applications) get removed from the notification queue, feedback-notifications for multi-media keys on keyboards are introduced again (e.g. Play/Pause, Stop, Forward, Backward).

== Rationale ==

The original [[http://wiki.ubuntu.com/NotifyOSD|specification]] to improve of the notification-system used in Ubuntu written for the Jaunty Jackalope (Ubuntu 9.04) was not fully implemented in time due to its complexity and interaction with so many external applications. Furthermore the gather feedback and bug-reports from users introduced rethinking some aspects of the original specification, which has been updated since.

== User stories ==

== Assumptions ==

== Design ==

You can have subsections that better describe specific parts of the issue.
Line 59: Line 57:
=== UI Changes === This section lists mostly internal changes. The current development version of notify-osd is at: https://code.launchpad.net/notify-osd
Line 61: Line 59:
The looks of notifications
 * [[https://wiki.ubuntu.com/NotifyOSD#Bubble%20appearance%20and%20layout|on composited desktops]]
 * no non-composited case (designs still missing)
'''Rendering / performance aspects'''
 * surface tweaks, blur cache
 * non-composited fallback mode
 * adapt better to the DPI settings

'''KDE-integration'''
 * See separate blueprint at: https://blueprints.launchpad.net/ubuntu/+spec/kubuntu-ayatana-integration

'''Other'''
 * Automated test suite
 * Helping to get the [[http://www.freedesktop.org|FreeDesktop]] notifications specification to 1.0
Line 67: Line 73:
Mainly [[http://launchpad.net/notify-osd|notify-osd]] has to be modified for the required enhcancements. But there are also external applications which need patches in order to meet [[http://wiki.ubuntu.com/]]. Mainly [[http://launchpad.net/notify-osd|notify-osd]] has to be modified for the required enhancements. But there are also external applications which need patches in order to meet [[http://wiki.ubuntu.com/]].
Line 92: Line 98:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage. There is a manual test plan for the notification system at: http://testcases.qa.ubuntu.com/Applications/Notification
Line 94: Line 100:
This need not be added or completed until the specification is nearing beta. The test plan will be complemented with new test cases related to the new features or changes in this future release.
Line 96: Line 102:
== Unresolved issues == ## == Unresolved issues ==
Line 98: Line 104:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. ## == BoF agenda and discussion ==
Line 100: Line 106:
== BoF agenda and discussion ==

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.
  • Launchpad Entry: dx-karmic-notify-osd

  • Created: 2009-05-25

  • Contributors: Canonical "Desktop Experience"- and "User Interaction Design"-teams, numerous Ubuntu-community members

  • Packages affected: notify-osd, evolution, firefox, NetworkManager, gnome-settings-daemon, pidgin

Summary

For Karmic Koala (Ubuntu 9.10) we want to enhance the capabilities and user-experience of the notify-osd server and further its integration into the Ubuntu and Kubuntu desktops. Changes are mostly internal to the notify-osd service, but there will still be updates to patches applied to packages like gnome-settings-daemon or nm-applet.

See the Kubuntu integration specification for details on this specific version: https://blueprints.launchpad.net/ubuntu/+spec/kubuntu-ayatana-integration

Release Note

The release notes will be refined as the implementation goes. However here is a first version of it:

The new included version of notify-osd x.y.z now provides increased rendering performance (and reduced CPU-usage) in general, notification-bubbles look nicer on non-composited desktops, non-critial notifications are now suppressed when using an application in fullscreen-mode or the screensaver is active (but e.g. notifications like "battery-low" still show up), on-screen time of notification now adapts to user behaviour (e.g. timing out is paused when a user hovers the mouse-pointer over a notification-bubble), notifications better adjust their positioning to users with multi-screen setups, old notifications (of exited or crashed applications) get removed from the notification queue, feedback-notifications for multi-media keys on keyboards are introduced again (e.g. Play/Pause, Stop, Forward, Backward).

Rationale

The first implementation of the notify-osd service has been released for Ubuntu 9.04 (Jaunty Jackalope). The full specification designed to improve the notifications used in Ubuntu contains more features and refinements that haven't been implemented in the initial release. The Karmic version should cover the remaining missing elements, as well as integrate all the user feedback gathered after the Jaunty release.

User stories

  • The system (Network Manager in this example) reconnects you to your favorite network after resuming from suspend. It sends a notification

The user experience for the new notification system is described more thoroughly at https://wiki.ubuntu.com/NotifyOSD#Use%20cases (they are really user stories, though the link says "use cases").

(User Interface) Design

This section lists UI changes planned for this release. For a general description of the user interface design, please refer to

Interaction enhancements

  • improving the appearance and behavior (making composited bubbles more obviously unclickable, and non-composited bubbles classier, pause on hover, proximity hover, more subtle transitions)
  • investigating whether we can use non-critical priorities for anything useful

Presentation enhancements

  • positioning on (multiple) screen(s), depending on the type of notification
  • experimenting with better positioning for the notification bubbles
  • implementing the duration rules, so that notifications with longer text are shown for longer
  • better handling of long backlogs of notifications
  • accessibility, e.g. sound theme compliance and maybe alt text for icons

Audio application enhancements

  • consistent feedback for multimedia keys

Context awareness

  • better Do-not-Disturb mode (DnD) for full-screen applications, adaptive timer
  • suppressing bubbles when any window is full-screen

Implementation

This section lists mostly internal changes. The current development version of notify-osd is at: https://code.launchpad.net/notify-osd

Rendering / performance aspects

  • surface tweaks, blur cache
  • non-composited fallback mode
  • adapt better to the DPI settings

KDE-integration

Other

  • Automated test suite
  • Helping to get the FreeDesktop notifications specification to 1.0

Code Changes

Mainly notify-osd has to be modified for the required enhancements. But there are also external applications which need patches in order to meet http://wiki.ubuntu.com/.

Mandatory (applications in main):

"Nice to have" (applications in universe):

  • gwibber
  • thunderbird
  • liferea
  • empathy
  • banshee

Migration

Application developers need to be aware of NotificationDevelopmentGuidelines and NotificationDesignGuidelines if they want to make sure their applications notifications seamlessly integrate with notify-osd on the Ubuntu desktop.

Test/Demo Plan

There is a manual test plan for the notification system at: http://testcases.qa.ubuntu.com/Applications/Notification

The test plan will be complemented with new test cases related to the new features or changes in this future release.


CategorySpec

DesktopExperienceTeam/KarmicNotifyOSD (last edited 2009-06-26 10:45:56 by 81-65-197-159)