a bit of history, data security and synchronization
Jos van den Oever
jos at vandenoever.info
Mon Apr 11 23:34:48 CEST 2011
Hello Active people ;-)
Congratulations on the momentum with Plasma Active. I think it's a fresh
approach and a good one. On device with a new way of interacting, (touching
instead of typing and hovering), new ideas about the user experience are good.
I've read through the wiki pages and want to chime in with some points.
First a bit of history. Six or seven years ago I wrote a recommendation engine
for KDE that used the Kat index. I used it a lot at the time, but at some
point did not have time to bring it forward because Kat stopped being
developed and I started working on Strigi. Knapsack has an API for taking
environment information like active window title, clipboard contents and
keyboard activity and calculate recommendations. The accuracy of the
recommendations improves over time. Whenever a recommendation is used by the
user, the system learns that for the given context, the recommendation is
good. This is some with a large matrix, I forgot the details about the last
implementation. However, I do remember my ultimate goal: there would be
several recommendation engines. Each would have an amount of credits that
could be used to buy CPU time and network and local data access to calculate
recommendations. When a recommendation is chosen, the main UI pays some
credits to the recommendation engine. Every now and then a succesfull engine
is split up (and it's capital too) in two slightly different ones. When an
engine runs out of credits, it is not used any more.
A second thing: I would like to see a vision on data security and 3rd party
APIs. Market leading tablet software has very good data security. This is
integral to user trust. Having the source code available is not enough to be
or feel safe. A user wants to know that certain applications can access only
certain information. I do not want my text editor to be able to read my
contacts. I may add a plugin that can recommend me an action to insert a
contact in a text, but I do not want the application to perform just any query
on my Virtuoso repository. Security should not be an afterthought. It is a
requirement for user adoption and success. I want to be able to just use any
random code I find on the net and verify or enforce that Plasma Active will
only let that code interact with the minimal amount of information that it
needs to function in the way I want it to.
This means that clear information domains with good labels need to be
configured and fenced off. One could imagine e.g. a SPARQL query filter for this.
And lastly: synchronization. People have data everywhere. Will the Nepomuk
data be syncrhonized? Will the usage pattern be shared across devices? Could I
volonteer to upload anonymized user habits to a 'plasma learning center'?
Ok, that's enough non-committal ideas from me. I hope you find them useful.
Good luck with Plasma Active!
More information about the Active