Re: [Ayatana] Merging libindicate into libnotify

2011-04-05 Thread Matthew Paul Thomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Conscious User wrote on 01/04/11 18:57:
 
 The idea that all non-immediate notifications should be grouped
 together in a single place, regardless of topic, is very much like the
 idea that progress for all long-running tasks should be grouped
 together in a single place regardless of task. It's the kind of
 categorization that may make perfect sense to engineers, but to others
 it risks looking like a jumble of unrelated things.
 
 What are your thoughts on, for example, what Jockey, PolicyKit and File
 Transfer currently do? They basically use an appindicator to persist,
 just like Update Manager did in the past with the notification area.
 Do you think this should be the standard procedure for all apps that
 do not fit in the current categories (messaging and sound)?

Absolutely not.

 If no, how should they be fixed? If yes, why not do something similar
 for Update Manager instead of popping up the window?

Designing a replacement for Jockey's menu is something I'm working on
this week. Maybe it can be merged into Update Manager, or maybe there's
a better place for it. Anyone got suggestions?
http://launchpad.net/bugs/617392

Even if these one-off menus were a good idea, the PolicyKit one -- like
the Jockey one -- would be more confusing than useful: I doubt there is
any rewording of Drop elevated privileges that would be widely
understandable. I think this should just be deleted, or replaced with a
Remember my password for 5 minutes checkbox in the Authenticate
dialog. http://launchpad.net/bugs/550502

And the File Operations menu is just a workaround for not having a real
progress window, i.e. a window that is minimizable but not closable.
http://launchpad.net/bugs/534477

 One of the motivations behind the introduction of Notify OSD was
 to encourage applications to use general-purpose notification systems
 less often. Notifications of things are more helpful if they are
 closer to those things, for example embedded in relevant windows.
 
 Aren't the most common usage of notifications the situations where
 relevant windows are *not* currently in sight, or when there is no
 such thing as relevant windows at all?

Only if you define notifications as things that aren't already being
shown in a relevant window. :-)

- -- 
mpt
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2a3jsACgkQ6PUxNfU6ecoAEACfZSy/BMk+xNYT224xqrAe07aT
D9wAn37h5BJY44T8CmZ5OJd7IBZDOOnA
=l5C3
-END PGP SIGNATURE-

___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp


Re: [Ayatana] Merging libindicate into libnotify

2011-04-01 Thread Matthew Paul Thomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Conscious User wrote on 31/03/11 18:57:
...
 In Natty, the Ubuntu One item was moved from the Me Menu from
 the Messaging Menu. Was this agreed on by the design team?

Not as far as I know. I reported a bug about it that was marked Invalid.
http://launchpad.net/bugs/740340

After that, I discussed it with the Ubuntu One tech lead. I suggested
that Ubuntu One use its own indicator menu, which glows when there are
share invitations, and otherwise just animates slowly when syncing. As
long as it's in the messaging menu it can't show sync progress, without
being present in the launcher too -- which both consumes a lot of space
in the launcher for something that really isn't that important, and
means Ubuntu One status is being shown in two (or one-and-a-half)
different places on the screen.

 If it was, I think this is a good opportunity to wonder if
 there is still a point in trying to tie the Messaging Menu
 to messaging applications only.
 
 Currently, the messaging menu is the desktop resource that
 covers that case where notifications require response but
 not necessarily immediate. The no-response case is covered
 by the bubbles and the immediate response case is covered
 by unfocused dialog boxes, or whatever will replace them
 (the never implemented morphing boxes in the specification
 or the IDO thingies that Empathy is using now) in the future.
 
 The existence of libindicate is something that has always
 bothered me. The not-necessarily-immediate-response case
 is a common scenario required by a significative number of
 applications, and requiring those applications to support
 an extra library (and thus extra patching for working in
 Ubuntu) is unpleasant.
 
 Shouldn't this case be covered by the Notification Spec and
 each desktop offer a standard single mechanism for handling
 them, independently of the app? Shouldn't the Messaging Menu
 drop the messaging app requirement and become the standard
 Ubuntu mechanism for handling these kind of notifications?
...

The idea that all non-immediate notifications should be grouped
together in a single place, regardless of topic, is very much like the
idea that progress for all long-running tasks should be grouped together
in a single place regardless of task. It's the kind of categorization
that may make perfect sense to engineers, but to others it risks looking
like a jumble of unrelated things.

One of the motivations behind the introduction of Notify OSD was to
encourage applications to use general-purpose notification systems less
often. Notifications of things are more helpful if they are closer to
those things, for example embedded in relevant windows.

- -- 
mpt
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2VraUACgkQ6PUxNfU6ecrp8QCgoJqwqOb9qScXDwhY/2yohe8e
p4kAoLYaZTVGgtk6JT83LnCtIReP0I7g
=j9Ap
-END PGP SIGNATURE-

___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp


Re: [Ayatana] Merging libindicate into libnotify

2011-04-01 Thread Conscious User

 The idea that all non-immediate notifications should be grouped
 together in a single place, regardless of topic, is very much like the
 idea that progress for all long-running tasks should be grouped
 together in a single place regardless of task. It's the kind of
 categorization that may make perfect sense to engineers, but to others
 it risks looking like a jumble of unrelated things.

What are your thoughts on, for example, what Jockey, PolicyKit and File
Transfer currently do? They basically use an appindicator to persist,
just like Update Manager did in the past with the notification area.

Do you think this should be the standard procedure for all apps that
do not fit in the current categories (messaging and sound)?

If no, how should they be fixed? If yes, why not do something similar
for Update Manager instead of popping up the window?

 One of the motivations behind the introduction of Notify OSD was
 to encourage applications to use general-purpose notification systems
 less often. Notifications of things are more helpful if they are
 closer to those things, for example embedded in relevant windows.

Aren't the most common usage of notifications the situations where
relevant windows are *not* currently in sight, or when there is no
such thing as relevant windows at all?



___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp


[Ayatana] Merging libindicate into libnotify

2011-03-31 Thread Conscious User

Hi,

In Natty, the Ubuntu One item was moved from the Me Menu from
the Messaging Menu. Was this agreed on by the design team?

If it was, I think this is a good opportunity to wonder if
there is still a point in trying to tie the Messaging Menu
to messaging applications only.

Currently, the messaging menu is the desktop resource that
covers that case where notifications require response but
not necessarily immediate. The no-response case is covered
by the bubbles and the immediate response case is covered
by unfocused dialog boxes, or whatever will replace them
(the never implemented morphing boxes in the specification
or the IDO thingies that Empathy is using now) in the future.

The existence of libindicate is something that has always
bothered me. The not-necessarily-immediate-response case
is a common scenario required by a significative number of
applications, and requiring those applications to support
an extra library (and thus extra patching for working in
Ubuntu) is unpleasant.

Shouldn't this case be covered by the Notification Spec and
each desktop offer a standard single mechanism for handling
them, independently of the app? Shouldn't the Messaging Menu
drop the messaging app requirement and become the standard
Ubuntu mechanism for handling these kind of notifications?

For the sake of consistency and for the sake of not driving
upstream crazy, I do believe that this case should be
well-specified in libnotify, and the manipulation of something
like the messaging menu, should be part of NotifyOSD.



___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp


Re: [Ayatana] Merging libindicate into libnotify

2011-03-31 Thread Dylan McCall
 The existence of libindicate is something that has always
 bothered me. The not-necessarily-immediate-response case
 is a common scenario required by a significative number of
 applications, and requiring those applications to support
 an extra library (and thus extra patching for working in
 Ubuntu) is unpleasant.

 Shouldn't this case be covered by the Notification Spec and
 each desktop offer a standard single mechanism for handling
 them, independently of the app? Shouldn't the Messaging Menu
 drop the messaging app requirement and become the standard
 Ubuntu mechanism for handling these kind of notifications?

This is something that _is_ covered by a particular subset of the
notification specification; it's just that it isn't guaranteed. Gnome
Shell is doing what you want here: they went ahead and defined
persistent notifications, which their message tray is optimised for.
Unfortunately, it's all wrapped into the same notification
specification for some reason. The platform as a whole now has an
impressively convoluted setup for notifications. It's almost as if we
don't want people using these. Here's what an application must do, as
I understand it:

* First, I will ask the notification server for its capabilities. Does
it support persistence?
* Yes? Great, I'll show a resident notification.
* No? Okay, just give it a long life and a few actions, I guess.
* I can't do actions? Okay, change the message to reflect that, maybe
tell the user where to find me.
* Wait, do I even know what this notification server is doing? Ugh,
it's probably notify-osd. I guess I'll assume it's a transient
notification.
* Am I reading the right version of the notification spec?
* Well, now that I've gone this far, it can't hurt to add libindicate. Right?
* Do I actually belong in the messaging menu? Don't care: I want a
resident notification, and my developers don't want to maintain any
more strings!
* The end.

Android does this well:
http://developer.android.com/guide/topics/ui/notifiers/index.html
There is no overlap. Each type of notification is optimised for one
task. You choose, from the onset, if you want a Toast notification, a
Status Bar notification, or a dialog notification. Each one does
exactly what it says on the tin and it does it well. An application
doesn't waste resources trying to figure out how to present a
notification at runtime and the system knows exactly how each type of
notification is meant to be displayed.

Perhaps there is room for consolidating Ubuntu's great work on
transient notifications and Gnome's great work on persistent
notifications by managing these as separate systems with their own
specifications. Because, as the messaging menu pretty clearly reminds
us, they are.


Dylan

___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp


Re: [Ayatana] Merging libindicate into libnotify

2011-03-31 Thread Conscious User

Le jeudi 31 mars 2011 à 12:35 -0700, Dylan McCall a écrit :
 This is something that _is_ covered by a particular subset of the
 notification specification; it's just that it isn't guaranteed. Gnome
 Shell is doing what you want here: they went ahead and defined
 persistent notifications, which their message tray is optimised for.
 Unfortunately, it's all wrapped into the same notification
 specification for some reason. The platform as a whole now has an
 impressively convoluted setup for notifications. It's almost as if we
 don't want people using these. Here's what an application must do, as
 I understand it:
 
 * First, I will ask the notification server for its capabilities. Does
 it support persistence?
 * Yes? Great, I'll show a resident notification.
 * No? Okay, just give it a long life and a few actions, I guess.
 * I can't do actions? Okay, change the message to reflect that, maybe
 tell the user where to find me.
 * Wait, do I even know what this notification server is doing? Ugh,
 it's probably notify-osd. I guess I'll assume it's a transient
 notification.
 * Am I reading the right version of the notification spec?
 * Well, now that I've gone this far, it can't hurt to add libindicate. Right?
 * Do I actually belong in the messaging menu? Don't care: I want a
 resident notification, and my developers don't want to maintain any
 more strings!
 * The end.
 
 Android does this well:
 http://developer.android.com/guide/topics/ui/notifiers/index.html
 There is no overlap. Each type of notification is optimised for one
 task. You choose, from the onset, if you want a Toast notification, a
 Status Bar notification, or a dialog notification. Each one does
 exactly what it says on the tin and it does it well. An application
 doesn't waste resources trying to figure out how to present a
 notification at runtime and the system knows exactly how each type of
 notification is meant to be displayed.
 
 Perhaps there is room for consolidating Ubuntu's great work on
 transient notifications and Gnome's great work on persistent
 notifications by managing these as separate systems with their own
 specifications. Because, as the messaging menu pretty clearly reminds
 us, they are.

In my opinion, separating the systems is not necessary, and wrapping
all cases in the same specification is not a bad thing.

The main problem is, as you pointed out, this GetCapabilities mess.
The applications should not *care* whether the server supports
persistence or not: it should just say that the notification is
supposed to persist. Whether the server will do this competently,
is not the applications' problem.

But save for this GetCapabilities issue, the specification is fine.
The serves are broken. Gnome3 is too optimized for persistent
notifications, while Ubuntu is too optimized for transient
notifications. Ideally, someone developing an application for Ubuntu
should not worry about using something like libindicate: he should use
only libnotify, and NotifyOSD would be responsible for throwing
persistent notifications to something like the messaging menu.

The problem with the current implementation is: NotifyOSD simply
*ignores* actions and it's up to the application developer to
explicitly include libindicate support in his app. Worse: he
can only do that if he can argue that his app fits in the
messaging application concept.

This has left this weird conceptual gap in the Ubuntu desktop,
where notifications that are persistent but not related to
messaging have nowhere to go, and things like Jockey, PolicyKit
and Apport are now as conceptually broken as they were before:
only now they use AppIndicators as their playground, instead of
the notification area.

(I think Apport was recently changed to use popups instead,
but I don't feel this is ideal either... it's not that urgent)

The Messaging Menu should be refined to support *any* persistent
notifications, not only from messaging applications. Only then
this conceptual gap will be closed. Until that happens, we will
stay either with legacy things like jockey popping up in the
indicator area or with strange things like Ubuntu One being in
the Messaging Menu.



___
Mailing list: https://launchpad.net/~ayatana
Post to : ayatana@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ayatana
More help   : https://help.launchpad.net/ListHelp