This is a work in progress! Contributions/comments/criticism are welcome!

This is an idea for how to redesign the GNOME notification area. It has similarities with a few other things that are out on the web. The principal aims of the design are to clean up the notification area, to instill a sense of the desktop as an assistant, and to make using the desktop a fun, enjoyable experience [1].

Mockups

System menu and notification dialogue

mockup1.png

Action required, notification pop-up

mockup2.png mockup3.png

Design elements

Notification area

Notification icon

Notification/system menu

Notification panel

System information

Notification types

The notification area is premised on the idea of there being a number of types of notification. A rough idea for types:

  1. Constant
    • These notifications have a dynamic icon placed in the notification area.
    • Examples of services which might use this notification type: wifi strength, the time and weather, battery charge.
  2. Requires response
    • A pop-up bubble announces the notification.
    • The notification is placed in the 'Requires action' section of the notification history.
    • The notification button changes appearance as a reminder to the user that they need to do something.
    • Examples of services which might use this notification type: software updates, system restarts, etc.
  3. Process
    • For operations that take place over a period of time.
    • The start and end of the process is acknowledged with a pop-up bubble.
    • The notification is entered in the notification history under the 'Ongoing' section.
    • The notification icon is animated so as to register that the process is ongoing.
    • Examples of services which might use this notification type: file operations, downloads.
  4. Standard
    • Displayed as an info pop-up.
    • Entered in the notification history.
    • Examples of services which might use this notification type: new tracks in the media player, email arrivals, Twitter notifications, RSS.
  5. Persistent
    • Displayed as an info pop-up.
    • Icon entered into notification area. Icon disappears once acknowledged.
    • Entered in the notification history.
    • Examples of services which might use this notification type: email arrivals.
  6. Minor
    • Displayed as a temporary info pop-up.
    • Is not entered in notifications history.
    • Examples of services which might use this notification type: IM contacts going offline.

Possibilities for further development

Footnotes

[1] Fun is an important aspect of the desktop experience (this is something that Apple understand very well). There is nothing wrong with trying to design a bit more fun into GNOME.

[2] Would a moving icon be too distracting/annoying? Here, the variable speed thing would help, at least. A long running process would result in the icon moving more slowing, therefore reducing the distraction level.

Comments

AndersFeder: It would be useful if different classes of messages were given identifiers and the notification interface on each message would let the user indicate whether or not she is interested in other messages of the same class in the future.

Re. notification type 5 (was 4 at time of writing)

Re. notification type 6 (was 5 at time of writing)

Drawbacks of the proposed design

PhilipGanchev: As I understand, the user would not be able to interact directly with the applets on the panel. She would have to open the notification area menu and then interact with the applets. For example, you would not be able to hover over the mail applet and see a tool tip showing the first few lines of recent emails; you could not change the wireless network directly on the panel. I think this is not a good trade-off. Also, why does the clock have to be part of the notification area? That means you can't even see the calendar by clicking on the clock, and can't see the date on hover.

AllanDay: you'd be able to interact with the applets, in my mind, at least. ;)

Accessibility

From WillieWalker: I think accessibility considerations need to be made as part of the overall design. So, I'm making a placeholder section here (hope that is OK with you guys). Some of the main things that need to be considered are:

More detailed information can be found in http://library.gnome.org/devel/accessibility-devel-guide/nightly/.

AllanDay: yes, it's important to think about accessability. Keyboard navigation is something that I'm particularly keen on. I guess you could have a global hotkey to focus on the notifications interface - perhaps focus could switch to the notification icon? That way, you could scroll right and left to access notifications items in the panel, and up and down to access items in the notifications history.

Status/Notification/Applet approach

From BulatSirazetdinov: Maybe we should have three different types of "notification" area? I suggest this three: 1) Status 2) Notification 3) Applets

This way we'll not confuse user by combining different application behavior in one area and distributing the same behavior among several areas. I think this would be more tidy and elegant way of doing things.

1) Status. It is a placeholder for all status icons: network, CPU frequency, battery state, file copying, file archiving or download progress information, data/time, etc. It should have several different views - shrunk, expanded, full, etc. People like to have a one-click way to access all status information on their system. :) Views can be switched (maybe temporarily) by a click or by a mouse-scroll.

2) Notification. Only notifications should be placed here: you've got mail, download complete, etc. And it should be an icon with a drop-down list of all notifications as it is described above in a mock-up. New notifications should appear in a bubble (growing bubble with several notifications within it simultaneously when they appear in a short time one after another) with an application (or a situation/event) icon. This icon should be optional - let user decide weather such visual feedback is important for him, or it is more of steeling an attention from real tasks.

There is a slightly other way for Notification area to behave - the bubble (icon change, etc.) can appear near the application icon in a Status (File copying complete) or Applets area. Nevertheless, notification list will still be useful. Application (situation/event) icon inside a bubble would become handy also.

3) Applets. It's a place where all applications that want to behave like an applet should reside when you run them. It may behave as notification area used to behave nowadays. :)

Process status and notification feature dreams :)

It would be great to think of other processes the status of which user may become interested in (not only those that we've get used to today), and to provide some use-cases that describe them to the community. Such as, for example: remote server boot-up process; some collaboration work phase or it's progress; application testing process; OpenOffice download counter :) ; etc. Every background process that user would like to check from time to time or be aware of by using his or her side-view, and get notified on their completion or phase change. The main idea is - let user concentrate on the task he is doing now, and not disturb him by the necessity of manual status checking of background processes. To my mind, it may become a really killer (or at least very handy :) ) feature when it'll acquire broad application support. Especially in conjunction with simple system-wide user commands queuing/ordering (run tests, if ok archive this, copy there, burn disc while uploading results to the web-server, then restart the web-server, check it's status and report to user). The easy way to access Notification and Status area from scripts is another important thing to think about. (but, ofcourse that is more about API, not UI)

Application status - Applets or Status area ?

So, now there's a question - where an application status should be depicted - Applets area or Status Area ? One of the approaches is: Status icon depicts status of a process or a system resource - not an application status! Status of an application should be depicted (if needed) in a Applets area - not in a Status area. But it still can be hard to distinguish which process deserves depiction in Status area and which does not. (File downloading process or is it a status of a file manager ? E-mail checking ? Application start up ? IM login process ?) And the same thing about resources - is Instant Messaging connection a resource for Status area, or does it fit better to Applets area as an application status ? For some of them it is easier to decide (especially for those that I've listed already), but there'll be more not so straightforward cases.

UIs and APIs

It's not about the API - it's all about the UI (User Interface). I propose 3 different UIs for different application behavior and user interaction. And as for the API - we can fit it all in one API and let GNOME panel (or whatever) to choose the way it should be visualized and the way user interaction should be handled. It can even provide different icon and notification placement on a per application basis (let user decide weather to mess things in a way that he used to, or to accept tidiness and structure GNOME developers have though out :) ).

Inspired by: Hylke's notification area mock-up discussion


CategoryUsability

AlternativeNotificationsUI (last edited 2008-11-30 03:51:15 by BulatSirazetdinov)