Masterarbeit: Verbesserung der Action-Awareness in Saros


Wir bearbeitet von: Damla Durmaz

Abgabedatum: 24-10-2014

Zusammenfassung

"Action-Awareness" bezeichnet das Verstehen der Aktivitäten und Absichten der anderen Teammitglieder. Dieses Verständnis kann auf unterschiedlichen Ebenen bestehen, entweder ganz allgemein "der andere ist in einer anderen Anwendung" oder sehr detailliert "der andere macht gerade ein Refactoring in Datei X in Zeile Y". Saros überträgt Action-Awareness-Informationen aus dem Code-Editor (wer tippt gerade was und wo); Aktivitäten, die jedoch in anderen Anwendungen, anderen Eclipse Views als dem Editor oder Dialogen (Suche, Refactoring etc.) stattfinden, sind für die anderen Teammitglieder nicht transparent.

(Siehe ursprüngliche Ausschreibung)

Durchzuführende Schritte / Aufgaben

  • Literaturrecherche
    • Groupawareness
    • Workspace Awareness
    • Action Awareness
    • Grounded Theory
  • Einarbeitung in die theoretischen Grundlagen
  • Erarbeitung des Grundwissens für die Analyse der Videos (Grounded Theory)
  • Analyse der Videos
    • Ansehen der Videos
    • Gefühl dafür entwickeln, welche Stellen für mich wichtig sind
    • Bedarf für Action Awareness Mechanismen erkennen
  • Erarbeitung eines Konzepts
    • An welchen Stellen liegt Bedarf vor?
    • Was wäre dort wichtig, zu übertragen?
    • Was möchte ich übertragen?
    • Wie kann man das begründen?
    • (Grob) Was kann man technisch umsetzen?
  • Einarbeitung in die wichtigen Stellen vom Saros Code
    • Welche Informationen kann ich in Eclipse abgreifen?
    • Ist mein Konzept technisch realisierbar?
  • Anpassung des Konzepts
    • Überarbeitung des Konzepts anhand des Wissens der technischen Realisierbarkeit
    • Überlegung eines Mechanismus zur Darstellung der Action Awareness Mechanismen
  • Implementierung des Konzepts
  • Evaluation
    • Überlegung eines Konzepts für Nutzertests
    • Durchführung der Nutzertests
    • Analyse der Nutzertests
    • Einarbeitung des Feedbacks oder Teile davon
  • Überlegung weiterführender Arbeiten

Meilensteinplanung

Nr. Status Tage days KW Ziel target Prozess wrench
Organisatorische Vorarbeit
1 DONE 1 02 Über offene Themen der AG Klarheit verschaffen abgeschlossen
2 DONE 6 02 Finden eines Themas abgeschlossen
3 DONE 1 03 Organisatorisches erledigen (Accounts anlegen, Mailinglisten abonnieren) abgeschlossen
4 DONE 1 03 Mit Saros vertraut machen (Installation, First Steps Guide) abgeschlossen
5 DONE 10 03-06 Alter Meilensteinplan (verworfen) verworfen
6 DONE 1 07 Wiki-Seite anlegen und Meilensteinplan entwickeln abgeschlossen
7 DONE 2 07 QDA-Software raussuchen und einarbeiten abgeschlossen
Literaturrecherche und Exposé
8 DONE 10 09-10 Literatur zum Thema "Action Awareness" lesen abgeschlossen
9 DONE 9 11-12 Literatur zum Thema "Grounded Theory" lesen abgeschlossen
10 DONE 1 12 Erste Version des Exposés erstellen abgeschlossen
11 DONE 1 13 Feedback zum Exposé einpflegen abgeschlossen
Erste Analyse und erste Ideen
12 DONE 5 13 Erste Analyse der Videos abgeschlossen
13 DONE 5 14 Ersten Konzeptentwurf erarbeiten abgeschlossen
14 DONE 4 15 Grobes Einarbeiten in Saros (Ist mein Konzept überhaupt generisch technisch realisierbar?) abgeschlossen
15 DONE 1 15 Ergebnisse mit Julia besprechen abgeschlossen
Gliederungsentwurf und Einschätzung der Arbeitspakete
16 DONE 1 16 Gliederung erstellen abgeschlossen
17 DONE 1 16 Gliederung mit Julia besprechen abgeschlossen
18 DONE 1 16 Exposé fertigstellen abgeschlossen
19 DONE 1 16 Feedback zum Exposé einarbeiten abgeschlossen
20 DONE 5 17 Verwandte Arbeiten recherchieren offen
Antrittsvortrag und Anmeldung
21 DONE 1 17 Vortrag in BSE halten abgeschlossen
22 DONE 1 17 Feedback des Vortrags einarbeiten abgeschlossen
23 DONE 1 17 Anmeldung der Masterarbeit abgeschlossen
24 DONE XX XX Theoretische Grundlagen speziell für die Arbeit erarbeiten (Recherche, Analyse) offen
Erster Monat (24.04.2014 - 24.05.2014)
25 DONE XX 20 Einarbeitung des Feedbacks zur korrigierten Fassung des Exposés abgeschlossen
26 DONE XX 20 Einarbeitung des Feedbacks zum Konzept für den ersten Nutzertest offen
27 DONE XX 20 Recherche zur technischen Umsetzung des im Nutzertest-Konzept vorgestellten Prototyps abgeschlossen
28 ALERT! XX 21 Implementierung des Prototyps für die Nutzertests geschlossen
Zweiter Monat (25.05.2014 - 24.06.2014)
29 ALERT! XX 22 Implementierung des Prototyps für die Nutzertests geschlossen
30 ALERT! XX 23 Vorbereitung des Nutzertests (Technik, Adobe Connect, Termin für Nutzer finden usw.) geschlossen
31 ALERT! XX 24 Durchführung der Nutzertests geschlossen
32 ALERT! XX 25 Analyse der Nutzertests geschlossen
33 ALERT! XX 25 Implementierung des Feedbacks bzw. Anpassung des Prototyps geschlossen
Dritter Monat (25.06.2014 - 24.07.2014)
35 DONE XX 26 Start Prototyp Implementierung (TestRunListener) Review wird eingearbeitet
36 DONE XX 26 Aufgabenstellung überlegen: Was will ich sehen? Was will ich wissen? abgeschlossen
37 DONE XX 27 (Fortführung) Aufgabenstellung überlegen: Wodurch wird was sichtbar? abgeschlossen
38 REFACTOR XX 27 (Fortführung) Aufgabenstellung überlegen: Kontakt mit Holger wegen Aufgabenstellung aufnehmen in Bearbeitung
39 DONE XX 27/28 (Fortführung) Prototyp Implementierung (IQueryListener) abgeschlossen
40 DONE XX 28 (Fortführung) Prototyp Implementierung (IRefactoringExecutionListener) Review wird eingearbeitet
41 DONE XX 28 Interviewleitfaden überlegen abgeschlossen
42 DONE XX 29 (Fortführung) Prototyp Implementierung (Erzeugungsdialog, Listener oder Extension?) abgeschlossen
Vierter Monat (25.07.2014 - 24.08.2014)
43 DONE XX 30 Nutzertest vorbereiten (Technik, Treffen vereinbaren, Nutzer kontaktieren usw.) abgeschlossen
44 DONE XX 31 Technik aufsetzen und Nutzertest durchführen abgeschlossen
45 DONE XX 31 Nutzertest Ergebnisse analysieren abgeschlossen
46 DONE XX 31 Ergebnisse des Nutzertests in einem Zwischenvortrag im BSE-Seminar präsentieren (ist noch nicht gesetzt!) abgeschlossen
47 DONE XX 32 Feedback des Nutzertests einarbeiten abgeschlossen
48 DONE XX 33 (Fortführung) Feedback des Nutzertests einarbeiten abgeschlossen
Fünfter Monat (25.08.2014 - 24.09.2014)
49 ALERT! XX 34 Zweiten Nutzertest vorbereiten geschlossen
50 ALERT! XX 35 Zweiten Nutzertest durchführen geschlossen
51 ALERT! XX 36 Feedback des zweiten Nutzertests einarbeiten geschlossen
52 ALERT! XX 37 (Fortführung) Feedback des zweiten Nutzertests einarbeiten geschlossen
Sechster Monat (25.09.2014 - 24.10.2014)
53 DONE XX 38 Implementierung des zweiten Prototyps abgeschlossen
54 DONE XX 39 Implementierung des zweiten Prototyps abgeschlossen
55 DONE XX 40 Schreiben angeschlossen
56 REFACTOR XX 42 Schreiben in Bearbeitung
57 NEW XX 43 Print und Abgaben offen
Danach
58 NEW XX XX Abschlusspräsentation offen
59 NEW XX XX Übergabe offen
60 NEW XX XX Löschen der Videos offen


Wöchentlicher Status

Woche 1, 2 (KW 03, 04)

Aktivitäten

  • 1. Treffen mit Julia (15.01.2014)
  • Paper ”A Descriptive Framework of Workspace Awareness for Real-Time Groupware” angelesen
  • Überblick über die Saros Webseite gemacht
  • Paper ”Saros: An Eclipse Plug-in for Distributed Party Programming” angelesen
  • Saros Plugin installiert und mit Freund getestet
  • Kapitel First Steps im Saros Developer Guide durchgearbeitet
  • Erster Überblick über das Thema verschafft
  • Registriert im FosWiki
  • Gerrit Account angelegt (Username: dildik)
  • Erster Umgang mit Gerrit in Form eines DRAFTs
  • Anmeldung in Dpp- und Saros-Mailingliste

Resultate

  • Erster Eindruck über das Thema

Nächste Schritte

  • Weiterhin Überblick über das Thema verschaffen
  • Literaturrecherche

Probleme

  • Finde viel Literatur zum Oberthema, aber sehr wenig zu speziell meinem Thema bzw. meiner Problematik

Woche 3, 4 (KW 05, 06)

Aktivitäten

Resultate

  • Thema und Ziel der Arbeit klarer
  • Grobe Idee des Ablaufs der Arbeit
  • Erster Überblick über das Thema Grounded Theory

Nächste Schritte

  • Klären, ob grober Verlauf in Durchzuführende Schitte/Aufgaben richtig erfasst wurde
  • Fragen nach den Videos
  • Wissen über Grounded Theory sehr theoretisch und oberflächlich, daher nach realen Beispielen suchen (evtl. findet sich was auf Youtube)

Probleme

  • Wissen über Grounded Theory sehr theoretisch und oberflächlich. Ich möchte unbedingt reale Beispiele sehen. Ich erhoffe mir, bei meiner Literaturrecherche auf weitere Beispiele zu stoßen

Woche 5, 6 (KW 07, 08)

Aktivitäten

  • 3. Treffen mit Julia (11.02.2014)
  • Masterarbeitsseite angelegt:
    • Zusammenfassung
    • Durchzuführende Aufgaben (aus dem Exposé entnommen)
    • Wöchentlicher Status
    • Masterarbeitsseite auf der ThesisHome Seite hinterlegt
    • Meilensteinplanung
  • Paper "Saros: An Eclipse Plug-in for Distributed Party Programming" gelesen und zusammengefasst
  • Beschreibung von Saros für die Ausarbeitung fertiggeschrieben
    • Einsatzszenarien
    • Technischer Überblick (obiges Paper + Webseite)
  • QDA-Software rausgesucht:
    • MAXQDA auf dem Mac eingerichtet und getestet
    • MAXQDA und Atlas.ti auf Windows-Rechner eingerichtet zum Vergleich
    • Muss leider für MAXQDA auf dem Mac alle Videos in mov konvertieren (Kopien der Videos)
  • Paper "Evaluating Awareness Information in Distributed Collaborative Editing by Software-Engineers“ zu Ende gelesen
  • In den Reviewprozess von Gerrit eingearbeitet
  • Zwei simple Reviews durchgeführt, um mich mit der Gerrit-Oberfläche und seinen Funktionen vertraut zu machen
  • Liste erstellt mit allen Awareness-Mechanismen, die es in Saros gibt

Resultate

Nächste Schritte

  • Werde nach dem Treffen eine neue Baseline ziehen
  • Nächsten Schritte hängen von der Baseline ab
  • Möchte alle wichtigen Paper zu Action Awareness lesen

Probleme

  • Abgrenzung der Arbeit bisher kaum möglich, da neben des Studiums von Grundlagen auch die Recherche nach verwandten Arbeiten dafür nötig ist und ich das noch nicht habe
  • Habe mich entschieden, beim ersten "Schauen" erst einmal alles altmodisch mit einer Tabelle mit Zeit usw. zu notieren, da zurzeit der Overhead mit der Konvertierung und dem langsamen Importieren auf dem Mac zu hoch ist. Falls ich feststelle, dass MAXQDA Mehrwert bietet, werde ich beim zweiten "Schauen" es verwenden

Woche 7, 8 (KW 09, 10)

Aktivitäten

  • 4. Treffen mit Julia (26.02.2014)
  • Alten Meilensteinplan verworfen
  • Neue Baseline gezogen: Meilensteinplan aktualisiert
  • MindMap erstellt, in dem ich alle wichtigen Sachen aus den Gesprächen zusammengetragen habe, die helfen, um das Thema zu erfassen (wird stets aktualisiert)
  • Paper "A Descriptive Framework of Workspace Awareness for Real-Time Groupware" gelesen
  • Paper "Distributed Pair-Programming can work weil an is not just Distributed Pair-Programming" gelesen
  • Paper "Workspace Awareness for Groupware" gelesen
  • Paper "Workspace Awareness in Real-Time Distributed Groupware- Framework, Widgets, and Evaluation" gelesen
  • Paper "Awareness and Coordination in Shared Workspaces" gelesen
  • Paper "Effects of Awareness Support on Groupware Usability" gelesen
  • Paper "Awareness in Collaborative Systems" gelesen
  • Paper "Understanding Tools and Practices for Distributed Pair Programming" gelesen
  • Paper "Distributed-Pair Programming can work well and is not just Distributed Pair-Programming" gelesen
  • Wichtigen Grundlagen aus den Papern zusammengefasst
  • Nach Literatur über Action Awareness gesucht

Resultate

  • Zusammenfassung aller wichtigen Inhalte aus den Papern
  • MindMap
  • Neue Baseline

Nächste Schritte

  • Bearbeitung des nächsten Meilensteins: Einarbeitung in Grounded Theory
  • Lesen des Buches "Patterns for computer-mediated interaction"
  • Lesen des Buches "Grounded Theory: Grundlagen qualitativer Sozialforschung"
  • Fertigstellung der ersten Version der Gliederung
  • In die Daten schauen - Erste Analyse der Videos

Probleme

  • Es gibt tatsächlich wenig Literatur zu Action-Awareness. Viel mehr gibt es Literatur zu Workspace Awaraeness. Ich frage mich, was ich daher in meiner Masterarbeit als "Verwandte Arbeiten" schreiben könnte.
  • Mir ist klar, dass es sich bei meiner Art der "Verbesserung" um rein textuelle Informationen handelt. Allerdings gibt es auch Beispiele, wo Aktivitäten mittels Telepointern oder sogar Abbildungen in Radariews dargestellt werden. Inwieweit ist da die Abgrenzung?

Woche 9, 10 (KW 11, 12)

Aktivitäten

Resultate

Nächste Schritte

  • Beobachtungen besprechen
  • Beobachtungen ausarbeiten
  • Feedback zur ersten Version des Exposés einholen

Probleme

  • Teilweise frage ich mich, wie ich bestimmte Beobachtungen erklären könnte, u.a. wäre es wirklich hilfreicher für die Personen, wenn sie Informationen übertragen bekommen hätten? (z.B. beim Refactoring)

Woche 11, 12 (KW 13, 14)

Aktivitäten

  • 6. Treffen mit Julia (25.03.2014)
  • Auslagern meiner Beobachtungsnotizen in eine Numbers-Tabelle, um
    • Spalten, die jeweils Kategorien darstellen, filtern zu können
    • Jede Beobachtung einer Kategorie/Unterkategorie/Unterunterkategorie zuzuordnen
    • Mein Konzept zu verfeinern
  • Erstellung des ersten Konzepts
  • Kurzes 7. Treffen mit Julia (Zwischentreffen), um Fragen zum Vortrag zu klären
  • Begründung des Konzepts erarbeitet
  • Exposé geschrieben
  • Gliederung fertiggestellt

Resultate

Nächste Schritte

  • Besprechung der Vortragsfolien mit Julia
  • Vorbereitung auf den Vortrag

Probleme

  • An manchen Stellen sehe ich Bedarf in den Videos, finde sie aber persönlich sinnlos
  • ODER an manchen Stelle sehe ich in den Videos keinen Bedarf, finde aber selbst die Informationen ganz nützlich
  • An solchen Stellen weiß ich nicht, was eine gute Entscheidung und Begründung wäre
  • Recherche zur technische Realisierbarkeit muss ich noch beenden

Woche 13, 14, 15 (KW 15, 16, 17)

Aktivitäten

  • 8. Treffen mit Julia (08.04.2014)
  • Feedback zu den Vortragsfolien einarbeiten
  • Für den Vortrag vorbereiten
  • Vortrag gehalten
  • Abschnitt Durchzuführende Schitte/Aufgaben aktualisiert
  • MindMap aktualisiert
  • Recherche zur Erfassung von Informationen über Dialoge
  • Weiteres TreeElement im SarosRoster implementiert, welches geöffneten Dialoge anzeigt
  • Recherche zur Erfassung von weiteren Informationen über Dialoge (also mehr als nur den Dialogtitel)
  • Anzeige der Dialog-Titel in der Statusleiste von Eclipse und im MutliUserChat
  • Anzeigeort der Dialog-Informationen ist nun konfigurabel in der Saros-Properties-Datei
  • Anzeige der aktivierten und deaktivierten Views in der Konsole
  • Aktueller Stand: Implementierung der Anzeige der View-Titel an den drei Orten: Chat, Roster, Statuslinie

Resultate

  • Vortragsfolien (werden gerade mit dem Feedback-Material aktualisiert)
  • Implementierung der Dialog-Anzeige im Gerrit
  • Beginn der Implementierung der Anzeige der View-Informationen in der Statusleiste, im Roster und im Chat

Nächste Schritte

  • Beenden der Anzeige der View-Informationen
  • Bisherigen Ergebnisse und Erkenntnisse niederschreiben
  • (Planung des ersten Nutzerexperiments)

Probleme

  • Erste Analyse für Erfassung aller Informationen ergibt, dass ich z.B. das Name-Feld eines Erzeugungsdialoges nicht über die API erfassen kann. Weitere Recherche daher nötig.
  • Eine NullPointerException, die durch das Saros Plugin (frischt eingerichtet) geworfen wird, erschwert das Testen meiner Implementierung (gelöst)
  • Bisher kriege ich zu einem geöffneten Dialog nur den Titel. Ich recherchiere jetzt, ob mehr möglich ist und ich später bei Views dieselben Möglichkeiten habe.
  • Schwierigkeiten bei der Implementierung der Anzeige der View-Informationen, da mir noch nicht bewusst ist, wie stark sich meine bisherige Implementierung ändern wird.

Woche 16, 17 (KW 18, 19)

Aktivitäten

Resultate

Nächste Schritte

  • Recherche zur Implementierung des Prototyps
  • Quellen für Action Awareness Informationen zum Vokabular zuordnen (Extensions, Events, …)
  • Implementierung des Prototyps
  • Konzept mit Recherche-Ergebnissen überarbeiten (siehe dabei auch DPP-Sitzungsablauf-Mail von Julia)

Probleme

  • Die Entwicklung des Konzepts für den ersten Nutzertest hat länger gedauert als geplant, da ich noch in anderen Abschlussarbeiten der AG nach Beispielen recherchiert habe.
  • Den Meilensteinplan habe ich aktualisiert, leider ist es jedoch manchmal schwierig, so weit und der Zukunft schon zu planen. Ich werde daher im Laufe der Arbeit den Meilensteinplan nach dem Prinzip des Rolling Wave Plannings diesen stets überarbeiten und aktualisieren.

Woche 18, 19, 20 (KW 20, 21, 22)

Aktivitäten

  • 10. Treffen mit Julia (13.05.2014)
  • Change 1515 (Anzeige von Dialog- und View-Titeln) wird weiterhin im Review-Prozess bearbeitet
  • Durchlesen der Diplomarbeit von Frank Schlesinger
  • Herunterladen und Studieren der Codes von Frank Schlesinger
  • An meinem Patch (Anzeige von nur Titeln zu offenen Dialogen+Views) gearbeitet
  • Feedback zum Exposé eingearbeitet
  • Reviews durchgeführt
  • Bugs im eigenen Patch behoben
  • Verhalten bei geschlossenen Dialogen/Views angepasst, vor allem verwirrt es nicht mehr, wenn man im Editor ist oder verschachtelte Dialoge nutzt

Resultate

  • Recherchen zum ersten Ansatz abgeschlossen
  • Einige Probleme in meinem Patch behoben
  • Herausgefunden, dass ich durch Listener-Mechanismus zwar nicht an alle Informationen rankomme, aber in einigen Fällen an mehr als ich dachte (also an mehr als nur den Titel --> werde ich noch zusammenfassen und Julia eine Zusammenfassung senden)
  • Exposé

Nächste Schritte

  • Während ich auf die Reviews warte, über den Extension-Mechanismus recherchieren
  • Die Ergebnisse der Recherchen zusammenfassen und diese Julia senden, um ihr zu zeigen was alles potentiell möglich ist und wie ich mir vorstelle, wie der Prototyp für den ersten Nutzertests aussehen kann

Probleme

  • Ich habe nachdem ich die Recherche zum ersten Ansatz (den von Frank) beendet habe, statt mir den Extension Mechanismus anzusehen, am Patch weitergearbeitet. Dort habe ich die neusten Kommentare eingearbeitet und versucht, einige Bugs zu beheben (Franz hatte einige festgestellt und diese möchte ich unbedingt beheben, da sie grundlegend für das Feature sind). Nicht alle konnte ich lösen und das hat mich mehrere Tage gekostet. Dadurch kam ich nicht dazu, mir den Extension-Mechanismus genauer anzusehen und auch nicht das Nutzertest-Konzept zu überarbeiten. Insgesamt hat das dazu geführt, dass ich im Zeitplan hinterherliefe.

Woche 22, 23 (KW 24, 25)

Aktivitäten

  • 11. Treffen mit Julia (10.06.2014)
  • Mehrere Patch Sets hochgeladen
  • Text zu Listenern zu Ende geschrieben (mit einigen Infos aus einem Buch über Eclipse Plug-Ins erweitert)
  • Recherchiert über Extension Mechanismus
  • Recherche zur technischen Realisierbarkeit des Prototypen beendet in Form eines Textes
  • An meinem Patch weitergearbeitet

Resultate

  • Bugs gelöst
  • Tests fertig geschrieben
  • Text: Recherche zur technischen Realisierbarkeit des Prototypen

Nächste Schritte

  • Prototyp weiter implementieren
  • Aufgabenstellung für den ersten Nutzertest überlegen
  • Interviewleitfaden überlegen

Probleme

  • Zurzeit habe ich keine Probleme, was Inhalt oder Programmierung betrifft
  • Ich liege nur hinter dem Meilensteinplan, weil (wie in den vorigen Statusmails beschrieben) ich unerwartet länger für die Patches gebraucht habe und so nicht zur Recherche kommen konnte.
  • Der Test schlug leider immer fehl, da irgendein inkonsistenter Zustand aufgetreten ist. Franz und ich habe stundenlang gedebuggt. Auch ich habe das Wochenende über gedebuggt. Dadurch habe ich natürlich eine Woche Zeit verloren und mich am Ende dazu entschlossen, den Bug im test ersteinmal offen zu lassen. Zum Glück hat ein Reviewer den Fehler gefunden, und zwar lag es nicht an meiner Implementierung, sondern am Test an sich. Da ich am Mac teste, entsteht durch einen Fensterwechsel ein inkonsistenter Zustand zwischen den Workspaces und dieses Problem wurde von einem anderen Reviewer behoben.

Woche 24 (KW 26)

Aktivitäten

  • 12. Treffen mit Julia (24.06.2014)
  • Mein Patch wurde angenommen. Ich warte nun darauf, dass es gemerged wird (einzweites +1 fehlt noch)
  • Patch wurde gemerged
  • Meilensteinplan angepasst
  • Zustandsdiagramm für aktuellen Prototyp entwickelt
  • TestRunListener-Implementierung begonnen und als Draft hochgeladen
  • Kontakt mit Holger bzgl. Aufgabenstellung aufgenommen, Treffen am Dienstag, den 1.7.2014 geplant
  • Sitze imemrnoch aufgrund eines Problems am TestRunListener
  • Habe mit dem IQueryListener begonnen, kann jedoch nicht weitermachen, da es voms elben Problem betroffen wäre wie der TestRunListener
  • Nutzertestkonzept erstellt

Resultate

  • Grobe Anzeige von Testläufen
  • Kontakt mit Holger aufgenommen

Nächste Schritte

  • Draft weiterbearbeiten und Problem beheben
  • Interviewleitfaden entwickeln
  • Aufgabenstellung überlegen

Probleme

  • Problem im Draft noch vorhanden, Threading womöglich als Ursache
  • Kenne eine Lösung, endet aber als Spinning und ich kann mir nicht vorstellen, dass diese Lösung im Review durchgehen würde

Woche 25 (KW 27)

Aktivitäten

  • IQueryListener weiterbearbeitet
  • Treffen mit Holger gehabt, wo wir kurz Aufgaben gebrainstormt haben
  • Selbst einige Aufgabenmöglichkeiten recherchiert
  • Inhaltsverzeichnis aktualisiert
  • Habe währenddessen von Stefan Rossbach eine Idee vorgeschlagen bekommen, wie man das Problem gelöst werden könnte --> werde ich nun in KW 28 umsetzen und den IQueryListener entsprechend anpassen
  • Interviewleitfaden entwickelt

Resultate

Nächste Schritte

Probleme

  • Die bisherigen Ideen für die Aufgabenstellung eignen sich wenig. Das Treffen mit Holger war leider zu kurz, um intensiv zu brainstormen. Weiterer Mailaustausch hat nur bestätigt, dass die initialen Ideen diverse Probleme mit sich bringen.
  • Übrig geblieben ist eine mögliche Idee (Core-Verschiebung): Holger und ich wollten noch einen Termin diese Woche vereinbaren, wo er mir diese Idee vorstellen wird. Nur so kann ich einschätzen, ob diese Idee sinnvoll ist.

Woche 26 (KW 28)

Aktivitäten

  • 13. Treffen mit Julia (08.07.2014)
  • Reviews durchgeführt
  • Stefans Kommentare zur Lösung meines Bugs eingearbeitet und Patch hochgeladen, diesen (war ein Draft) dann veröffentlicht
  • IQueryListener Implementierung beendet und Entscheidung getroffen (siehe Probleme)
  • IRefactoringExecutionListener fertig implementiert (siehe Probleme) --> als Draft hochgeladen
  • Gedanken um Aufgabenstellung gemacht:
    • durch die Hinweise, die ich oben schon erwähnt habe, können sich die Anforderungen an die Aufgabenstellung evtl. ändern
    • Ich habe eine Anforderungsmatrix erstellt, in die ich bereits die beiden Aufgaben (Parser und Platforms) eingetragen habe
    • Holger hatte mir letztes Wochenende ein Treffen vorgeschlagen, aber noch nicht einen Termin genannt. Auf meine zweite Anfrage habe ich leider noch keine Antwort bzw. einen Terminvorschlag erhalten, sodass ich vermute, dass er keine Zeit hat. Ich werde per Mail versuchen, genauere Informationen zu seinem AUfgabenvorschlag zu erhalten.

Resultate

  • Ich habe die beiden oben genannten Features für den Prototypen fertig implementiert

Nächste Schritte

  • Ich überlege weiterhin wegen der Aufgabenstellung
    • Dazu schreibe ich Holger nochmal an
    • Frage, ob er mir seine Aufgabenstellung per Mail erklären kann, damit ich einschätzen kann, ob sie sich eignet
    • Werde ihm meine Gedanken zu meinen Ideen erklären
  • Ich implementiere den Meilenstein 42

Probleme

  • Bei der Implementierung des IQueryListeners bin ich auf massive Probleme gestoßen, weil die API an manchen Stellen einfach zu abstrakt beschreibt und ich erst durch die Implementierung (also außerhalb der technischen Recherche) feststellen konnte, was sie mir hergibt und was nicht
  • Bei der Implementierung des IRefactoringExecutionListener bin ich auf etwas gestoßen, was die API leider auch nicht hergab: Ich kriege nicht zum genauen Zeitpunkt mit, wenn jemand refactort, sondern kurze Zeit später, wenn das Refactoring ausgeführt wird. Noch früher ist technisch nicht möglich.

Woche 27 (KW 29)

Aktivitäten

  • Reviews durchgeführt
  • Review-Kommentare zum TestRunListener eingearbeitet
  • SonarQube wird für Pre-Commits eingesetzt und fügt bei Violations Kommentare in Gerrit hinzu: Um in Zukunft den Review-Prozess zu beschleunigen, habe ich SonarQube eingerichtet und werde ab jetzt, bevor ich etwas einchecke, es über meinen Commit laufen lassen, damit im Gerrit ich keine Einträge dazu bekomme
  • Zu meinem aller ersten Patch wurde ein Bug gemeldet, und zwar in der Anzeige der Informationen in der Statusleiste. Diesen habe ich behoben. Leider hat das viel Zeit gekostet, da der Bug nur auf dem Mac aufgetreten ist und ich ihn daher schwer debuggen konnte. Ich vermute zwar, dass die meisten Tester Windows oder Linux verwenden werden, aber ich wollte es nicht darauf ankommen lassen und konnte den Bug nicht unberührt lassen.
  • Review Kommentare zu meinen Patches eingearbeitet
  • Anzeige von Aktionen für Erzeugungsdialoge:
    • Die Extension liefert keine weiteren Informationen
    • Der IElementChangedListener liefert zwar das was gerade erzeugt wurde, aber nicht was eingegeben wurde
    • Was eingegeben wurde, kann man zwar ermitteln, das würde aber dann bei jedem Dialog anders aussehen
    • Um im Moment will ich nicht zu viele Speziallösungen einsetzen, da ich nicht genau weiß, was davon alles übrig bleibt
  • Treffen mit Holger per Skype: Diskussion über weitere Aufgaben (Apache CLI)
  • Bei der Einrichtung von CLI2 gab es einige Probleme und dazu gab es auch keine Beiträge im Issue Tracker oder bei Stackoverflow --> daher geht die Suche nach einer Aufgabenstellung weiter

Resultate

  • Ich habe Reviews eingearbeitet und weitere Bugs, die im Review sichtbar wurden, behoben --> stabilerer Prototyp
  • Prototyp erweitert

Nächste Schritte

  • Aufgabenstellung finalisieren
  • Nutzertest vorbereiten
    • Technik
    • Treffen vereinbaren
    • Nutzer kontaktieren usw.

Probleme

  • Wie oben beschrieben lieferte die Implementierung zur Anzeige der Erzeugungsdialoge nicht das was ich erwartet habe
  • Das ist aber auch eine Erkenntnis, die man erst bei der Implementierung bekommt
  • Nun bin ich am überlegen, ob ich anzeigen soll, was erzeugt wurde oder ob ich es wie beim alten belasse (siehe Beschreibung oben)
  • Da ich krank war, kam ich in Meilenstein 38 nicht so weit wie ich wollte (Aufgabenstellung ist noch unklar, siehe oben

Woche 28 (KW 30)

Aktivitäten

  • 14. Treffen mit Julia (22.07.2014)
  • Reviews durchgeführt
  • Aufgabenstellung vorbereitet:
    • Aufgaben
    • Codeschnipsel
    • Mails an Nutzer (Einladung)
  • Mails an Testnutzer gesendet
    • Ich habe keine Doodle Umfrage gemacht, weil Julias Einwand, dass das abschrecken könnte, sehr sinnvoll erschien
  • Name der erzeugten Datei wird nun übertragen (zurzeit noch Draft, stört aber den Nutzertest nicht)
  • Draft-Patch zur Anzeige der Refactorings habe ich nun gepublisht
  • Aufgabenstellung angepasst: Nicht mehr Anweisungsschritte, sondern nur noch grobe Hinweise, damit Nutzer selbstständiger die Aufgaben bearbeiten

Resultate

  • Aufgabenstellung definiert
  • Prototyp erweitert

Nächste Schritte

  • Technik usw. für den Test vorbereiten
  • Auf den Nutzertest vorbereiten (Interviewleitfaden proben, alles einmal durchspielen, …)
  • Nutzertest durchführen
  • Ergebnisse analysieren
  • BSE-Vortrag vorbereiten, wo ich Zwischenergebnisse vorstellen möchte

Woche 29 (KW 31)

Aktivitäten

  • Reviews durchgeführt
  • Git-Push-Problem zusammen mit Franz und Stefan behoben
  • Aufgabenstellung angepasst (verkürzt)
  • Mail an Testteilnehmer geschrieben
  • Hatte Probleme mit dem Erzeugen des Plugins
    • Plugin muss in den dropins Ordner
    • Führt zu Problemen, wenn bereits Saros installiert ist
    • Habe versucht, das mit Stefan zu beheben
    • Aber er hat am Ende auch festgestellt, dass man den Prototyp nur dann einfügen sollte, wenn Saros noch nicht installiert ist
    • Daher musste ich Aufgabenstellung anpassen
    • Und Nutzern schreiben, dass sie bitte kurz vorher eine frische Eclipse-Version bzw. eine ohne Saros runterladen sollen
  • Donnerstag: Erster Nutzertest hat stattgefunden (Arndt, Martin)
  • Donnerstag: Zweiter Nutzertest hat stattgefunden (Arsenij, Ferhat)
  • Beim Konvertieren der Videos gab es Probleme:
    • Konvertierung hat sehr sehr lange gedauert
    • Erst beim Gucken eines Videos am Ende habe ich gemerkt, dass beim Konvertieren meine Stimme nicht mit drin war
    • Ich musste also alles nochmal konvertieren
  • Ich habe schonmal erste Tendenzen feststellen können:
    • Drei Leute fanden den Chat am Besten, einer von diesen hat sogar noch eine eigene View vorgeschlagen
    • Einer fand die Session Overview am besten

Resultate

  • Ich habe die ersten beiden Nutzertests durchgeführt
  • Ich habe sammeln können, inwieweit der Prototyp nützlich ist und was verbessert werden kann
  • Erste Tendenzen, bin mir aber noch bei nichts sicher

Nächste Schritte

  • Die Videos und Interviews zu Ende analysieren
  • Schauen, ob ich einen weiteren Test benötige und diesen evtl. arrangieren

Woche 30 (KW 32)

Aktivitäten

  • Reviews durchgeführt
  • Ein kleines Tutorial zur Erstellung eigener Eclipse-Views gelesen
    • Da mit Betreuerin noch nicht abgestimmt ist, ob wirklich eine neue View eingeführt wird, habe ich das nicht intensiv gelesen und probiert
  • Ergebnisse der Nutzertests zusammengefasst (damit ich in der Schreibphase nicht nur kurze Notizen habe)
  • Masterarbeitstext geschrieben

Resultate

  • Ich habe die Ergebnisse zusammengefasst
  • Ich habe weiter Text geschrieben (gibt ein gutes Gefühl :→)

Nächste Schritte

  • Mit Betreuerin absprechen, wie es mit der Implementierung weitergeht
    • eigene View?
    • Welche Probleme stehen in der Zukunft an, wenn ich Chat nutze?
    • Sind noch weitere Tests nötig, obwohl ich eine Tendenz schon sehe?
  • Implementierung des Feedbacks

Woche 31 (KW 33)

Aktivitäten

  • Reviews durchgeführt
  • Mail an Franz geschrieben
  • Franz hat sein OK gegeben, dass der Chat offen für Nicht-Chat-Nachrichten bleibt
  • Screenshots gemacht und sie sinnvoll angeordnet (damit man mal einen möglichen Workflow des Prototyps sehen kann)
  • Mail an Stefan geschrieben, dass in Zukunft der Chat für Nicht-Chat-Nachrichten öffentlich sein soll
    • Diskussion zwischen Franz, Stefan, Julia und mir findet zurzeit per Mail statt
  • Wegen Informationsdetailgrad und Konfigurationsmöglichkeiten recherchiert:
    • Dialoge und Views: Mehr als den Titel erhalte ich nicht bzw. andere unwichtige Informationen (Größe des Dialoges, Position usw.)
    • Tests: Ich habe es hinbekommen, zu einer Testausführung den FailureTrace zu extrahieren. Allerdings muss ich noch ausprobieren, wie das in der Anzeige ausschaut, Ergebnisse dieser Recherche folgen separat per Mail
    • Refactoring: Muss noch untersucht werden
    • Visuelle Darstellung im Chat: Muss noch untersucht werden
    • Konfigurationsmöglichkeiten: Muss noch untersucht werden

Resultate

  • Keine wirklichen Ergebnisse
  • Alles eher organisatorischer Natur

Nächste Schritte

  • Ich analysiere weiter die mögliche Aufarbeitung der angezeigten Informationen und mögliche Konfigurationsmöglichkeiten
  • Ansonsten warte ich die Diskussion zwischen Franz und Stefan ab

Probleme

  • Stefan beschreibt mögliche Probleme bei der Nutzung des Chats
  • Weiterer Ablauf steht daher noch nicht fest und ich kann daher nicht programmieren
  • Warte das Treffen mit Herrn Prechelt ab

Woche 32 (KW 34)

Aktivitäten

  • Reviews durchgeführt
  • Erstes Treffen mit Herrn Prechelt gehabt (Ergebnisse in einer separaten Mail)
  • Analyse, wie viele Informationen ich herausfinden kann, beendet
  • Roadmap erstellt (da sich jetzt Verlauf der Arbeit leicht geändert hat)
  • Leider war ich krank und konnte nicht mehr machen

Nächste Schritte

  • Tutorial für die Erstellung eines neuen Reiters anschauen (oder Code für den Chat-Reiter einfach ansehen)
  • Überlegen, wie ich die Formulierung verbessern kann
  • Aktuellen Stand an Franz und Stefan kommunizieren und mit ihnen über technische Umsetzung quatschen (weil das partiell in der Diskussion angesprochen wurde)
  • Evtl. Zwischenvortrag vorbereiten

Probleme

  • Zurzeit keine. Der Verlauf der Arbeit hat sich leicht geändert und das erfordert eine Umplanung, zumal jetzt kein weiterer Nutzertest ansteht, sondern ich einen Reiter entwickeln werde und die Informationsformulierung etwas anpassen werde

Woche 33 (KW 35)

Aktivitäten

  • Reviews durchgeführt
  • GUI für den Reiter designt
  • Treffen mit Prechelt, wo es um die Umsetzung ging
  • Plugin von Björn angesehen
  • Recherchiert, wie man Eclipse-Design mittels HTML darstellen kann
  • Ich habe versucht, Björns Plugin einzurichten, allerdings fehlen mir sooo unglaublich viele required Bundles…. Entweder stimmt was mit meiner Eclipse-Version nicht oder das ist normal so. Auf jeden Fall sitze ich schon seit endlichen Stunden daran, alles einzurichten. Sind ziemlich viele Bundles…

Nächste Schritte

  • Björns Plugin einrichten
  • GUI dort designen
  • Überlegen, wie man das in Saros einbinden kann
  • Vortrag vorbereiten

Probleme

  • Ich habe versucht, Björns Plugin einzurichten, allerdings fehlen mir sooo unglaublich viele required Bundles…. Entweder stimmt was mit meiner Eclipse-Version nicht oder das ist normal so. Auf jeden Fall sitze ich schon seit endlichen Stunden daran, alles einzurichten. Sind ziemlich viele Bundles…

Woche 34 (KW 36)

Aktivitäten

  • Reviews durchgeführt
  • Versucht, Björns Plugin einzurichten → Bundles mussten installiert werden
  • Plugin funktioniert nicht am Windows-Rechner, nur an meinem Mac
  • War leider viel krank und hatte jobtechnisch viel zu tun, daher wenig geschafft

Nächste Schritte

  • Björns Plugin einrichten
  • GUI dort designen
  • Überlegen, wie man das in Saros einbinden kann
  • Vortrag vorbereiten

Woche 35 (KW 37)

Aktivitäten

  • Reviews durchgeführt
  • Björns Plugin eingerichtet
  • Mein ActionAwareness-HTML auf die erste Variante im Plugin eingerichtet (über die Programmierung einer Webanwendung)
  • Meinen Zwischenvortrag vorbereitet
  • Patch gerebased

Nächste Schritte

Woche 36 (KW 38)

Aktivitäten

  • Reviews durchgeführt
  • Patch gerebased
  • Merge-Patch erstellt
  • Reiter neben dem Chat angefangen, zu implementieren

Nächste Schritte

  • Reiter implementieren
  • Aus dem AwarenessInformationCollector ein Observable machen und die Daten in den Reiter reinschreiben
  • Text schreiben beginnen

Woche 37 (KW 39)

Aktivitäten

  • Reviews durchgeführt
  • Erste Version des neuen Reiters erstellt
  • Zweite Version des Reiters erstellt
  • Einleitung weitergeschrieben

Probleme

  • Das Einfügen des Plugins von Björn als gesamtes Paket viel zu aufwendig
  • Es entstehen viele Abhängigkeiten
  • Ich werde es von daher versuchen, Klasse für Klasse einzufügen, also alles was ich brauche

Nächste Schritte

  • Review einarbeiten
  • Björns Browser Geschichte auf andere Weise reinbekommen (Klasse für Klasse)
  • Text weiterschreiben

Woche 38 (KW 40)

Aktivitäten

  • Reviews durchgeführt
  • Reiter weiter implementiert
  • Weiter Text geschrieben
  • Test-Patch korrigiert, sodass nicht mehr drei unterschiedliche Receiver erzeugt werden
  • Refactoring-Patch korrigiert, sodass nicht mehr drei unterschiedliche Receiver erzeugt werden
  • FileCreation-Patch korrigiert, sodass nicht mehr drei unterschiedliche Receiver erzeugt werden
  • Meinen Code gesäubert:
  • Bug behoben: Beim Schließen eines Dialoges wurde dies zwei Mal angezeigt --> Behoben
  • Open/Close-Chain behoben
  • Logik des Reiters implementiert
  • Design des Reiters implementiert

Probleme

  • Zeitdruck big grin Bald ist die Abgabe und obwohl ich schon einiges geschrieben habe, bin ich nie zufrieden

Nächste Schritte

  • Schreiben
  • Wenn noch Zeit bleibt: Die Browser-Geschichte ausprobieren

Woche 39 (KW 41)

Aktivitäten

  • Ich bin am Schreiben der ersten Fassung und bin hoffentlich bald fertig

Nächste Schritte

  • Mit der ersten Fassung fertig werden
  • Zweite Fassung beginnen

Woche 40 (KW 42)

Aktivitäten

  • Erste Fassung fertig geschrieben
  • Zweite Fassung wird gerade bearbeitet
  • Timeline erstellt, die den zeitlichen Verlauf der Arbeit darstellt

Nächste Schritte

  • Zweite Fassung beenden
  • Die Browser-Geschichte