You are here: SE » ThesesHome » ThesisEvalPersCal

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:
  • Erfüllt die Oberfläche die Erwartung eines Nutzers ?
    • Gegeben: ein User, Views und eine Zielaktion: Wie würde der User die Aktion ausführen ?
    • Gegeben: ein User, ein View ein Aktion: Was erwartet der User nach der Aktion ?
    • ..
  • Wie schnell reagiert das System ?
  • Welche Features wünschen sich Nutzer ? Welche gibt es ?
  • Wieviele elementare Aktionen eines Nutzers sind nötig, um eine Operation (wie ein Modellevent einfügen) auszuführen, die die Applikation unterstützt ?
  • Wie lange braucht ein neuer Nutzer für eine Operation der Applikation ?
  • Welche Grenzen hat die Applikation ?

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

  • Nachvollziehbarkeit aller eigenen Schritte und Entscheidungen, Transparenz
  • klare Unterscheidung zwischen eigener und fremder Arbeit
  • offener Umgang mit Problemen und Schwächen

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
  • Voraussetzungen:
    • fertig ausgearbeitete Userbefragung
    • vorhandene Räumlichkeit (ein Stellplatz für den Laptop, WLAN Internetzugang, etwas Ruhe und etwa 1.5 Stunden Zeit pro User)
    • Testdaten für den Test
    • ein eingestelltes Testgerät
    • mindestens 5 Testuser
    • die Applikation im Testzustand (mit Logging und zumindest oberflächlich für die Tests bereit)
    • eine Liste mir bekannter Schwächen und Probleme (aus technischer und Usersicht)

Ziel 2: Durchführen der Userbefragungen, Auswerten 3., 4. Februarwoche
  • Notiz: Die Auswertung der ersten Iteration und die Erfolge in der Anpassung der Applikation lassen Rückschlüsse auf die Usability des DFKI Frameworks zu
  • Voraussetzungen:
    • Durchführen der Userbefragungen, Auswerten und Anpassungen an der Applikation I, die entsprechenden Änderungen, ausreichend Bedarf (sehr wahrscheinlich)

Ziel 3: Die Schriftfassung der Arbeit
  • Voraussetzungen:
    • Die Userbefragungen, deren Auswertungen und die Anpassungen an der Applikation
    • Die Textfassung der Einführung (Kapitel 0)

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

  • Applikation geschrieben
  • in Nutzbarkeit und deren Evaluation eingearbeitet
  • Studie für Nutzertests mit Befragung ausgearbeitet (SUS als Grundlage)
  • Nutzer für erste Iteration gefunden, für zweite Iteration teilweise
  • einen Nutzertest durchgeführt

Woche 1 (KW 05)

Aktivitäten

  • Nutzertest 2 erledigt
  • Struktur der Arbeit geschrieben und Inhalt umrissen
  • in Methoden zur Problemklassifikation eingelesen
  • einen 3. Nutzer akquiriert, nachdem ein anderer sich nicht mehr gemeldet hatte
  • Nutzertest 3 und 4 erledigt

Ergebnisse

  • siehe Aktivitäten

Nächste Schritte

  • Auswertung der ersten 4 Nutzertests
  • hoffen auf einen 5., allerdings bleibt keine Zeit mehr für aktive Akquise
  • kümmern um einen oder zwei weitere potenzielle Nutzer für 2. Iteration (ab diesem Zeitpunkt sind 2 sicher)

Probleme

  • andere Menschen…
  • Zeitmangel in der bevorstehenden Umarbeitung der Applikation, sodass vielleicht nur 2 bis 4 Probleme erfolgreich gelöst werden können
  • Ich sehe, dass es sehr noch sehr viele Methoden gibt, die sich anwenden ließen, leider besteht keine Möglichkeit dies zu tun

Woche 2 (KW 06)

Aktivitäten

  • Usability Probleme identifiziert (knappe 41)
  • Probleme in 7 funktionale Gruppen eingeteilt, Fatalität zugeordnet
  • Lösungsideen gefunden und notiert
  • 14 Problemlösungen zur Implementierung ausgewählt
  • zumindest eine Zusage zu einem Usability Test eingeholt (es bleiben 2 sicher und 2 Kandidaten)
  • Zweitgutachter-Zusage erhalten

Nächste Schritte

  • etwa 10 Problemlösungen implementieren, dazu diese exakt erarbeiten
  • Anzahl der Usability Testkandidaten auf 4 absichern
  • Dokumentation der Applikation und der angewendeten Änderungen

Probleme

  • es kann sein, dass selbst von den 14 gewählten (schwersten) Probleme nicht alle lösbar sind oder zu viel teilweise Zeit erfordern
  • vielleicht waren 4 Nutzer nicht genug, um das Zufriedenheitsmaß ausreichend abzusichern; allerdings wären dann auch wesentlich mehr nötig gewesen
  • es gibt zu viele Probleme, als dass sie in der Zeit lösbar wären; die Applikation war nie mit Usability-Wissen entwickelt worden

Woche 3 (KW 07)

Aktivitäten

  • 6 Probleme bearbeitet
  • nach Update für Framework gefragt, weil es doch massive Performance-Probleme gegeben hat
  • alle 4 Testkandidaten mit Terminen versorgt

Nächste Schritte

  • weitere Probleme bearbeiten
  • Framework-Update durchführen

Probleme

  • GUI-Schwächen lassen sich mit meinem Wissen nicht unbedingt lösen
  • das Update muss nicht zwangsläufig funktionieren und kann viel Zeit kosten

Woche 4 (KW 08)

Aktivitäten

  • noch etwa 3 Probleme bearbeitet
  • Update erfolgreich, trotzdem noch leichte Performance-Schwächen; Hauptursache allerdings entfernt
  • kleinere Feinarbeiten durchgeführt (einige Schönheitsfehler beseitigt)

Nächste Schritte

  • die 4 Usability-Tests machen
  • Auswerten
  • Arbeit schreiben

Woche 5 (KW 09)

Aktivitäten

  • Tests sind vollständig erledigt
  • Probleme identifiziert, bewertet und in wieder aufgetretene, gelöste und neue eingeteilt
  • SUS - Auswertung gemacht und die Entwicklung als zufriedenstellend betrachtet

Nächste Schritte

  • Schreiben der Arbeit
  • Überarbeiten des Geschriebenen
  • Abgabe

Woche 6 (KW 10)

Aktivitäten

  • Arbeit in Erstversion geschrieben
  • Zur Revision an Frau Schenk übergeben

Nächste Schritte

  • Überarbeiten des Geschriebenen
  • Abgabe

Woche 7 (KW 11)

Aktivitäten

  • Arbeit überarbeitet
  • Arbeit gedruckt, gebunden und abgegeben

Ergebnisse

  • eine fertige Arbeit in Version 1
  • es wurden nicht alle erhobenen Daten aus der Studie verwendet (Grund: fehlende Erfahrung bei der Planung)