Fwd: System-wide Activities

Hari krishna Anandhan harikrishna.anandhan at gmail.com
Tue Aug 19 21:17:41 CEST 2008


Hi Aaron,

To clarify things more, I have tried to explain my idea below:

>> So, to be on the same side, I would like to clarify a few points...
>> 1. Are we looking to create contexts that are shared between kde apps
>> and plasma (via DBus)? Something like Global activities ( can we use
>> the term "activities" for this or a different term ?)
>
> yes, the idea is to be able to sync this across the desktop. which is why i'm
> using nepomuk here. the term being used in the code is "Context". this came as
> a result of conversation with the Nepomuk team to suggested this term instead.

I would like to understand something here...

We usually encounter two kinds of context:
1. static context in data (aka nepomuk tags) : these are a cool way to
sync the whole desktop with a common ground and would be a great way
to specify "static" activity related items like contacts, resources,
files, etc
2. dynamic context (that would apply to apps and widgets) - when an
activity is associated with a virtual desktop, all the items within
the virtual desktop suddenly get a context (i.e. the current activity
assigned). So, they change their display to focus on that context

examples are;
a) a contacts widget that usually lists all online contacts, now lists
only the contacts that correspond to the current activity. Similarly,
kopete contact list is filtered.
b) KMail, which usually lists all mail in separate mail folders, now
starts showing mails corresponding to the current activity more
prominently (optionally to show other mails also)

If we add a semantic meaning to an activity by assigning a type to it,
like "personal work", "official work", "leisure", etc things become
more intelligent

For e.g., when I switch to a "official work" activity, any
distractions are avoided. Like, though I may have Kopete open, my
status is set to "Offline" for all personal contacts (of course, only
if the user needs this). And, I become visible only to contacts
corresponding to the activity

So, you see, when an activity is assigned to a virtual desktop, all
its constituents adjust themselves to help the user to focus on items
relating to current activity


>> 2. Shouldn't context be more granular? like activities, location, user
>> modes, etc. Different widgets and apps might be interested in
>> different things.
>
> i don't really get what you mean by "user modes" (that's what
> activities/contexts are, afaiu), though location should certainly be added to
> it.

"user modes", as I see them, are a super-set of "user profiles". In
addition to changing certain visuals like cursors, etc, they add a
semantic dimension to user status.
E.g. when I set my user-mode to "Do Presentation", my cursor
automatically changes to an appropriate one easy for highlighting; Any
system notifications are not immediately shown and are logged for
later perusal. etc etc

>> We need to nail down the difference between project, activity and
>> context, please...for a more clear understanding....
>
> they are all the same things. we are currently using Activity in the UI for
> clarity to the user, and Context in the code for clarity in the code.

When we start to think of context as also including "dynamic
environment", activity is just one of the possible contexts. In
addition to Apps reacting to changes in "activity" context, there can
also be others, like KDE itself reacting to changes in context like
"location". E.g., when I am in "home", my default printer is
"printer-home". When in office, it is "printer-corporate", etc

I have just touched the surface. There are lots of other scenarios
So, some food for thought..



More information about the Plasma-devel mailing list