Request for Comments: GNOME Notifier



I want to receive some ideas and thoughts from you about a User
Notification System for GNOME, or better than that, a Desktop User
Notification System.

I understand a DUNS as a single place where all notifications are sent
and presented in some way to the user.  For example to receive a message
when a new mail arrives or when a friend is online.

This email is based on some ideas presented here:

http://primates.ximian.com/~miguel/archive/2004/Mar-12.html

and here

http://gnomesupport.org/forums/viewtopic.php?t=5659

I am not a GNOME neither a DBUS expert, so please put down any flame
machine.  I put together some working code as "notifier" in GNOME CVS,
I've taken some code from here and there. It does almost nothing but is
the base code for a notification application. I don't want to write just
an application to "fill the space", I hope to gather ideas to write a
good specification for an application of this type before continue on
writing any code.

I think that the notification service should be Desktop independant, and
it should be seen as a facility provided by the Desktop Environment.  In
this sense it should be an specification of FreeDesktop.org.

An application that wants to notify the user should send a D-Bus message
to the notification system.  An application listening for these messages
is responsible of showing them in some way.  GNOME Notifier should be an
application of this type.

So we have:

Aplications -> DBUS -> Notifier Application (GNOME Notifier, KDE
Notifier, XFCE Notifier, etc)


For this spec to be successful, there should be several types of
messages, depending of the priority and interactivity required for it. 
It's not the same to have a message about "new wireless network
discovered" than "battery is 10% and disconnected from power source".

Depending on the type of the message, the application can do something
different.  For example for low priority messages, there should be a
small unobstrusive popup that hides itself after a few seconds ("network
cable disconnected"), but other may requiere some interaction ("low disk
space").

I have thought that some messages need to remain visibles to the user
until he notifies the application that the messages were seen.  I don't
like the idea of stacking popups, because it fills up the screen and the
size mismatch of the different notifications make them look odd.  I
think that a better idea may be to first show the notification popup,
and after a few seconds convert it in an icon in the same notification
area applet, using the same icon provided for the notification, or may
be a set of icons (animation).

Take for example a "new email arrived" message.  Instead of having a
separate application that ask the server for new emails.  The same
application that you use to read emails and where all your configuration
is created, should send a message to the notification system telling the
user that he/she has a new email. 

evolution    ->
sylpheed     ->  Notification Bus -> GNOME Notifier/Other
thunderbird  ->

If the user is not in his desktop, it would be a bad idea to stack
notifications on his screen. Instead of that, the GNOME notifier will
create a new icon (using the icon provided by the application) where the
user can see this notification when he sits in front of the computer
again.

If a new message of this type is sent again, GNOME notifier will add
this information to the icon created, instead of creating a new icon.

[This is a notifier advocay text: As a side effect, you can see that an
specialized application will work better in this case than the typical
mail applet.  You have your email configuration in just one place, say
evolution, and this application has better knowledge of what type of
notification the user may need.  For example you could tell evolution to
notifiy you when that "important" mail arrives, or notify you when you
recevie an email from a specific contact.  So the notification will not
be just "you have an email", but "you received a response about 'GNOME
Notifier'".  Add to that that the same evolution application can notify
you when a certain event is about to happen.  There is a lot of
integration work that can be done there]

These are some types of notifications that I can think of.  I hope to
receive more from you:

- battery status
- new email
- new instant message
- buddy has (dis)connected
- network (dis)connected
- wireless network discovered
- incoming event (task, meeting.... related to evolution-data-server)
- download finished
- USB device connected

-- 
Franco Catrin L.
TUXPAN http://www.tuxpan.com/fcatrin




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]