System-wide Activities

Hari krishna Anandhan harikrishna.anandhan at gmail.com
Mon Aug 18 19:39:32 CEST 2008


Hello all,

I am a newbie here ( though long-time lurker). This is my first
journey to make myself useful to KDE. I will start with a *dream* and
then the implementation (Hope it doesn't clash with plasma's vision;
or better if it is complementary to it, it would be great! )

To start with, please ignore what is called as plasma activity in
current KDE version and read this ;) I know, it clashes with the
current name of activity in plasma, but I couldn't find another good
term that conveys the exact meaning… If needed we can rename it
later...

Now, "KDreams of system-wide activities" …

Term explanation:
Activities are a "more casual" term for projects. Imagine a case where
projects / activities are handled at system level and applies to both
plasma and KDE applications equally. Now that plasma and Kwin (virtual
desktop) interaction is planned, this could be achieved by associating
an activity with a desktop, and storing that information in a shared
space.

Vision:
When I create a new activity, applications automatically prepare
themselves for the new  activity. Dolphin creates a new folder for
storing activity resource files. Kmail creates a mail folder to store
mails corresponding to the activity. Korganiser creates a tag that can
be assigned to specific contacts to associate them with the activity.

And, when I switch to a particular activity, everything changes as
well. Plasma widgets filter content appropriately.  Applications focus
their context exclusively on the activity-related items, including
changing the open/save dialog to default to the folder which
corresponds to the activity resources (So that needed files are always
just a click away!)

Now, suppose I have tons of files for the current activity and I
couldn't find the file needed. I just set the global filter as "last
90 days". Every app filters their content to show only those items
that fall in that date range. Dolphins only shows files modified
within last 90 days. Kmail filters mails accordingly, etc

Life is cool and world will be a better place ;)

Implementation:
Now, back to reality ! Bringing context-awareness to KDE !!

I am currently working on a "user context" framework (I badly need a
cool codename. Any ideas? ), which supports the different contexts
that smart applications might need to be aware of, namely
- Activities
- Locations
- User modes
- Global search filter
- Sensors (if needed)

First things first, why a new framework?
- Activities - for context to should be shared between apps and widgets
- Location - as a wrapper for geoClue
- User modes - Though IM presence can quality already, this adds a
semantic dimension to it
- Global search filter - for cases where "search with keywords" is not enough
- Sensors - for any future or device-dependant contexts

It would also serve as a single point of operation for all
applications that need context-awareness, without needing to
understand all the underlying mechanisms ...
Hope it makes sense. So, lets get moving ;)

For starters, I would like to start the implementation with
"system-wide activities" to nail down the architecture of the
framework first , as I find my way around KDE!!! (remember I am new to
KDE..!)

Before I start, I would like to know whether such a framework would be
useful and fits with the overall vision of plasma and KDE. And,
further inputs are always welcome and needed ;)

Regards,
Hari krishna Anandhan


More information about the Plasma-devel mailing list