From 0d1f822c39a7084dd387951bf497ae4c3988c480 Mon Sep 17 00:00:00 2001 From: Marius Vollmer Date: Sun, 28 Jun 2009 23:42:41 +0300 Subject: Updated context-talk.txt. --- doc/context-talk.txt | 150 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 134 insertions(+), 16 deletions(-) diff --git a/doc/context-talk.txt b/doc/context-talk.txt index 6ad1e147..192fafa2 100644 --- a/doc/context-talk.txt +++ b/doc/context-talk.txt @@ -1,7 +1,5 @@ -ContextKit - a new Kit on the Block -=================================== - -(Sorry for the title, my inner child wants to play.) +ContextKit +========== ------------------------- Context and Conversations @@ -25,8 +23,8 @@ Context and Computers * Conversation between Man and Machine. Also has context. -* Memory: what has the user done recently with the computer? "Recent - documents", "Browsing history", "Recently written emails", ... +* What has the user done with the computer? "Recent documents", + "Browsing history", "Recently written emails", ... * Getting additional clues without help from user: time of day, day of week, geographical location, sitting still or moving, holding like a @@ -40,7 +38,7 @@ Context and Computers ------------------------- -Context and Connections +Context and Connecting People * Computers facilitate conversations between people @@ -55,21 +53,27 @@ Context and Connections to see his face and what's happening around him. Sometimes.) * Mobile devices make this interesting. "At his computer" no longer - means anything. + means much. ------------------------- So? -* Just a small matter of programming. +* Bring together context providers + + - DeviceKit, GeoClue, Meta tracker, Telepathy, BlueZ, ConnMan, oFono, + Sensors, ... + +* Standardize high-level interfaces across desktops -* DeviceKit, GeoClue, Meta tracker, Telepathy, BlueZ, ConnMan, oFono, - Sensors, ... + - GNOME, KDE, Maemo, Moblin, Sugar, ... -* GNOME, KDE, Maemo, Moblin, +* With bindings for all languages -* C, Glib, Qt, Python, Perl, JavaScript, C#, ... + - C, Glib, Qt, Python, Perl, JavaScript, C#, ... -* Not so small! +* No silver bullet + +* Restrict, simplify, do the minimal useful thing ------------------------- ContextKit @@ -89,9 +93,123 @@ Status * First generation framework done -* +* Some properties defined + +* Some buy in from other Nokia research projects. + +* Only for Qt / C++ (sorry) + +* A bit too static still + +------------------------- +Architecture + +* Decoupled + +* Publish/subscribe for property values + +* Run-time introspection + +* XML property declarations with cache + +* No central daemon ------------------------- -Where +Context Commander + +* Extended example + + (Demo) + + +------------------------- +Subcriber example + + (Code) + +------------------------- +Provider example + + (Code) + +------------------------- +Desktop Types + +* Little hobby of mine + +* Intersect a number of dynamic type systems to find the core + + - Null, numbers, strings, lists, maps + + Missing: association lists, turn out to be more useful + than maps for interchange. + +* Define language neutral static types + + - Enums, time, coordinates, ... + +* Write bindings of static types for static languages, documentation + systems, introspection APIs. + +------------------------- +Nano-DOM + +* Mapping of subset of XML into Desktop Types. + +* Used to define context properties + + + ... + + + + Battery.ChargeLevel + percentage + ... + + + "key", { "name": "Battery.ChargeLevel", "type": "percentage", + "doc": "..." } + +------------------------- +Static Desktop Type + +* Dynamic desktop types: simple, fixed. + +* Static desktop types: expressive, extensible + +* Hierarchy, parameters. + + + + + + ... + + + + + + + ... + + +------------------------- +Future + +* Finding a home on freedesktop.org + +* Lobbying for mind share + +* Adding GVariant and Python into the picture + +* Getting the D-Bus protocol right + +* Simple aggregation in client, maybe + + (Sum, append, average, max, ...) + +* 'Context Cron' ------------------------- -- cgit v1.2.3