hi all..

hello to all the nepomukians out there in nepomukland. (i swear i'm going to 
write a Dr. Seuss style story about you guys one day, the name is just too 
good no to =)

from the Plasma perspective, the time has come to introduce the idea of 
Contexts into the desktop and Nepomuk seems to be the Obviously Right 
Place(tm) to do this.

i've started the skeleton of a class in libplasma called Plasma::Context. it 
will eventually agregate the following information:

* 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

as the consumers of libplasma rely on the simplicity and coherency of the API, 
Plasma::Context will try and shield plasmoids (plasma applets/widgets) from 
the details that occur under the hood; it is those details that i'd like to 
discuss with all you nepomukians.

the idea is to store this information using a Context RDF class in nepomuk as 
well as relationships between data and these Contexts.

use scenarios might include:

* I'm working on my book. I want the folders containing my research, my notes 
and the chapters I've written so far to appear on my desktop.

* I'm working on a school project in a team with 3 other class mates. When I'm 
working on it, I'd like the contacts widget to show just those people and 
their IM status.

* I'm ready to play, show my twitter and facebook widgets on my desktop and 
put my favourite games on the favourites panel of the application launcher.

these are all Plasma centric, but it's easy to come up with ones for kontact 
("I'm working on my book, put the folders with email containing my research 
and publisher communications in the shortcuts area and prefer contacts related 
to my book work when composing an email.") or kopete ("I'm working on a school 
project in a team with 3 other class mates, I'd like the buddies list to 
promote those three people to the top of the list.") or dolphin or ... etc. =)

so the questions are:

* What ontologies do we use? (apparently there are some already out there, but 
i don't know which are most appropriate...)

* How do we signal context creation and change? (a nepomuk service + dbus?)

* Do the Resource classes associated with the ontology need to be made public, 
or can they be perfectly wrapped in API such as Plasma::Context as far as the 
consumer (widget creator, application develoepr) is concerned?

* How much ass is this going to kick once we've got it all sorted out?

ok, that last one is easy: a hell of a lot. let the games begin.. =)


-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
nepomuk-kde mailing list
[email protected]
http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde

Reply via email to