Institut für Informatik | Sitemap | LMU-Portal
English
  • Startseite
  • Studieninteressierte
  • Studierende
  • Lehrveranstaltungen
    • Archiv
    • WS 2006/2007
      • AR
      • DM
      • FOTO
      • HS
      • IV3D
      • MMI1
        • Essays
      • MMN
      • OS
      • PEM
      • PMG
  • Forschung
  • Personen
  • Kontakt
  • Besucher
  • Jobs
  • FAQ
  • Intern

Context-Aware Applications, Computing in Context

von Markus Mauder

Einleitung

Context-aware applications (auf deutsch "kontextsensitive Anwendungen") sind Anwendungen auf verschiedenen Arten von Computern, die einige Faktoren ihrer Umgebung erkennen und darauf reagieren. [1]
"Context" (im Folgenden benutze ich das deutsche Wort "Kontext", die beiden Wörter sind als synonym zu verstehen) beschreibt dabei alle Faktoren, die Auswirkungen auf die Arbeitsweise des Benutzers mit der Anwendung haben. Merriam-Webster definiert "Context" als "the interrelated conditions in which something exists or occurs" [2]. In diesem Text verstehen wir unter "Kontext" alle Faktoren, die einen Einfluss auf die Art hat, wie der Benutzers mit der Anwendung umgeht, also insbesondere auch Informationen die dem Benutzer bei traditionellen Anwendungen nicht zur Verfügung stehen und bestenfalls über Umwege in Erfahrung gebracht werden können.
Beispiele für Kontext sind etwa der Aufenthaltsort des Benutzers (sowohl global als auch relativ zu dem Gerät), die räumliche Ausrichtung der Anwendung oder Allgemein der größere Zusammenhang in dem der Benutzer die Anwendung verwendet. Dabei ist Kontext nicht nur auf die direkt erkennbaren Faktoren beschränkt sondern schließt auch Faktoren mit ein, die das Gerät aus anderer Quelle erhält, die sich aus der Kombination von erkannten Informationen mit Informationen aus anderen Quellen ergibt. So lässt sich zum Beispiel aus dem Aufenthaltsort des Benutzers unter Umständen auch ableiten in welchem Kontext er sich befindet. Eine Anwendung kann zum Beispiel aus ihren Koordinaten mit Hilfe des Internets feststellen, dass der Benutzer sich in einem Kino befindet. Mögliche Kontext-Informationen schließen Ort, Zeit, Aktivität und andere beteiligte Personen und Geräte ein.
Beispiele für kontextsensitive Anwendungen reichen von einfachen Anwendungen, die ihr Layout an die Ausrichtung des Geräts anpassen, auf dem sie ausgeführt werden, zu komplexen, die mehrere Kontextinformationen mit Informationen aus anderen Quellen kombinieren um daraus nützliche Informationen für den Benutzer zu erzeugen. Zum Beispiel könnte eine solche Anwendung Informationen über Wetter und den Aufenthaltsort des Benutzers kombinieren, um mit Hilfe des Internets eine Empfehlung für ein nahegelegene Freizeitaktivität abzugeben.
Wir werden in diesem Text ergründen, welche Vorteile kontextsensitive Anwendungen bieten und warum es sich lohnt Kontext bei der Entwicklung von neuen Anwendungen zu berücksichtigen. Aber wir werden auch untersuchen welche neuen Herausforderungen gelöst werden müssen um das Potential dieses Prinzips möglichst vollständig ausnutzen zu können.

Ziele

Warum ist es erstrebenswert Anwendungen so zu schreiben, dass sie sich auf die Umgebung einstellen? Das menschliche Gehirn hat sich in der Umgebung der echten Welt entwickelt und ist sehr gut daran angepasst, Kontext wahr zu nehmen und zu verwerten. Menschen sind so in der Lage auf Veränderungen der Umgebung zu reagieren und Veränderungen gezielt herbei zu führen. Wir reagieren also auf unsere Umgebung und Teile der Umgebung sind oft Gegenstand und fast immer ein wichtiger Einflussfaktor bei unseren Handlungen. Kontextsensitive Anwendungen erweitern den Kontext in dem wir handeln um die von ihnen zur Verfügung gestellten Features. Durch diese Eingliederung der Anwendungen in unsere Umgebung sind Computeranwendungen, die sich ebenfalls an der Umgebung orientieren, für den Menschen sehr viel leichter benutzbar als traditionelle Anwendungen.
Ziel von kontextsensitiven Anwendungen ist also die Verbesserung ihrer Benutzbarkeit durch das gezielte Vereinfachen von Zugriffen auf Informationen und Funktionalität, die der Benutzer in diesem Moment benötigt. Damit lassen sich mit solchen Anwendungen Erleichterungen der Arbeit verwirklichen, die für traditionelle Anwendungen, die keine Informationen über die Umgebung berücksichtigen, nicht denkbar sind.

Einsatz

Kontextsensitive Anwendungen finden primär in mobilen Anwendung Einsatz. Sie sind zwar auch in der statischen Umgebung traditioneller Geräte (wie Desktop Computer) denkbar, aber in diesem Zusammenhang ist ihre Einsetzbarkeit durch die geringe Menge von relevanten Umweltfaktoren beschränkt. Außerdem sind Desktop-Computer nicht dafür gebaut Einflüsse außerhalb ihres Systems zu erkennen. Eine Anwendung auf einem Desktop Computer kann im Normalfall nur erkennen, welche anderen Programme der Benutzer gerade einsetzt um daraus Kontextinformation abzuleiten. Eine andere Möglichkeit ist, dass der Benutzer selbst die Kontextinformation liefert, die der Computer braucht um sich darauf einzustellen. Dennoch ist auch unter Ausnutzung aller dieser Informationen die Möglichkeit des Computers sich anzupassen sehr beschränkt. Es ist auch gar nicht notwendig, dass Desktop-Computer auf den Kontext Rücksicht nehmen, weil sie und der Benutzer in dem Zeitraum in dem er an dem Desktop Computer arbeitet in einem klar definierten Kontext befinden, für den dieser Computer entworfen und konfiguriert worden ist.
Viel interessanter und für kontextsensitive Anwendungen geeignet sind mobile Anwendungen. Durch ihren Einsatz im Alltag eignen sie sich viel besser als Erweiterung unserer Umgebung (siehe Ubiquotous Computing [3]). Mobile Geräte haben eine viel größere Palette von Einsatzgebieten und entsprechend nutzbarer Kontextinformation.
Mobile Geräte sind angewiesen auf Kontextinformation, weil sie in Umgebungen eingesetzt werden über die der Benutzer nicht so viel Einfluss hat wie über sein Arbeitszimmer, in dem der Desktop-Computer sein Zuhause gefunden hat. Mobile Geräte müssen sich auf ständig wechselnde Orte und Einflüsse einstellen und sollten in der Lage sein dem Benutzer in diesem Kontext gezielt zu unterstützen.

Herausforderungen

Kontextsensitive Anwendungen müssen in einer unkontrollierten Umgebung, der "echten Welt", funktionieren. Diese ist im Gegensatz zu der heilen Welt der Desktop-Computer viel komplexer und unvorhersehbarer. Daraus ergeben sich viele Herausforderungen, die in dieser Form noch nicht gelöst worden sind. Das Erkennen von Kontext ist für mobile Geräte kein Luxus sondern zu einem gewissen Grad sogar notwendig. Sie müssen durch Anpassung an die Umgebung Faktoren ausgleichen, die ihre Benutzung unnötig erschweren. Umgebungslicht, eingeschränkte Stromnetz- und Internetverbindung und die Notwendigkeit die Benutzung der Anwendung unvorhergesehen abbrechen zu können sind Nachteile eines mobilen Geräts, die bei der Entwicklung von traditionellen Geräten nie gelöst werden mussten. Diese Nachteile können mobile Geräte teilweise über Kontext-Informationen ausgleichen.

Erfassen von Kontext

Die denkbaren Möglichkeiten wie ein Gerät den Menschen mit entsprechenden Informationen unterstützen kann sind vielfälig. Meistens wird die Funktion von diesen Geräten durch den Mangel an verfügbaren Informationen eingeschränkt. Heute benutzen die meisten kontextsensitiven Anwendungen nur Informationen über den Ort ihrer Benutzung [4]. Das Erfassen von vielfältigen und nutzbaren Kontextinformationen stellt zunächst also die größte Herausforderung dar.
Da die Technik von mobilen Geräten noch neu und entsprechend unausgereift ist müssen Anwendungen auf diesen Geräten heute noch mit recht begrenzten Informationen auskommen. Meist sind diese Informationen beschränkt auf Benutzereingaben und einfache Sensoren (Umgebungslicht, Ausrichtung) sowie Internetanschluss und gelegentliche Positionsinformationen (aber auch nur im Freien). Komplexere Verfahren wie etwa die visuelle Erkennung der Umgebung wird heute aus technischen Gründen meist nicht genutzt. Die begrenzenden Faktoren sind dabei die Rechenleistung in mobilen Geräten und nicht ausreichend entwickelte Techniken zur automatischen Erkennung von Objekten der realen Welt. Die häufig eingesetzte und selten brauchbare Spracherkennung in vielen Mobiltelefonen ist ein Beispiel dafür, wie weit diese Technologien entwickelt werden müssen um nützlich zu sein. Die heute in mobilen Geräten eingesetzte Spracherkennung ist meist beschränkt auf das Erkennen einiger weniger Befehle und jeder, der diese Technik schon einmal an einem lauten Ort einsetzen wollte, weiß wie unbefriedigend die Erkennung oft sein kann.

Interaktion mit dem Benutzer als Kontext

Der Benutzer ist der wichtigste Umweltfaktor bei kontextsensitiven Anwendungen. Bei den heute verbreiteten Geräten ist der Mensch zur Steuerung der Anwendung noch auf nicht optimal auf Menschen abgestimmte Eingabemöglichkeiten angewiesen. Meist zwingen uns unsere Geräte zum Tippen oder bieten bestenfalls Handschrifterkennung statt der für uns viel besser geeigneten Steuerung über natürliche Sprache.
Auch andere Möglichkeiten den Kontext Mensch zu erfassen sind noch nicht umsetzbar. So sind zum Beispiel die meisten Geräte nicht in der Lage ihren Benutzer visuell zu erkennen und erfordern die Eingabe eines Benutzernamens und eines Passworts oder einer PIN für die Identifizierung.
Umgekehrt können die Geräte ihrerseits meistens nur über visuelle Darstellung von Informationen mit dem Benutzer kommunizieren. Für die schnelle Bereitstellung von Informationen wäre sprachliche Bedienung besser geeignet, weil sie es nicht nötig macht, dass der Benutzer sich ganz auf das Gerät konzentriert. Für die Darstellung von komplexen Informationen eignen sich Geräte mit Displays zwar recht gut, aber der Aufwand, der notwendig ist um die Aufmerksamkeit weg von der eigentlichen Tätigkeit und auf das Gerät zu konzentrieren, nimmt beim Ablesen von kleineren Mengen von Information einen signifikanten Teil der Zeit in Anspruch. Der heute gebräuchliche Einsatz von Displays für das Anzeigen von kurzen Texten ist ein Beispiel dafür.

Information filtern

Eine weitere Schwierigkeit stellt das Auswählen von Informationen dar. Bis zu diesem Punkt sind wir davon ausgegangen, dass das Gewinnen von Kontextinformationen die größte Schwierigkeit ist. Sobald diese Schwierigkeit allerdings überwunden ist, steht als nächstes die Problematik an, dass mehr Informationen nicht immer auch nützlicher sind als weniger Information. Die Schwierigkeit relevante von irrelevanter Information zu unterscheiden kann sich sogar als noch schwieriger herausstellen. Wenn der Benutzer zum Beispiel einen Text verfasst ist es nahe liegend, dass der Computer die ihm zur Verfügung stehende kontextuelle Information nutzt um thematisch verwandte Informationen anzuzeigen. Allerdings ist diese Information leicht ablenkend, wenn sie nicht gebraucht wird. Wenn etwa der Benutzer eine persönliche Notiz aufschreibt und nicht die Absicht hat den Gedanken weiter auszuarbeiten, wird bestenfalls Platz verschwendet und schlimmstenfalls der Benutzer aus seinem Gedanken gebracht und von produktiver Arbeit abgehalten.

Benutzer muss die Kontrolle behalten

Kontextsensitive Anwendungen passen sich selbstständig an ihre Umgebung an. Doch dieses erwünschte Verhalten birgt die Gefahr, dass der Benutzer sich übergangen fühlt, weil er änderungen vorfindet, die er nicht initiiert hat. Das widerspricht dem wichtigen Usability-Prinzip, dass der Benutzer die Kontrolle über die Anwendung behalten muss [5]. Insbesondere darf die Anwendung nicht ohne Initiative des Benutzers handeln. Benutzer fühlen sich unsicher, wenn sie nicht nachvollziehen können, wie Kontextinformationen gewonnen wurden, weil ihnen die Quelle der Informationen nicht klar ist. Dadurch entsteht das Gefühl, dass sie der Anwendung nicht vertrauen können. Wenn etwa Informationen zu einem Text, den der Benutzer verfasst, eingeblendet werden, liegt die Frage nahe, wie diese Informationen beschafft wurden, ob sie möglicherweise von dritten auf dem Weg gespeichert worden sein können.
Um sich zugleich an den Kontext anzupassen und dem Benutzer die Kontrolle (oder wenigstens die Illusion von Kontrolle) zu geben, muss eine kontextsensitive Anwendung dem Benutzer anzeigen, welche seiner Aktionen diese Reaktion des Produkts auf den neuen Kontext ausgelöst hat und muss ihm gegebenenfalls die Möglichkeit geben, dieses Verhalten in Zukunft zu unterbinden oder manuell auszuführen.

Zusammenfassung

Diese Menge von neuen Herausforderungen zeigt wieviele neue Gebiete von diesem Konzept erschlossen werden. Kontextsensitive Anwendungen sind in der Lage sich viel mehr als traditionelle Anwendungen an den Benutzer anzupassen. Das gibt ihnen die Möglichkeit ihren Benutzer viel besser zu unterstützen als das früher möglich war. Kommerziell verfügbare Anwendungen nutzen heute erst einen kleinen Teil der denkbaren Möglichkeiten dieses Konzepts aus und beschränken sich im Allgemeinen auf die Verwertung von Ortsinformationen.
Das Konzept von kontextsensitiven Anwendungen hat großes Potential und es ist sehr wahrscheinlich, dass in dem Maß wie die Technik fortschreitet, kontextsensitive Anwendungen einen immer wichtigeren Teil unserer Computeraktivitäten ausmachen werden. Dabei verspricht uns dieses Konzept uns immer mehr Arbeit abzunehmen und das Arbeiten so angenehm wie nie zuvor zu machen. Die vielfältigen neuen und unerforschten Möglichkeiten dieses Konzepts bringen allerdings auch viele Herausforderungen mit sich, die bisher noch nicht zufriedenstellend gelöst worden sind. Die Fülle von Informationen für den Benutzer verfügbar und beherrschbar zu machen ist die Aufgabe, die den Designern von kontextsensitiven Anwendungen zu lösen bleibt.

Sources


[1] Wikipedia contributors, 'Context awareness', Wikipedia, The Free Encyclopedia, 20 November 2006, 19:40 UTC, <http://en.wikipedia.org/w/index.php?title=Context_awareness&oldid=89067445>
[2] Merriam-Webster, Context, 8 Februar 2007, <http://www.m-w.com/dictionary/context>
[3] Thomas Moran, Paul Dourish, Introduction to this special issue on Context-Aware Computing, aufgerufen am 8 Februar 2007. <http://hci-journal.com/editorial/si-context-aware-intro.pdf>
[4] Albrecht Schmidt, Michael Beigl, and Hans-W. Gellersen, There is more to Context than Location, aufgerufen am 8 Februar 2007, <http://www.teco.uni-karlsruhe.de/~albrecht/publication/draft_docs/context-is-more-than-location.pdf>
[5] Shneiderman, Ben, Designing the User Interface, Addison Wesley, 1998, Third Edition
Nach oben
Impressum – Datenschutz – Kontakt  |  Letzte Änderung am 18.04.2007 von Richard Atterer (rev 1899)