wiki:Handbook/UserObservation

[ Log Sharing and Privacy Settings | Handbook | The Nabu Protocol ]

User Observation

One topic addressed in the research project EPOS is user observation: By observing the user's actions, EPOS tries to identify the context of the desktop user to support him in his work. Depending on the current context of a user, different contacts, files or other resources are relevant. For instance, the context information can be used to present currently relevant contacts from the addressbook to the user. EPOS does this using a assistant bar, a desktop panel listing e.g. relevant contacts, resources, and projects. Collecting observation data is done by special plugins for e.g. word processors, WWW browsers or mail clients. Each plugin observes the user's actions in the respective application and sends them to a central context elicitation component. Nabu offers this functionality for instant messaging, notifying messages from or to the observed user to EPOS. As there is a multitude of Jabber clients and even in the research group various clients are used, it's more practical to implement this on the server-side instead of providing plugins for every client out there.

It is important to note that in Nabu user observation is fully controlled by the observed user. It must be activated by the user and can be stopped at any time. So "user observation" is not meant to enable your boss to monitor your actions, but to enable frameworks like EPOS to analyze you current context to support your work. Observing apps need your Jabber account password to register at the server.

Usually observation will be integrated into the context framework by using the client API.

The observation works as follows:

To observe messages from and to Alice (alice@…), the observer program logs in at the server as alice@…, like the user does with her graphical client. The observer program must use its own resource, e.g. 'observation'. To start the observation, the program sends

OBSERVEMESSAGES on observation

to the server (to test observation, you can also send this manually to the bot). This register the resource 'observation' as observer, from now on all messages Alice sends or receives are notified to the 'observation' resource. A notification message consists of a subject, containing the URI of the notified message, and the message body, containing the message CBD.

Example:

Subject: "newMessage http://foo#instances/Messages/km-intern.opendfki.de/heim/km-intern.opendfki.de/osterfel/20050713-115134.762"

Body:

<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:nabu="http://www.opendfki.de/ont/nabu#">
   <nabu:Message rdf:about=
       "http://foo#instances/Messages/km-intern.opendfki.de/
        heim/km-intern.opendfki.de/
        osterfel/20050713-115134.762">
   <nabu:body>und? hats funktioniert?</nabu:body>
   <nabu:streamID>mir_6</nabu:streamID>
   <nabu:receivers rdf:resource="http://foo#instances/Accounts/Jabber/
                                 km-intern.opendfki.de/osterfel"/>
   <nabu:sender rdf:resource="http://foo#instances/Accounts/Jabber/
                              km-intern.opendfki.de/heim"/>
   <nabu:messageType>chat</nabu:messageType>
   <nabu:subject></nabu:subject>
   <nabu:datetime>2005-07-13T11:51:34.781+0200</nabu:datetime>
   <nabu:previousMessageInRoom rdf:resource=
        "http://foo#instances/Messages/km-intern.opendfki.de/
         osterfel/km-intern.opendfki.de/heim/20050713-115108.943"/>
   <nabu:inRoom>
     <rdf:Description rdf:about=
     "http://foo#instances/P2PRooms/km-intern.opendfki.de/
      heim/km-intern.opendfki.de/osterfel/">
       <nabu:lastMessage rdf:resource=
       "http://foo#instances/Messages/km-intern.opendfki.de/heim/
        km-intern.opendfki.de/osterfel/20050713-115134.762"/>
     </rdf:Description>
   </nabu:inRoom>
 </nabu:Message>
</rdf:RDF>

To disable observation, the observer client must send

OBSERVEMESSAGES off observation

Read more on how to integrate user observation in applications in the development section.

[ Log Sharing and Privacy Settings | Handbook | The Nabu Protocol ]

Last modified 12 years ago Last modified on 08/01/05 00:35:54