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

Re: [Ayatana] mail indicator not consistency



On Wed, Mar 31, 2010 at 12:44 PM, Conscious User <conscioususer@xxxxxxx> wrote:
There's an important difference, though: "the app is running" is info
directed at *you*, while "you are available/busy/away/offline" is info
directed at *the world*.

That said, I do find the whole unification proposal by Remco quite
interesting. A big problem would be that Ayatana receives enough
complaints about favoring certain apps already. I'd recommend going in
this direction after extending the "preferred applications" stack in
Gnome to IM and microblogging.

I don't think we should worry much about favoring apps, we're building a platform, and we chose the apps that best match our vision. Other apps may chose to conform to our vision, but they may also chose not to, and that's fine- they don't matter to us.

Here is how I think we should be handling presence...

There are two levels of presence, there is a global desktop wide level, and an application level of presence, the application level is only relevant for some applications- instant messaging clients, collaborative document editors, and other real-time communication/collaboration tasks. The global level is relevant for any application that involves communication.

The global level is the presence level that is set from the MeMenu. This is the level of presence that applications should default to when they start, until changed individually. If I am marked as "Available" in the MeMenu, I should be receiving email, Gwibber should be checking twitter, and Empathy should be showing me as online to my contacts. When I change this state, all applications that are presence-aware should set themselves to the indicated presence level, and in some cases apps that are not running should be started. We would need to define in some specification what the actual meaning of each state is, what information should be presented to the user, and how to enforce this policy. What this policy is should be another discussion, I don't want to get sidetracked in a debate about what these levels mean, let's just put it in a black box and say we have some policy and some mechanism that enforces and implements this.

It may be the case that I want to be some level of available (for microblogging email some of the different 'online' states are indistinguishable), but not in one or more individual applications. This is the reason for application presence. I should be able to independently set my presence in Empathy, because I don't want to be receiving instant messages at this moment. Quitting empathy is semantically equivalent to setting your status as "offline" and closing the window.

The global presence should override application level presence- meaning when I change my global from 'available' to 'away' all applications should update their local presence, but not vise versa- changing my presence in empathy shouldn't change my global presence. If Empathy's local presence is "offline" when this change happens, Empathy should be started

Global state should be remembered between sessions, except for 'away' but I think that it may be that 'away' isn't an explicit state, but one that should be triggered by inactivity such as the screensaver. If I shutdown my computer in a 'busy' state, the next time I log in I should still be busy.

I'm sure I missed some cases, and empirical results will find places that need tweaking, but I think it's a decent start to a higher level of presence integration into the desktop.

Questions? Comments? Kangaroos?

-- 
-- Alex Launi