Montag, 6. März 2017

Notiz-Funktionen (für Prüfungen) & mehr

tl;dr Man kann im Player nun Antworten markieren und verschiedene Markierungen im Infobereich setzen. Der Infobereich lässt sich verkleinern, wenn dieser keine Informationen enthält.


In der Prüfungsphase am Ende des WS 16/17 wurden in der Medizinischen Fakultät drei echte Prüfungen auf iPads erfolgreich durchgeführt - erfolgreich in dem Sinn, dass die Infrastruktur (WLAN + Server) gehalten hat und auch der HTML5-Player die Prüfung erfolgreich abgespielt hat. Es gab aber auch viele z.T. sehr berechtigte Kritik der Prüflinge - die den Player betrifft folgt hier:


Markieren von Antworten



Nach den Testprüfungen im Vorfeld hatten viele TestteilnehmerInnen bemängelt, dass durch den Wechsel von Papier auf "Nur iPad und sonst nichts" die Möglichkeit fehlt, Antworten zu markieren. Medizinprüfungen bestehen traditional aus 1-aus-5-Auswahlfragen, bei denen man auf Papier gut nach dem Ausschlussprinzip vorgehen kann, d.h. man streicht nach und nach die jeweils am wenigsten plausible Antwort durch bis nur noch die eine hoffentlich richtige Antwort übrig bleibt.
Es gab zwar schon (immer) die Möglichkeit, Fragen mit einer (kleinen) Markierung zu versehen - etwa "Nochmal anschauen" oder "unsicher" etc. - dies ließ sich aber nicht erweitern um dem Wunsch der Prüflingen nachzukommen. Es musste also eine andere Möglichkeit geschaffen werden, Antworten zu markieren, die das Beantworten der Fragen ähnlich gut unterstützt wie Papier:


Dieses Video wurde zunächst von YouTube wegen Verstoß gegen die Community-Richtlinien
entfernt und nach Beschwerde wieder eingestellt. Falls dies wieder passiert:
Dieses Video bei Wistia.


Umsetzung Durch die Aufteilung des Players in Informationsbereich links, Fragetext rechts oben und Antworten rechts unten ist im Antwortbereich nicht viel Platz für graphische Spielereien, weswegen man Antworten nicht durch Antippen eines Buttons markiert sondern durch langes Antippen. Dabei sind zwei verschiedene Markierungen möglich: Beim ersten langen Antippen wird die Antwort unterstrichen, bei weiterem langen Antippen wird die Antwort durchgestrichen, beim dritten Mal wird die Markierung entfernt. Die Idee einer farbigen Markierung wurde verworfen, da beim Ausschlussverfahren Antworten die Bedeutungen "falsch / wenig plausibel / wenig wahrscheinlich" oder "richtig / sehr plausibel / sehr wahrscheinlich" erhalten, was man typischerweise mit einer roten und einer grünen Markierung umsetzen würde - das würde aber mit der letzten Erweiterung bei MC-Fragen kollidieren. Andere Farben sind schwierig umzusetzen, da blau im Prüfungs-Theme dominiert und ohne rot, grün und blau keine zwei geeigneten schönen Farben mehr zur Verfügung stehen - wer möchte schon mit rosa vs. türkis markieren? Weitere Textstile wie fett und kursiv wurden verworfen da hier beim Ändern störende Zeilenumbrüche entstehen können.


Technische Details Bei Prüfungen muss sichergestellt sein, dass der Bearbeitungszustand erhalten bleibt, selbst wenn der Prüfling aus Versehen die Prüfung schließt oder das iPad ausfällt. Deshalb wird die Auswahl einer Antwort sofort an den Server übertragen. Der bestehende Mechanismus wurde relativ einfach so erweitert, dass nicht nur der Auswahl-Zustand der Antworten übertragen wird, sondern zusätzlich noch der Markierungs-Zustand. Um die Bearbeitung nachher auch auf Plausibilität überprüfen zu können, wird die komplette Historie der Bearbeitung aller Fragen gemerkt und bei jedem Senden einer Änderung komplett mit-übertragen. Bei einer durchschnittlichen Prüfung beträgt das Übertragungsprotokoll am Ende ca. 10 kByte - ein Hinzufügen der Markierungsinformationen hat dies nicht wesentlich erhöht.


Nachgang Dieses Feature wurde bereits in den echten Prüfungen eingesetzt und fand auch Anklang - es bereitete aber auch unvorhergesehene Probleme: Auf dem iPad funktioniert Scrollen durch Wischen, man kann aber auch Scrollen indem man den Bereich antippt und den Finger langsam bewegt. Das Dumme dabei ist, dass man praktisch nicht zwischen "lange Antippen" und "lange Antippen und den Finger langsam bewegen" unterscheiden kann - ein bisschen Bewegen muss schließlich erlaubt sein. Bei vielen Prüflingen kam es daher vor, dass beim Scrollen Markierungen geändert bzw. gelöscht wurden - was für einigen Unmut gesorgt hat. Deshalb wurde der Antwortbereich zur dritten Prüfung so verändert, dass auf Tablets im Fall, dass gescrollt werden muss, rechts der Antworten ein graphisch ausgezeichneter (auf dem iPad etwa fingerbreiter) Bereich frei bleibt, der zum Scrollen verwendet werden kann.


Markieren von Informationen mit Textmarker und Stiften



In den bisherigen Prüfungen wurde der Infobereich nur wenig genutzt: Bei der Prüfung der Radiologie waren hier die Ergebnisse bildgebender Verfahren zu begutachten, bei der Prüfung in Allgemeinmedizin gab es einige kurze Texte (hauptsächlich die zu bewertenden Aussagen*), bei der letzten Prüfung war der Infobereich immer leer. Zukünftig sollen aber vermehrt key feature Fragen zum Einsatz kommen, bei denen ein klinisches Szenario mehr oder weniger ausführlich beschrieben wird und der Prüfling eine kritische Entscheidung treffen muss. Was von den Prüflingen nach der Prüfung in Allgemeinmedizin gewünscht bzw. als fehlende bemängelt wurde (und was bei längeren Vignetten noch sehr viel relevanter ist), ist die Möglichkeit Elemente des beschriebenen klinischen Szenarios, z.B. abnorme Werte des klinischen Befunds, zu markieren so dass die wesentlichen Informationen schneller zugänglich sind.


[Einschub *: Da in Medizin-Prüfungen meist von fünf möglichen Antworten eine Antwort ausgewählt werden soll, es aber oft nicht möglich ist, Fragen so zu formulieren, dass nur genau eine Antwort richtig ist, werden oft 2-stufige Fragen verwendet: Es werden zu einer Frage mehrere (nummerierte) Aussagen vorgegeben und die Prüflinge müssen dann aus fünf Antworten wie z.B. "Nur die Aussagen 1 und 2 sind richtig." eine auswählen. Da für die Aussagen kein Platz im Fragetext-Bereich ist, werden diese im Infobereich angezeigt. Auch hier kommt ein (meist einfacheres) Ausschlussverfahren zum Einsatz: Kann man eine Aussage ausschließen, kann man sofort alle Antworten ausschließen, die diese Aussage als richtig beinhalten.]


Dazu wurde eine leicht zugängliche und bedienbare Zeichenfunktion hinzugefügt, die sich mit Touch sogar sehr gut bedienen lässt.



Umsetzung Um das Feature möglichst einfach für die drei verschiedenen Darstellungsvarianten Desktop-Browser, Tablet und Smartphone zu  ermöglichen, wurde dem Infobereich links oben ein kleines Textmarker-Symbol hinzugefügt, über das das Markierungsfeature aktiviert oder deaktiviert wird. Die Idee den Button nach Linksaußen zu verschieben wurde verworfen, da dieser Bereich auf dem Smartphone nicht zur Verfügung steht und dort der Markierungsbutton nirgendwo anders untergebracht werden kann. Um dem Button bzw. dem Markierungsmenü Platz zu bieten, musste nur der linke weiße Rand um die Breite eines Buchstaben erweitert werden - das ist akzeptabel. Aktiviert man das Feature, dann öffnet sich ein Menü mit verschiedenen Werkzeugen: Vier Textmarker in den Farben gelb, rot, blau und grün, vier Stifte in den Farben grau, rot, blau und grün sowie ein Radierer (und die Undo-Funktion) stehen zur Verfügung. Über den gesamten Infobereich wird eine (mit Absicht nur fast) durchsichtige Ebene gelegt, die dann für Markierungen genutzt werden kann. Der Nachteil dieser Ebene ist, dass solange das Markieren aktiviert ist, Bilder nicht mehr vergrößert werden oder Links angetippt werden können, da diese unter der Ebene liegen - dazu muss man das Markieren wieder deaktivieren. Scrollen auf Tablets funktioniert so, dass man den zu scrollenden Bereich antippt und den Finger bewegt - auch das klappt mit aktiviertem Markieren nicht, da man genauso auch malen würde. Ein ständiges Wechseln zwischen Markieren und Scrollen (d.h. Markierung anschalten, Markieren, Markieren ausschalten, Scrollen, ...) wäre zu umständlich - deswegen wurde das so gelöst, dass der Malbereich den Infobereich rechts nicht ganz überdeckt und (wie bei den Antworten) ein hervorgehobener freier Bereich bleibt, der zum Scrollen genutzt werden kann.


Technische Details Auch bei Markierungen im Infobereich muss sichergestellt werden, dass diese einen Ausfall des iPads überstehen. Dies zu bewerkstelligen war erheblich aufwändiger als das Speichern der Antwortmarkierungen - das größte Problem dabei ist die verfügbare Bandbreite. In einer perfekten Welt könnte man jede Änderung sofort an den Server schicken - da die iPads aber nur per WLAN angebunden sind und sich ca. 100 iPads einen Accesspoint teilen, ist dies so nicht möglich. Das verwendete canvas-Element bietet die Möglichkeit, seinen Inhalt als Bild abzufragen und dieses Bild könnte man auch übertragen. Würde man aber die Markierung einfach als Bild übertragen, dann würde dies bei pro Infobereich ca. 50kByte ausmachen - im gegebenden Kontext wäre also die Übertragung einer einzelnen Markierung vermutlich schon schwierig und würde 5x mehr Bandbreite benötigen als die gesamten übrigen zu übertragenden Daten. Da das verwendete sehr einfache Zeichentool intern sowieso eine Liste aller durchgeführten Aktionen speichert (was dann auch für die Implementierung der Undo-Funktion genutzt werden konnte), wurde zunächst versucht, diese Liste als JSON-Daten zu übetragen - dies brachte aber keinen Vorteil, da die JSON-Daten nach wenigen Aktionen bereits ähnlich groß waren wie bei einer Übertragung im JPG-Format (diese JSONifizierten Aktionen könnten sogar unbeschränkt groß werden, wohingegen die Größe der Bilddaten durch die Größe des Infobereichs beschränkt wird). Um dem zu begegnen werden nun durch den Einsatz einer weiteren Bibliothek (unter WTFPL) die Daten zusätzlich komprimiert und dann übertragen, was (besonders bei JSONifizierung vieler ähnlicher Daten) erhebliche Einsparungen bringt - die Daten könnten sogar noch stärker komprimiert werden, dann können die Daten zwar noch intern als Javascript-String gespeichert werden, aber aufgrund der invaliden Codierung könnten sie nicht mehr übertragen werden.




Im obigen Beispiel kann man sehen, dass eine "normale" Markierung im komprimierten aber noch übertragbaren Format LZHTML kleiner als 10kB bleibt. Diese Art der Speicherung bietet auch - im Gegensatz zur Übertragung als Bilddaten - den Vorteil, dass die komplette Markierungshistorie mit-übertragen wird und bei Wiederaufnahme sogar die Undo-Fähigkeit erhalten bleibt. Zudem kann man aus der Historie auch das letzte verwendete Werkzeug ersehen und muss dieses (um den vorherigen Zustand wiederherzustellen) nicht extra merken.


Für die Übertragung der Bearbeitungsprotokolle gibt es bereits einen elaborierten Mechanismus, der sicherstellen soll, dass alle Protokolle übertragen werden - so wird z.B. bei Übertragungsschwierigkeiten das neueste zuerst übertragen, nicht übertragene Protokolle im Browser gespeichert und bei der nächsten Bearbeitung (egal welchen Falles) übertragen usw. Da sich dieser Mechanismus leider nicht erweitern ließ, wurde ein ähnlicher zweiter Mechanismus implementiert, der ebenso sicherstellt, dass Markierungen übertragen werden. Auf dem Server wird für jede Bearbeitung (und jeden Infobereich eines Falles) die Markierung abgespeichert und bei Wiederaufnahme in den Fall eingefügt - im Gegensatz zu den anderen Bearbeitungsdaten weiß der Server aber überhaupt nicht, was da kodiert ist - er überträgt die Daten unbesehen zurück und nur der Player hat die Fähigkeit diese Daten zu dekomprimieren, zu deJSONifizieren und die enthaltenen Aktionen durch Wiederausführen wiederherzustellen.
Im Gegensatz zu den Bearbeitungsprotokollen (die übertragen werden müssen, bevor der Fall wiederaufgenommen werden kann), können nicht gespeicherte Markierungen aus dem lokalen Speicher wiederhergestellt werden. Wird also ein Fall geladen, der gespeicherte Markierunginformationen enthält UND gleichzeitig noch nicht zum Server übertragene Markierungsinformationen lokal gespeichert sind, dann kann der Player selbst entscheiden, welche Informationen neuer sind und die älteren Markierungen ggf. mit den neueren aus dem lokalen Speicher überschreiben (und versuchen diese an den Server zu übertragen).


Variable Aufteilung



Wenn eine Prüfung keinerlei Zusatz-Informationen enthält, dann ist die Aufteilung des Oberfläche des Prüfungsplayers ungünstig, da etwa 60% des Bildschirms frei bleiben, dafür aber der Antwortbereich vielleicht so klein ist, dass man für die Anzeige aller Antworten scrollen muss. Dies wurde von den Prüflingen nach der dritten Prüfung bemängelt, die keinerlei Zusatz-Informationen beinhaltete.
Um dem zu begegnen wurde der Player so erweitert, dass die AutorInnen eines Falles die Aufteilung zwischen Infobereich und Frage/Antwort-Bereich selbst festlegen können.


Nachtrag: Noch mehr technische Details zur Markierungsspeicherung
Trotz der effizienteren Speicherung der Markierungsdaten ist es nicht sinnvoll, jede Markierung sofort zu übertragen - es wird angenommen, dass typischerweise alle Markierungen eines Infobereichs ohne größere Unterbrechungen "in einem Stück" vorgenommen werden und dass eine Teilspeicherung einer solchen Meta-Markierung zu wenig Vorteile bietet. Deswegen wird nach jeder Änderung ein Timer von (momentan) 3s (neu)gestartet und erst wenn dieser abgelaufen ist (d.h. für 3s keine weitere Markierung getätigt wurde) wird gespeichert. Um dennoch lange ausführliche Markierungen nicht zu verlieren, wird immer dann gespeichert, wenn seit der letzten ungespeicherten Änderung 30s vergangen sind. Zusätzlich wird immer dann gespeichert, wenn vom Infobereich wegnavigiert wird oder die Markierungsfunktion deaktiviert wird - weil davon ausgegangen wird, dass dann die Markierung "fertig" ist.
Beim freien Training und im Übungsbetrieb (d.h. man hat mehrere Tage Zeit für eine Bearbeitung, das Ergebnis ist aber auf eine Weise relevanter als das normale Training) wird - wie bei den Bearbeitungsprotokollen auch - weniger oft gespeichert: Beim freien Training wird nur in großen Abständen regelmäßig und beim Beenden des Falles gespeichert, im Übungsbetrieb (bei dem es einen Eintragen-Button gibt und zusätzlich nach "Eintragen" gespeichert wird) wird auch dann gespeichert, wenn die Markierungfunktion deaktiviert wird oder wegnavigiert wird.


Nachtrag: Ausblick Markierungen
Im nächsten Schritt wird die Markierungsfunktion um die Möglichkeit erweitert, Markierungen auf einem oder mehreren "leeren" Bögen unabhängig von einem Infobereich vornehmen zu können. Der Zusatzaufwand dafür scheint nicht allzu hoch zu sein und von den Prüflingen wurde die Möglichkeit gefordert Skizzen (z.B. zu Wirkkreisläufen) erstellen zu können - wofür im Infobereich zu wenig Platz sein könnte - statt jetzt an jeden Infobereich unten freien Platz hinzuzufügen, ist es vermutlich sinnvoller, einfach einen oder mehrere leere Bögen zur Verfügung zu stellen.

Keine Kommentare:

Kommentar veröffentlichen