← Back to team overview

unity-design team mailing list archive

Re: 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

Follow ups

References