iRoom - ein interaktiver Konferenzraum
LMU München
Institut für Informatik
Hauptseminar "Disappearing Computer"
Referent: Sebastian Lechenbauer
Sommersemester 2003
03.07.2003
Fox et al. "Integrating
Information Appliances into an Interactive Workspace"
IEEE Computer Graphics and Applications. May/June 2000 (Vol. 20, No. 3) pp.
54-65
und
Johanson et al. "The
Interactive Workspaces Project: Experiences with Ubiquitous Computing Rooms"
IEEE Pervasive Computing, 1(2), April-June 2002
Überblick
- Das "Interactive Workspaces Project" der Stanford University untersucht neue Möglichkeiten
für Menschen in technologiereichen Räumen zusammen zu arbeiten
- Konzentration auf Aufwertung von Konferenzräumen mit großen
Displays, kabellosen oder multimodalen Geräten und der nahtlosen Integration
von tragbaren Geräten
Forschungsschwerpunkte
- Wie bildet man einen physikalischen Ort auf eine zugrunde liegende Systeminfrastruktur
und ein entsprechendes Interaktionsmodel ab?
- Verstärkter Einsatz von großen interaktiven Displays, teilweise
Touchscreens
- Zusammenarbeit mit anderen Forschungsgruppen innerhalb und außerhalb
der Computer-wissenschaften, um "non-toy" Anwendungen zu produzieren.
Das Projekt bezieht Studenten und Fakultäten aus dem Bereich Grafik,
Human-Computer-Interaction, Netzwerke, Ubiquitous Computing und Datenbanken
ein und baut auf die Forschungsarbeit in diesen Bereichen auf.
Aktuelle Hardware-Ausstattung
- Drei berührungsempfindliche White-Board-Displays an der Seitenwand
- großer Wandbildschirm "interactive mural"
- Tisch mit eingebautem Bildschirm
- Kameras, Mikrofone, WLAN-Support, kabellose Buttons und andere Interaktionsgeräte
Zeitliche Entwicklung
- Bau im Sommer 1999, nutzbar ab Ende September
- Anfangs Standardprojektor, ab Sommer 2000 "interactive mural"
an der Frontseite
- Sorgfältiger Plan der Kabelrouten und –längen in zweiter
Version des iRooms
- Entwicklerlabor inklusive Anmeldebereich mit mobilen Geräten und einem
Apparat für die Raumkontrolle
Anwendungsgebiete
- Gruppe von 2-15 Leute arbeitet an der Umsetzung einer Aufgabe
- Erweiterung von bestehender Software (wie z.B. Powerpoint
oder Internetbrowser) mit Funktionen zur Zusammenarbeit zwischen den
verschiedenen Nutzern und der Fähigkeit, auf unterschiedlichste Dateneingaben
zu reagieren
- PDAs als Fernbedienung für logische und physische Einheiten im iRoom
Beispiel: Smart Powerpoint
- Verschiedene Displays als Anzeigemöglichkeit für die Präsentation
- Zuhörer kann mit Laptops,PDAs,etc. durch die Folien browsen, Kommentare
setzen und mit restlichen Teilnehmern oder Sprecher kommunizieren
- Übersicht der Folien für Zuhörer mit Vor- und Rückschaufolien,
Möglichkeit des Speicherns von Zusatzinformationen, etc.
- Authoring-Werkzeug um gewünschtes Verhalten festzulegen,
zum Beispiel, auf welchem Bildschirm welche Folie angezeigt wird
Drei Aufgabenbereiche
- Moving Data: Verschieben von Daten zwischen den einzelnen Bildschirmen und
zwischen mitgebrachten Geräten
- Moving Control: Kontrolle aller Geräte und Anwendungen von beliebiger
Position im Raum
- Dynamic Application Coordination: Zahlreiche verwendete Programme sollten
- wo angebracht - zusammen arbeiten können
Anforderungen
- Die verschiedenen Anwendungen auf den Geräten sollten wechselseitig
über eine Standardschnittstelle aufeinander zugreifen können
- Schnittstelle sollte an unterschiedliche Bildschirme und Ein-/Ausgabearten
(z.B. auch Sprache und Stimme) angepasst sein
- Minimum an Administrationsaufwand --> Fehler sollten nicht als Ausnahme,
sondern als üblich betrachtet werden. Das System
sollte sich entweder automatisch wieder herstellen können oder mit wenigen
einfachen Benutzerschritten wieder funktionieren - es ist unrealistisch einen
Vollzeit-Systemadministrator voraus zusetzen, der einen Konferenzraum am laufen
hält...
Richtlinien
- Nutzung des iRooms und der Software auch für eigene Projektmeeting
- Ausnützen der Vorteile des gemeinsam genützen physischen Raums
zur Orientierung und Interaktion
- iRaum reagiert nicht auf Nutzer, vielmehr stellen sich diese den Raum so
ein, wie gewünscht und für die Arbeit erforderlich
- Versuch Interface und Softwareentwicklungsbereich so einfach wie möglich
zu halten
Metaziele
- Möglichkeit des Einsatzes von diverser Hard- und Software.
Konzept bzgl. der Portabilität von Anwendungen: Anwendungen sollten zwischen
Geräten mit gleichem Nutzungsmodell portierbar sein. Zum Beispiel sind
Windows CE-Computer und Palm Pilots gleiche Gerätetypen, weil die Art
der Verwendung die gleiche ist.
- Unterstützung von herkömmlicher unmodifizierter Software
- Erleichterung der bisher unbequemen und schwierigen PDA - Programmierung
(z.B. wegen der Resourcenbeschränkung)
- Reduzierung der benötigten Programmierfachkentnisse um
simple Verhalten zu implementieren, aber ausreichende Flexibilität
für fortgeschrittene Programmierer um zum Beispiel
komplexe PDA-User Interfaces zu designen.
Erreicht wurde das durch die Verwendung von plattformunabhängigen Sprachen
und Programmierumgebungen wie Java anstatt C++, außerdem der Verwendung
von weitverbreiteten Protokollen und Infrastrukturen wie zum Beispiel einem
Webinterface, statt einer speziellen Client-Server-Anwendung.
Metaziele
- Nutzer des iRooms sollte kein Experte in der Organisation der Software-Infrastruktur
sein müssen
- Softwareentwickler sollte für simple Anwendungen nicht die ganze Infrastruktur
verstehen müssen
- Software sollte sich so weit wie möglich selbst verwalten und reparieren
können
- Vielseitige Anwendbarkeit als Ziel
Infrastrukturzentriertes Verfahren
- Annahme, dass der Raum, den der Nutzer betritt schon mit einer drahtlosen
Basisstation und zentralisierten Softwarekomponenten für Kommunikation
und Datenaustausch ausgestattet ist
--> Mindert die Anforderungen an die individuellen Geräte,
weil zum Beispiel ein PDA beim Datenaustausch nicht selbstständig andere
Geräte erkennen und ein Netzwerk aufbauen können muß.
Gründe für diese Annahme:
- Fester Spezialraum mit zentraler Verwaltung, wo
man Netzwerke, Server, usw. problemlos dauerhaft zur Verfügung stellen
kann
- iRoom-Benutzer gehören üblicherweise einer Gemeinschaft an,
zum Beispiel zu einer Firma oder einer Universität. Besucher müssen
eine minimale Softwareinstallation auf ihrem Gerät durchführen,
um auch mehrere Dienstleistungen nutzen zu können.
- Große Anzahl existierender Forschungsarbeiten über
die Einbindung von PDAs in infrastrukturzentrierte Räume, auf die man
aufbauen kann. (z.B. auch PDA-Browser ProxiWeb)
Dieser infrastrukturzentrierte Ansatz bezieht sich
vor allem auf die Software, weniger auf die Hardware!
iROS
- Meta-OS mit 3 Untersystemen:
- Event Heap (Dynamic Application Coordination)
- Data Heap (Moving Data)
- iCrafter (Moving Control)
1. Event Heap
- Grundlegende Softwareabstraktion, Kommunikationsmechnismus für alle
Anwendungen
- Entkoppelt Anwendungen voneinander --> Stabilisierung des Systems,
weil die Anwendungen nur noch indirekt miteinander kommunizieren
- Event: Sammlung von Name-Typ-Wert-Feldern, selbsterklärend und erweiterbar
- Speichert und leitet Events weiter, Events verfallen nach bestimmter Zeit
und werden entfernt
1. Event Heap
- Anwendungen können selektiv mittels Pattern Matching auf Events zugreifen
- Anfragen an den Event Heap bzgl. der Abwesenheit von Events stellen
- Sich für eine Benachrichtigung eintragen, wenn
ein bestimmtes Event eintrifft
- Zentrales Repositorium zum Posten von Events
- Ermöglicht Gruppenkommunikation
Kommunikation mit dem Event Heap
- Direkt über Java oder C-Bibliotheksaufrufe zum TSpace-Server,
auf welchem der Event Heap läuft
- Indirekt über Gateway mit Protokollumwandlung:
- Webinterface für http-Clients
- Waba (Subset von Java) erlaubt über RMILite TSpace-Aufrufe
Verfahren 1: Webinterface
- usher wandelt http-get und –post-Anfragen in Events gegen den Event
Heap um
- Eventfelder und -werte werden in eine "fat URL" einer http-Formularanfrage
eingebaut
- usher parst die Formularanfrage und postet das passende Event zum Event
Heap
- usher kann über jeden Linkaufruf (Button, Link, http-redirect,usw.)
aufgerufen werden
- Rückgabeseite kann in "fat URL" codiert werden
- PDAs benötigen zur Interaktion mit dem Event Heap nur einen Standard
Webbrowser (ProxiWeb)
Beispiele
Bsp: Multibrowsing
- Webseiten mit verlinkten Seiten, die auf beliebigen Bildschirmen des iRooms
geöffnet werden können
- Bildschirme müssen "multibrowsed" laufen,
das bedeutet, sie müssen einen Hintergrundprozess laufen lassen, welcher
sich beim Event Heap für bestimmte Events einträgt und den Browser,
der auf dem Bildschirm läuft, die URLs aufrufen läßt, die
in den ankommenden Events codiert sind
Bsp: Projektorkontrolle
- Projektoren werden mittels URLs ein- und ausgeschaltet
Vor- und Nachteile des Webinterfaces
- - Man kann keine Browserfenster schließen oder Anwendungen beenden,
nur Webseiten öffnen und Anwendungen starten
- - Man kann an PDAs keine asynchronen Events schicken (nur
periodische mittels einer "fat URL" innerhalb eines http-refresh).
Das bedeutet, man kann zum Beispiel keine Anwendung schreiben, die bei einer
Statusänderung sofort eine Statusänderung bei allen PDAs im iRoom
auslöst)
- + Simpler Mechanismus bei Erstellung der Webseite und deren Bedienung
- + Keine Kompilierung oder Installation notwendig
- + Webseite mit Links muß nicht in iRoom-Infrastruktur integriert werden,
sondern kann auf einem beliebigen Internetserver liegen
2. Data Heap
Erleichtert Datenverschiebung:
- Anwendungen können Daten in Speicher ablegen, Zugriff mittels Attributen.
Das hat den Vorteil, dass Anwendungen sich nicht darum kümmern müssen,
welches Dateisystem die Daten speichert.
- Zusätzlich Speicherung von Formatinformationen,
damit man Datentransformationen in das geeignetste Format für die Zielanwendung
und das Zielgerät durchführen kann: zum Beispiel werden Powerpointfolien
automatisch in Jpegs umgewandelt, wenn das Zielgerät nur solche unterstützt.
3. iCrafter
- Bietet verschiedene Dienste für Anwendungen an
- User Interface Generator für Dienste, das heißt,
der Nutzer sucht sich einen Dienst aus und der User Interface Generator liefert
automatisch das geeignetste Interface für das Gerät des Nutzers.
- Kommunikation erfolgt über den Event Heap
- Beispiel: Room Controller
Allgemeine iROS-Grundsätze
- Alle Anwendungen kommunizieren indirekt über den Event Heap.
Dient dazu, zu sehr voneinander abhängige Anwendungskomponenten zu vermeiden,
die sich gegenseitig zum Absturz bringen können.
- Anwendungen werden mit Attributinformationen entkoppelt
- Event und Data Heap erlauben auch zeitliche Entkopplung,
das heißt, dass Anwendungen Nachrichten abholen können, die erstellt
wurden bevor sie liefen oder während eines Neustarts nach einem Absturz.
- Fehler werden als üblicher Fall betrachtet.
Wenn eine Anwendung (auch der Event Heap Server, Data Heap Server, etc.) abstürzt,
kann das System sie automatisch neu starten und die Clients verbinden sich
nach einem Absturz automatisch neu.
- Intensiver Einsatz von Web-Technologien, weil diese
sehr weit verbreitet und ausgereift sind und es viele Anwendungen dazu gibt.
Mensch-Maschine-Interaktion
- Forschung besteht aus zwei Bereichen:
- Entwicklung von Techniken zur Interaktion mit Wandbildschirmen
- Design von Möglichkeiten allgemein Zugang und Kontrolle zu Informationen
und Schnittstellen im iRoom anzubieten
- Ziel: Vereinfachung der Interaktion zwischen den Teilnehmern eines Meetings,
Nutzer soll sich auf die Arbeit konzentrieren können und nicht auf eine
Interaktionstechnik
Bsp.: PostBrainstorm - Interface
- Ziel: Hochauflösender Bildschirm mit Fähigkeiten zum direkten
Markieren, Bildkontrolle, 3-D-Rendering und beliebigen Desktopanwendungen
- Flow Menu: kontextabhängiges Popup-Menü. Erlaubt es, mit einem
Auswahlstift in einem Zug eine bestimmte Aktion und dazu bestimmte Parameter
auszuwählen.
- Zoom Scape: kontrolliert Objektgrößen auf Bildschirm.
Man kann damit Objekte in einen bestimmten Bereich des Bildschirms schieben
(z.B. in das obere Viertel), wobei sie automatisch skaliert - normalerweise
verkleinert - werden.
- Typed Drag-and-Drop: Handschriften-Erkennungssystem.
Läuft als Hintergrundprozess und läßt die digitale Tinte auf
dem Bildschirm stehen, fügt aber einen Kommentar mit den interpretierten
Schriftzeichen hinzu, welchen man dann per Drag-and-Drop auf ein anderes Zielobjekt
ziehen kann.
Bsp.: Room Controller
- Benutzt kleine Karten des Raums um die Lichter, Projektoren und Bildschirme
anzuzeigen
- Room Controll System speichert die geometrischen Anordnungen in Konfigurationsdatei
- Raumkontrolle für alle Geräte, welche den UI-Renderer des iCrafter
unterstützen
- Primärer Weg um Bildschirme auszuwählen,
der Nutzer wählt eine Anwendung aus und danach mit Hilfe des Room Controllers
einen Bildschirm, auf dem diese angezeigt werden soll
|
(a) Java Swing |
(b) Palm handheld |
(c) HTML
|
Bsp.: Eingabegeräte
- Overhead Scanner: basiert auf Digitalkamera und digitalisiert auf dem Tisch
liegende Skizzen u.ä.
- Barcode Scanner: wird ein bestimmter Code eines
Nutzers eingescannt, werden draufhin benutzerspezifische Informationen an
einem der Bildschirme angezeigt
- Drahtlose Buttons und Slider, welche mit beliebigen
Aktionen verbunden werden können, z.B. um mehrere bestimmte Anwendungen
auf einem Bildschirm zu starten
Zukünftige Entwicklungen
- Man arbeit an der Verbesserung der Sicherheit
im iRoom. Zum Beispiel existiert das Problem, dass durch die indirekte Kommunikation
über den Event Heap alle Nachrichten öffentlich werden. Zukünftig
sollen daher sichere Protokolle u.ä. integriert werden.
- Zusammenarbeit von Teams in entfernten interaktiven Arbeitsräumen
- Verstärkter Einsatz von neuen Technologien
wie Bluetooth
Das war's... danke schön!
Diese Seite läßt sich mit OperaShow
als Präsentation anzeigen.