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.
http://websvn.kde.org/trunk/playground/base/kat/src/clients/knapsack/?pathrev=952455

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!
Jos





More information about the Active mailing list