Freitag, 18. September 2015

Context Aware Software: Apps die "mitdenken"

In der Natur ist ständiges Wahrnehmen der Umwelt und entsprechend angepasstes Verhalten überlebenswichtig. Das gilt in Zukunft auch für Software. Die Grundlagen dazu wurden bereits vor über 20 Jahren erarbeitet:
"Such context-aware software adapts according to the location of use, the collection of nearby people, hosts, and accessible devices, as well as to changes to such things over time. A system with these capabilities can examine the computing environment and react to changes to the environment. "
- Schilit et al 1994

Ziel ist es, dass Apps sich automatisch so verhalten wie der Benutzer es in seinem aktuellen Kontext erwartet. Dadurch wird der Umgang und die Interaktion mit Software stark vereinfacht und das "Frustpotential" im Berufsalltag verringert.

Warum jetzt?

Unsere Umgebung und insbesondere unsere Arbeitsplätze werden immer "intelligenter". Kaum ein Gerät ohne einen eingebauten "kleinen Computer" und einer Verbindung zum Internet. Schon die Smartphones in unseren Hosentaschen verfügen über enorme Rechenkapazitäten und eine ganze Reihe von Sensoren. Entsprechend arbeiten Benutzer längst nicht mehr nur auf Desktops oder Notebooks. Vielmehr sollen sie unterstützt werden wo sie sich gerade befinden. Im Wald als Förster, beim Patienten als Arzt oder auf der Baustelle als Architekt.

Damit entstehen neue Anforderungen: Apps müssen "verstehen" was der Benutzer gerade macht und ihn entsprechend unterstützen. Je mobiler und kleiner die Geräte, desto wichtiger ist es den Kontext der Benutzer zu kennen und zu berücksichtigen da so Benutzereingaben auf ein Minimum beschränkt werden können. 


Beispiel Healthcare

Konkret erkennt eine Context Aware App welchen Patienten ein Arzt gerade behandelt, oder ob der Arzt "auf Visite", beim "Rapport" oder beim Mittagessen ist. Es ist bekannt welche Personen und Geräte in der Nähe sind und der Kontext kann mit weiteren Personen, Applikationen und Geräten geteilt werden. Es wäre auch denkbar, dass kritische Situationen wie "Notfall" anhand des Bewegungsmusters und des Stresslevels des Arztes erkannt werden und er dann spezifisch für diese Situation unterstützt wird.


Wie funktioniert das?

Grundsätzlich ist es ganz einfach: Position, Aktivität und Sensordaten der Benutzer stehen zur Verfügung und können über einen Service "gesammelt" werden. Die Schwierigkeit liegt beim Interpretieren der Daten. Insbesondere können sich Kontext-Rohdaten widersprechen und es gibt individuelle Unterschiede bei der Interpretation pro Benutzer. Hier kommen Ansätze basierend auf Machine Learning ins Spiel, so dass der Prozess des "Kontext Ableitens" lernfähig ist und sich automatisch und individuell anpasst. Wir bei afca arbeiten im Rahmen unseres Weiterbildungsprogramms an entsprechenden Ansätzen. 


Risiken und Nebenwirkungen

"Big Brother": Context Aware Systeme müssen viel "wissen" über Benutzer. Diese Informationen können grundsätzlich auch missbraucht werden. Es ist wichtig, dass hier eine Vertrauensbasis geschaffen und Versprechen bezüglich Datenschutz auch gehalten werden.
Nicht 100%: Die Erkennungsrate wird nie 100% sein. Erkennt das System einen falschen Kontext ist dies für den Benutzer ärgerlich. Der Kontext muss deshalb unaufdringlich und für den Benutzer anpassbar sein.  
Nicht transparent: Es ist für Benutzer schwer nachvollziehbar wie ein bestimmter Kontext zustande kommt. Dies ist besonders störend, wenn der Kontext falsch ist.
Offene Software Architektur nicht vorhanden: Damit sind die Voraussetzungen für Context Aware Systeme nicht gegeben. Weitere Informationen dazu im Beitrag "Kohärenz in Software-Ökosystemen".


Zusammenfassung

Menschen werden in Zukunft nicht mehr an Computern arbeiten, sie werden einfach arbeiten und dabei von Computern und Applikation unterstützt - jederzeit und überall. Um dies leisten zu können, müssen Softwaresysteme den Kontext der Benutzer kennen und berücksichtigen. Durch die Vielzahl der mobilen Geräte ist dies heute beides: Möglich und notwendig. 

Keine Kommentare:

Kommentar veröffentlichen