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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ nepomuk-kde mailing list [email protected] http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde
