Title: Kontextk
1Kontextkänsliga system
2Kontext
- Hur fullständig skulle din bild av världen vara
om dina sinnesorgan bestod av en datormus och ett
tangentbord?
3Kontext
4Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
5Varför är kontexten viktig?
- Människa-Människa interaktion vilar tungt på
kontextuella referenser - Människor tenderar att behandla datorer på
liknande sätt som vi behandlar människor.
6Kontext och systemdesign
- Statisk kontextinformation bör alltid byggas in
i systemen. - Etnografiska metoder
- Situerad Kognition
- Aktivitetsteori
- Föränderliga kontextvariabler kräver annan
approach
7Vad är kontextinformation?
- Kontextinformation kan definieras som
- ... all den information som beskriver en entitet,
där entitet är en person, plats eller objekt, som
kan vara relevant för interaktionen mellan
användaren och applikationen. - (1999 Dey, A)
8Vad är kontextinformation?
- Oftast
- positionering, identifikation, aktivitet
- Annan intressant kontextinformation
- Andra personer i omgivningen
- Användarens historia
- Var användaren har sin uppmärksamhet
- Användarens känslor
- Information om systemresurser
9Typer av kontext
- Primär kontextinformation
- identitet, tid, plats, (aktivitet)
- Sekundär kontextinformation
- kan härledas mha. primära typer. Adress,
(aktivitet) - denna information kan ges implicit eller explicit
10Kontext och morgondagens system
- Teknisk utveckling
- Mobilitet
- Inbyggda datorer
- Internet-kontaktbarhet
- Leder till
- Användarens kontext blir mer föränderlig
- Publika/Delade datorer
- Omgivningen blir läs och manipulerbar
11Problem
- Styr och läsbara system
- Hur sållar vi ut de relevanta tjänsterna när allt
är kommunicerbart? - Konfiguration
- Publika resurser
- Personalisering
- Lösning Kontextkänsliga system?
12Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
13Kontextkänsliga applikationer
- Vad är en kontextkänslig applikation?
- Applikation som använder kontextinfo för att
utföra en tjänst eller adaptera sitt beteende. - Olika typer av beteende
- Visualisera kontextinformation
- Automatiskt hitta/exekvera/adaptera tjänster
- Tagga information för senare sökning
14Visualisera Kontextinfo
- Direkt visualisering av kontextinfo
- T.ex. In/Out Board (Salber98), Location Maps
(Want92), Status Displays (e.g. weather, activity)
15Hitta/Exekvera/Adaptera Tjänster
- Välj och utnyttja en relevant tjänst ur ett stort
urval av tjänster. - Förändra beteendet hos en tjänst
- T.ex. Skriv ut på närmaste skrivare, Information
Displays
16Tagga Information
- Lägg till kontextdata som metainformation. Använd
kontextinformationen vid sökning. - Lättare att komma ihåg kontext än specifik
information - T.ex. Forget-me-not (Lamming94), Mobile Computing
Fieldwork (Pascoe96), Conference Assistant (Dey99)
17Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
18Exempel 1 Turtle
- Stöd för samlokaliserade möten
- Documentdelning
- Peer to peer
- Med publik display
- Aktiv dokumenthantering (med Aktiva Dokument)
- Kontextinformation används
- för att hitta applikationer i rummet
- för att hitta applikationer som ägs av människor
i rummet - för att identifiera att ett möte inträffar i ett
rum
19Exempel 1 Turtle
20Ex 2 Stick e-notes
- Information som du kan posta på fysiska platser
- En Stick e-note innehåller följande
situationsmodell - ltatgt for location.
- ltwithgt for objects (people, equipment, etc.) that
need to be with the user. - ltduringgt for time.
- ltfacinggt for orientation.
21Stick e-notes exempel
- ltnote some attributesgt ltrequiredgt ltatgt
(1,4)..(3,5) ltfacinggt 150..210 ltduringgt
December ltbodygt The large floodlit building at
the bottom of the hill is the cathedral.
22Stick e-notes implementation
- PDA GPS, compass et.c.
- Triggering module
- Show module
- Sensor module
23Ex 3 Aware Home
- http//www.cc.gatech.edu/fce/ahri
24Vad kan man mäta?
- Position
- GPS, Active Badges, iButton
- Identitet
- Fingeravtrycksläsare, passerkort, bildbehandling
- Aktivitet
- Sensorer inbyggda i apparater/applikationer
- T.ex. aktivitetssensor i ICQ
25Affective Computing
- Är det möjligt att mäta känslor?
- Stress har mätts länge
- Lögndetektorer
- Rosalind Picard Affective Reasoning Group
- Prototyper för wearables och smycken.
26Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
27Hur gör man? Designprocess
- Specifikation
- Insamling av kontextdata
- Överföring
- Mottagning av kontextdata
- Handling
28Designprocess Specifikation
- Vilket är det sökta beteendet?
- Definiera situationen du vill modellera
- Vilken kontextinformation är relevant?
- Hur representeras kontextinformationen?
- Avgränsa modellen
- Vilken kontextdata har du möjlighet att samla in?
29Att skapa en kontextmodell
- Se inte modellen som en korrekt beskrivning av en
situation - Tillräcklig vs. Fullständig modell
- Försök identifiera bristerna i modellen och
möjliga konsekvenser.
30Vad är relevant information?
- Situerad Kognition (Suchman)
- All information är intressant. En komplett
beskrivning av en situation är oändligt stor och
oändligt komplex. - Aktivitetsteori
- Viss information är viktigare än annan, och den
är möjlig att identifiera - Activity Checklist
31Kontextmodell vs. Användarmodell
- Kontextmodeller kan användas som komplement till
användarmodeller, eller integreras i
användarmodeller.
32Hur representeras kontextdata i modellen?
- Plats (location) kan modelleras på flera sätt
- Kontinuerligt (XYZ, longitud/latitud)
- Diskret (se.stockholm.kista.electrum.floor6.room26
10) - Kategori (Hemma, Jobbet, Puben)
- Fysiska kontra Logiska avstånd
- Hur man väljer att modellera beror på
applikationen
33Två sätt att beskriva världen
- Komponentbaserad Komponenter representerar
entiteter i världen - Situationsbaserad Behandla världen som en
samling information och fråga efter den
information du är intresserad av. Definiera
situationer som villkor på den insamlade
informationen - jfr Stick-e notes
34Designprocess Insamling
- Installera relevanta sensorer
- Skapa API för att kommunicera data
- Stöd för frågor eller notifiering vid
förändringar - Tolka/abstrahera rådata
35Designprocess - Överföring
- Transportmekanism
- Kontextinformationen insamlas vanligen på distans
- En till många eller många till en relationer?
36Designprocess - Mottagning
- Lokalisering av relevanta sensorer
- Ber om kontextdata via frågor eller notifiering?
- Ytterligare tolkning av data?
37Design Process Handling
- Kombinera kontextdata med gammal kontextdata
- Utför handling/modifikation av beteende
38Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
39Stöd för design av kontextsystem
- Applikationscentrerat
- Context Toolkit
- Personcentrerat
- ContextShadow
40ContextShadow
- En infrastruktur för personlig information
- Speglar en persons (fysiska) kontext till den
elektroniska världen - Låter applikationer ställa frågor om en persons
nuvarande kontext. - Möjliggör bla
- Ad hoc beteenden, service discovery och
personalisering - Verktyg för lokalt samarbete
- Multi device services
41Strukturen hos ContextShadow
- Stabila entiteter med varierande egenskaper
delges en Kontextserver (Typiskt personer och
platser) - En kontextserver kan innehålla Sensorinformation
och Referenser. - Sensorinformation kan vara t.ex. info om tjänster
i ett rum.
42Strukturen hos ContextShadow
- Referenser
- Knyter ihop Kontextservrar med varandra
- Och skapar ett nät eller en infrastruktur av
kontextinformation - T.ex. När en person kommer in i ett rum skapas en
korsreferens mellan rummets och personens
Kontextservrar.
43(No Transcript)
44Context Toolkit
- Applikationscentrerad design
- Context widgets
- Analogi med GUI widgets
- Separation, callbacks, attribut, encapsulation,
abstraction - T.ex.. GUI knapp
- Finns att ladda ned
- http//www.cc.gatech.edu/fce/contexttoolkit/
45Komponent-baserad design
Discoverer
Service
46Användning
- In/Out Board and Context-Aware Mailing List
(Salber98) enkel, återanvändningsbar, evolving
In/Out Board
ID to Name Interpreter
Location Widget
47Upplägg
- Vad är kontext och varför är det viktigt
- Vad är ett kontextkänsligt system
- Exempel
- Hur bygger man kontextkänsliga system
- Stödsystem
- Problem
48Problem
- Taxonomier
- Hur beskriva världen
- Relationer mellan objekt platser
- Integritet!
- Quality of Service
- Komplex tolkning av kontextdata