Bachelorarbeit - Evaluierung einer multimodal bedienbaren und personalisierten Kalenderanwendung auf Basis des mobilen Dialogsystems des DFKI. (Entwurf)

worked on by: Patrick Teich

Übersicht: siehe Attachment Bachelor_Thesis.png.

Hintergrund

Am DFKI wird ein mobiles Dialogsystem entwickelt, das eine intelligente multimodale Interaktion auf mobilen Endgeräten (Smartphones und Tablets) erlaubt. Berücksichtigt sind theoretisch alle von der aktuellen Hardware angebotenen Modalitäten, sprich Sprache, Touch, Gestik und gyroskopische Signale. Das System unterstützt diese Modalitäten einzeln, sowie in Verbindung mehrerer Modalitäten. Ausgaben erfolgen dann auf dem Bildschirm über den Lautsprecher oder über Rütteln. Die Implementierung erfolgt, soweit wie technisch möglich, plattformunabhängig (mit HTML5 und Javascript). Das heißt, ein Teil des Dialogsystems (Aktivierung der Spracherkennung und Multitouch) sind in Java geschrieben, der Rest basiert auf dem HTML5- und Javascript-Framework von Apache Cordova. Das mobile Dialogsystem bietet einen Dialogmanager und einen semantischen Interpreter. Der Dialogmanger ist als state machine definiert und legt abhängig von seinem Zustand fest, in welchen Zustand das System als Reaktion auf ein Event (z.B. touch_button_end) wechseln soll. Der semantische Interpreter verwendet die Spracherkennung und wandelt den von ihr ausgegebenen Text über eine definierte Grammatik in ein Objekt um, das die Semantik der Eingabe widerspiegelt. Das können zum Beispiel ein Kommando mit den entsprechenden Daten sein. Die grafische Ausgabe wird über erweiterte HTML-Views erzeugt und der Dialogmanager entscheidet meistens darüber welcher View angezeigt werden. Das gesamte Dialogsystem wird in eine Applikation kompiliert und läuft dann, abgesehen von eventuell eingebundenen Webservices, vollständig auf dem Smartphone.

Gliederung (Entwurf)

  1. Einführung
    1. Hintergrund
      1. das Framework im Überblick
      2. die Applikation im Überblick
    2. Stand der Applikation vor der Evaluation - Features
      1. Verbindung zu Server
      2. Authentifizierung
      3. Erinnerungsverarbeitung
      4. Sprachsteuerung
      5. Personalisierung
      6. Probleme und Schwächen
  2. Evaluationsprozess
    1. Ziele
    2. Methoden
    3. Iterationen
      1. I
      2. II
    4. Ergebnisse (vielleicht auch jeweils pro Iteration)
  3. Auswertung
    1. Verbesserung der Usability anhand der Usertests
    2. allgemeine Probleme / Barrieren, die sich ergeben haben
    3. die abgeleitete Usability des Basissystems
  4. Fazit ~ Erreichtes/ Ausblick

Ziel

Ziel der Arbeit ist die Entwicklung einer "leicht bedienbaren" Kalenderanwendung auf Basis des am DFKI entworfenen mobilen Dialogsystems. Die entstehende Kalendaranwendung hat dann gegenüber bestehenden den Vorteil multimodal bedient werden zu können und sich besser als andere in das Umfeld des Users (etwa über sein Adressbuch) zu integrieren. Für das DFKI ergeben sich daraus Erkenntnisse über die Praxistauglichkeit des mobilen Dialogsystems.

Durch folgende Tests soll die Erreichnung des Ziels überprüft werden:

Gegebenheiten

Das mobile Dialogsystem ist noch nicht vollständig gebaut, d.h. zum jetzigen Zeitpunkt kann nicht sicher damit gerechnet werden, dass weitere Eingabemethoden wie Gesten rechtzeitig implementiert werden können.
Schon implementiert sind: Eine Anbindung an den Google Calendar über calDAV, die Operationen "Event einfügen", "Event finden", "Event löschen", die GUI-Views für das Erstellen von Terminen und das Finden von Terminen, die Erinnerungsfunktion über Popup innerhalb der Applikation und ein Ansatz für die Sprachsteuerung. Das entpricht fast dem gesamten Implementierungsteil.

verbleibende Aufgaben

Damit besteht die Hauptaufgabe noch darin, die eben genannte technische Basis zu nutzen und gezielt an der Usability zu arbeiten. Also die Tests für die Zielparameter auszuarbeiten, durchzuführen und dadurch die Parameter schrittweise zu optimieren. Daneben stehen noch Optimierungsarbeiten und drei Features an: Das Aufnehmen und Speichern von Sprachnotizen, die Personalisierung der Applikation mit Hilfe des Addressbuchs des Nutzers und ein zusätzlicher externer Service, der den Nutzer außerhalb der Applikation benachrichtigt, falls eine Erinnerung anfällt.

Anforderungen an den Inhalt der Arbeit

Meilensteine und Planung

Meilenstein Nr. Status geplante Dauer days gestartet in KW Ziele target Erreichtes wrench
1 DONE 14 KW41 Finden benötigter Literatur(relevante Arbeiten, usability testing, Sprachsteuerung, Literatur zu technischen Fragen, Wie wird Zufriedenheit gemessen, GQM ??, mobile usability tests, Techniken für Umfragen, Fragestellungen ) Die Fragen sind soweit geklärt, dass eine Ausführung möglich ist
2 DONE 14 KW43 Fertigstellung der Applikation (einfache Sprachsteuerung und Personalisierung) Es sind alle Features, die in die Tests mit einfließen, implementiert.
3 DONE 7 KW48 Ausarbeitung der Userbefragungen Der Entwurf ist in nutzbarem Zustand
4 DONE 30 KW03 Durchführen der Userbefragungen, Auswerten und Anpassungen an der Applikation I 4 Userbefragungen erledigt, Auswertung erledigt
5 DONE 25 KW09 Durchführen der Userbefragungen, Auswerten Auswertung erledigt
6 DONE 14 KW09 Verfassen der Arbeit  

Planung - Grobe Schritte

Ziel 1: Durchführen der Userbefragungen, Auswerten und Anpassungen an der Applikation I bis Ende Januar

Ziel 2: Durchführen der Userbefragungen, Auswerten 3., 4. Februarwoche

Ziel 3: Die Schriftfassung der Arbeit

Planung - Schritte

  1. Finden benötigter Literatur / zu klärende Fragen
    • Userbefragungen (Mein gesamtes Wissen darüber beschränkt sich auf die Inhalte aus Softwaretechnik)
    • Wie kann Zufriedenheit gemessen werden ?
    • Wie werden Fragen so gestellt, dass die gewünschten Erkenntnisse daraus ableitbar sind ?
    • Wie sehen Fragebögen dazu aus ?
    • Was ist GQM, lässt sich diese Methode verwenden und wie ?
    • Gibt es noch andere methodische Ansätze, die nutzbar wären ?
    • Bau von Diskursmanagern
    • Wie lässt sich von der Applikation in das Adressbuch verlinken, also durch einen Klick das Adressbuch öffnen ?
    • Womit und auf welche Weise kann ein Service für das jeweilige Betriebssystem erstellt werden, der das Erinnern übernimmt und in die Applikation integriert ?
    • Was macht Spracheingabe qualitativ aus ?
    • Gibt es eigentlich ein Testframework, das sich für diese Entwicklungsumgebung einsetzen lässt ?
  2. Fertigstellen der Applikation
    1. Sprachbefehle:
      • Erstellen von Terminen:
        • Erstelle mir einen Termin am um
        • Trage einen Termin zum Thema XXX ein.
      • Anzeigen von Terminen:
        • Zeige meine Termine vom (von bis )
        • Habe ich heute Termine ? / Habe ich Termine am ?
      • Sprachnotizen:
        • Trage eine Sprachnotiz zum Termin ein.
        • Spiele Sprachnotiz ab.
        • Nimm eine Sprachnotiz zum Termin auf.
      • Finden weiterer möglicher Formulierungen; das Eintragen ist in den meisten Fällen wenig problematisch.
      • Notiz: Die Anzahl der möglichen unterschiedlichen Formulierungen eines Befehls dürfte die Usability steigern
      • Es ist unpraktisch immer den gesamten Befehl anzugeben, es sollte auch möglich sein nur die Daten anzugeben und die Applikation ordnet dies als Daten zum im Moment aktiven Befehl zu.
      • Diskurs ist noch nicht implementiert, das heißt, ich müsste selbst eine Technik einfügen, die mir Diskurs für wenigstens meine Applikation ermöglicht (pragmatisch). Oder besser einen allgemeinen Diskursmanager implementieren (besser). Ideen sind zwar vorhanden, aber wie viel Zeit das benötigt ist unklar.
    2. Personalisierung:
      • Wenn Personen wie "mein Vater" oder "Peter" genannt werden, so sollen deren Bezeichner (als Name oder Alias) im Adressbuch gefunden werden und dann z.B. das eingetragene Foto bei der Terminansicht angezeigt werden. Das Auffinden stellt kein Problem dar, solange die Bezeichner eindeutig sind. Bei Mehrdeutigkeiten muss der User in einem Dialog aktiv werden. Wie schwierig dies ist, ist ungewiss, die Implementierung könnte aber 2-4 Tage dauern.
      • Es sollte möglich sein auf das Adressbuch per Klick verwiesen zu werden.
  3. Ausarbeiten der Userbefragung
    • Auflisten der Interaktionsmöglichkeiten, teilweise klassifiziert (mehrere Interaktionsmöglichkeiten für eine Aktion)
    • Entscheiden über die Zielgruppe, Finden geeigneter Testpersonen
    • Bestimmen der Eigenschaften, die zu untersuchen sind (Ideen: nötige Userinteraktionen für eine Operation, tatsächliche Userinteraktionen, Intuitivität, erwarteter Funktionsumfang, erwartete Spracheingabe; Ziel: Applikation verhält wie vom User erwartet)
    • Ausarbeiten der Testfragen
  4. Durchführen, Auswerten der Usability Tests; Anpassungen an der Applikation
    • Testperson füllt Fragebogen aus, verwendet Applikation beaufsichtigt - Interaktionen werden dokumentiert
    • Die Fragebögen werden voraussichtlich auch Freitextfelder enthalten
    • die Auswertung betrifft die verschiedenen Interaktionen nach Kategorien - daraus ergeben sich dann hoffentlich das gewünschte Verhalten der Applikation und die Trefferquoten bei der Spracheingabe
    • die Grenzen der Applikation von der Auswertung ableiten
    • inwieweit hat das Basissystem im Weg gestanden bei der Verbesserung der Usability, Dinge erschwert; wo war es Ursache von Fehlern
    • wie lässt sich die Usability des Basissystems daraus bewerten ?
  5. Verfassen der Arbeit
    • Rekapitulieren, Entwerfen, Formulieren, Korrigieren, Mit den Anforderungen abgleichen

wöchentlicher Status

vor Woche 0

Woche 1 (KW 05)

Aktivitäten

Ergebnisse

Nächste Schritte

Probleme

Woche 2 (KW 06)

Aktivitäten

Nächste Schritte

Probleme

Woche 3 (KW 07)

Aktivitäten

Nächste Schritte

Probleme

Woche 4 (KW 08)

Aktivitäten

Nächste Schritte

Woche 5 (KW 09)

Aktivitäten

Nächste Schritte

Woche 6 (KW 10)

Aktivitäten

Nächste Schritte

Woche 7 (KW 11)

Aktivitäten

Ergebnisse