User talk:Harikrishna

From KDE TechBase
Revision as of 09:40, 27 August 2008 by Harikrishna (talk | contribs)

User Context

This section is track the discussions on the implementation of "User Context" in KDE. For a more general discussion of context in Nepomuk, check out here.

Important aspects of context are where you are (location), what you are doing (activity), who you are with (contacts), and what resources and devices are nearby...

Typically Desktop applications and widgets have been available as just normal tools which are in no way more "intelligent" than their physical counterparts (ok, apart from their ability to undo things ;)

They have just been heaped with functionality which adds to the clutter the user is already facing with the growing information-overload he already faces. So, something has to be done to tackle this !

Continuing the passion for desktop innovation with KDE, we want to induce in our apps the "intelligence" to adjust themselves to the work the user is currently doing. Hence ....

Dikku (meaning direction in Tamil; we generally establish of where we are heading based on direction. So, I think the name fits. Any suggestions ? ) is a user context framework that exposes the current user activity and location to both plasma widgets as well as other applications. But, as Nepomuk projecthas already handled the bulk of work by doing a lot of research in this area, we can just reuse whatever is possible from them (the beauty of open source !)...

Currently we plan to agregate the following information in Dikku:

  • the current task/project/activity the user is working on
  • the list of all currently known activities
  • geographical location of the user
  • whatever else we dream up ... =)

and allow for:

  • the creation of new activities
  • the association of data with an activity


The Architecture of Dikku can be split into three major parts:

1. Data Model - how the information is stored. We plan to use existing Nepomuk ontologies here 2. Learning Model - how the system observes the user, understands what he is doing and learns to do things that could improve the user's productivity 3. User Interaction Model - how the system suggests to the user and other interested agents (apps and widgets)and how the user sees the system and possibly corrects its assumptions to start getting results!