Add an H5P-Timer to your assignments, maybe?

A while ago, I noticed that the memory game of H5P uses a timer that is tied to the library closely. It cannot be used for anything else. I decided to create something like a general purpose timer for H5P and here it is! You can  check it out it on github.

What is it good for?

The timer is not intended for time critical applications, but it can easily be used to keep track of time in games, to set a time limit for tasks, or to create other innovative content libraries that need triggers based on time. What about a mod-player that can handle ProTracker files for example? 😉 Also, it might reduce some redundancies across different h5p libraries under the hood.

You could build a stopwatch with the H5P-Timer

What can the H5P-Timer actually do?

First of all, the H5P-Timer can can count up and down. Wow, right? 🙂 Additionally, it can be paused. Really! More interestingly, it keeps track of three different types of counters:

  • clock time (can be modified even if running, e.g to give a time bonus)
  • playing time (the amount of time that the clock has been ticking when not paused)
  • running time (the total running time ignoring pauses)

I am not sure if there’s a use proper use case for all of them, but maybe you have something in mind?! Furthermore, the timer offers three types of notifications using callback functions. All three counter types can be used as a trigger. You can set up:

  • a notification at a particular point in time,
  • a notification after a certain time period has passed, and
  • recurring notifications in fixed intervals.

For example, you could set up a two minute warning for a countdown with a notification at a particular point in time. Or you could remove special powers that were granted a game character after 30 seconds have passed. Or you might just add a ticking noise to a clock every single second. It’s up to you! Apropos clock: the timer can use milliseconds internally but only „displays“ tenths of seconds and above. Everything else wouldn’t make too much sense, I guess.

Hmm, what else can the timer do? It will dispatch events for play, pause, stop and reset. You might want to listen for them.

Finally, the timer offers some static utility functions. You can

  • check if something is a timecode,
  • convert timecodes to milliseconds and vice versa,
  • extract single time elements like days or seconds from timecode or milliseconds.

Help, I need sombody, help!

I think that someone else should have a closer look at the H5P-Timer because it may still contain some bugs. While I have not completed my documentation, I hope that my comments are good enough to guide you. Your feedback is highly appreciated! Also, please let my know in the comments what content libraries you can imagine to use the H5P-Timer for!

Lasst euer Open-Science-Projekt in Schleswig-Holstein prämieren

Falls ihr nicht aus dem hohen Norden Deutschlands kommst, ist dieser Beitrag für euch vermutlich irrelevant. Für alle anderen: Das Land Schleswig-Holstein hat einen Preis zum Thema Open Science ins Leben gerufen.

Es soll jährlich der Open-Science-Award für ein passendes Projekt vergeben werden. Warum? Weil man sich zum Ziel gesetzt hat, „das weltweite Wissen in digitaler Form ohne finanzielle, technische oder rechtliche Barrieren zugänglich und nutzbar zu machen.“ Neben Ruhm und Ehre winken sogar 2.000 Euro.

Für das Land zählen dazu Projekte, die

  • „nachhaltig zur Erhöhung der Sichtbarkeit, Wahrnehmung und Nutzung von
    Leistungen schleswig-holsteinischer Wissenschaftlerinnen und Wissenschaftler
    beitragen,
  • die Publikation von Erkenntnissen sowie ihre Rezeption beschleunigen respektive
    erleichtern und
  • den Wissenstransfer in die Gesellschaft, die interdisziplinäre Forschung und
    den internationalen Austausch befördern.“

Falls ihr an einer Institution in Schleswig-Holstein arbeitet, die etwas Passendes inpetto hat: Macht mit! Bis zum 31. Oktober könnt ihr eure Bewerbung einreichen.

Lasst euch bloß nicht davon irritieren, dass entgegen der eigen Zielsetzung die zugehörigen Bewerbungsunterlagen nur als nicht-barrierefreies PDF zur Verfügung stehen… *seufz*

 

„Apparently it started learning at a geometric rate until it became self aware.“

Ich finde, es ist mal wieder an der Zeit, mich auch formal etwas weiterzubilden – und zwar durchweg online. Eigentlich sollte man sich dazu auch mal Dinge suchen, die einem eher nicht liegen. Nach einigem Überlegen habe ich das allerdings hinten angestellt und bin bei etwas gelandet, was mir nicht so ganz fremd ist. Im vergangenen Jahr habe ich den Onlinekurs Machine Learning auf Coursera absolviert und setze nun noch einen oben drauf: Ich belege in Kürze das Nanodegree-Programm Machine Learning Engineer auf Udacity.

Originalfoto (von mir beschnitten): Skynet von Tom Bullock (CC BY 2.0)

Originalfoto (von mir beschnitten): Skynet von Tom Bullock (CC BY 2.0)

Zum einem mag ich das Thema Maschinenlernen, zum anderen ist das gerade gefühlt der heißeste Scheiß in der IT-Welt überhaupt. Damit kann man Skynet bauen! Oder J.A.R.V.I.S.! Aber auch ohne Flachs: Ich glaube, das Feld ist wirklich zukunftsträchtig. Als Deutschem winkt mir zwar keine Neuer-Job-oder-Geld-zurück-Garantie wie Leuten aus den USA, aber das ist gerade auch nicht mein Ziel 😉 Immerhin bekomme ich auch in Good Old Germany die Hälfte der Gebühren von 200 € pro Monat erstattet, sollte ich innerhalb eines Jahres fertig werden.

Angesetzt ist das Programm mit 420 Stunden – oder 14 ECTS, falls jemand mit dem hiesigen Hochschulsystem vergleichen möchte. Wenn ich das innerhalb eines Jahres durchziehen möchte und noch einen Sicherheitspuffer einbaue, sollte ich etwa 10 Stunden pro Woche einplanen. Das ist neben meinem Job durchaus eine kleine Herausforderung, wenn ich weiterhin an H5P schrauben möchte, endlich neue Videos für YouTube produzieren will – und mir vielleicht auch endlich wieder etwas Bewegung gönne

In den nächsten Tagen werde mir daher ein paar Gedanken machen, wie ich mich organisiere. Vermutlich werde ich mir das Curriculum vorknöpfen und in Anlehnung an’s agile Projektmanagement mit 2-Wochen-Sprints arbeiten, ein öffentliches Kanban-Board und öffentliche Burn-Down-Charts pflegen, github mit Quelltext befüllen, usw. Wir werden sehen, was nachher tatsächlich davon passiert 😉 Warum schreibe ich das hier? Weil mir etwas soziale Kontrolle sicher auch gut tut. Wenn ihr also ab und zu nachhaken wollt: gerne!

„Es kommt in der Wissenschaft nicht darauf an, dass man sie so vermittelt, dass sie mit dem Kopf verstanden wird, sondern so, dass sie mit dem Herzen verstanden wird“

Unter meinen abonnierten Podcasts findet sich der Forschergeist von Tim Pritlove, und die aktuelle Ausgabe Nr. 34 hat mit wieder einmal sehr gefallen. Sie dreht sich um Werner Heisenberg.

Zum Ende hin geht Wissenschaftshistoriker Ernst Peter Fischer auf Wissenschaftsvermittlung ein. Er diskutiert einen Aspekt, der in der Welt der Hochschuldidaktik zwar immer wieder thematisiert wird, aber nicht so recht in die Lehre durchdringt:

„Die Vermittlung der Wissenschaft wird immer noch so betrieben, dass einem jemand erklärt, wie etwas funktioniert – sozusagen – nur mit einfachen Worten. […] Es kommt in der Wissenschaft nicht darauf an, dass man sie so vermittelt, dass sie mit dem Kopf verstanden wird, sondern so, dass sie mit dem Herzen verstanden wird – und das macht man nicht.“

Den Kontext der Aussage habe ich euch aus dem Podcast herausgelöst – aber ihr solltet ihn euch unbedingt komplett anhören, wenn ihr an Wissenschaftsgeschichte oder Physik interessiert seid.

Der Podcast „Forschergeist“ (Ausagbe 34 hier als Auszug) von Stifterverband/Metaebene ist lizenziert unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz (CC BY-SA 4.0).

Als Weg dorthin schlägt Herr Fischer vor, über die Personen hinter der Wissenschaft und deren Leben zu gehen. Sehe ich auch so! Vielleicht finde ich das aber auch bloß so sympathisch, weil ich mit „Köpfe der Wissenschaft selbst gemacht“ vor einer ganzen Weile selbst in diese Richtung gedacht habe und außerdem noch davon überzeugt bin, dass „Offene Wissenschaft“ auch heißen sollte, jenseits der Ergebnisse von Wissenschaft den Prozess und die Personen dahinter sichtbarer zu machen 🙂

[Update] Das soll nicht heißen das Kognitive zu ersetzen!

Was geht euch zu der Frage durch den Kopf, ob die Vermittlung von Wissenschaft, speziell in der Hochschullehre, zu stark kognitiv dominiert sei?

if ( xAPIcall ) { myChoice(); }

Wieder nur mal so eine Idee… Da ich gerade mal wieder mit IFTTT herumgespielt habe, ging mir etwas durch den Kopf. Dafür hole ich erst einmal etwas aus.

Blechdosenprogrammierung

Die Tin Can API (xAPI) ist eine technische Spezifikation, um Interaktionen zwischen LernerInnen und Lernumgebungen zu beschreiben und gegebenenfalls auch festzuhalten. Typischerweise passiert das in einem Lernmanagement-System.

Bei interaktiven Videos mit H5P wird etwa die Interaktion „Completed interactive video“ bestätigt, wenn der Nutzer/die Nutzerin das Ende des Videos erreicht. Oder „Answered fill in the blanks„, wenn ein Lückentext ausgefüllt wurde. Es lassen sich mittels der xAPI aber prinzipiell beliebige Interaktionen beschreiben, die von bestimmten Ereignissen ausgelöst werden: „worked on five consecutive days“ oder „uploaded paper“. Müssten die jeweiligen Systeme bloß unterstützen.

Wozu? Die Daten können in einem „Learning Record System“ (LRS) gesammelt, zusammengeführt und ausgewertet werden. Algorithmen oder Lehrende können dadurch Anhaltspunkte erhalten, wie sie die Lernenden womöglich unterstützen können – Business Intelligence für die Lehre. Das ist ein durchaus heikles Thema. Was aber, wenn man stattdessen die Lernenden selbst ermächtigen wollte?

Power to the People!

Das eingangs erwähnte IFTTT ist ein Online-Dienst, mit dem man zahlreiche andere Dienste und gar Geräte mit einfachen Rezepten der Form „Wenn dies, dann das“ verknüpfen kann. Mit „Wenn an Ort X, dann sende Nachricht Y an Z“ ließe sich beispielsweise automatisiert der WG-Partner fragen, ob man noch etwas aus dem Supermarkt mitbringen soll – weil man gerade da ist.

Was wäre, wenn man einem Lernmanagement-System eine Schnittstelle zu IFTTT spendierte, bei dem die xAPI-Interaktionen die Wenn-Regeln wären? Könnten Lernende sich dann nicht eigene Umgebungen schaffen, mit denen sie sich jenseits der vom Lernmanagement-System angebotenen Funktionen selbst unterstützen? Oder auch selbst kontrollieren)… „Wenn Kurs abgeschlossen, dann bestelle Videospiel bei BestBuy“, „Wenn fünf Tage lang nichts getan, dann twittere ‚Ich bin faul! Beschimpft mich!'“ oder wie wäre es mit „Wenn Lernaktivität nachts um Zwei, dann koche Kaffee“? Per Heimautomation wäre das machbar, und dann verschmelzen virtueller und physischer Lernraum auf neue Art und Weise: Was wäre das für ein Lernraum, der einem Kaffee macht 🙂

Ich habe einfach mal ein paar denkbare Auslöser (IF) und mögliche Aktionen (DANN) gesammelt, die ihr ja probeweise mal nach Gutdünken kombinieren könnt. Was fällt euch noch ein?

WENN DANN
n Tage nichts für einen Kurs getan Twitter: Sende Nachricht „XYZ“
Badge erhalten Kaffeemaschine: Koche Kaffee
Kurs abgeschlossen Heizung: Regele Temperatur hoch/runter
Nachricht im Forum geposted/erhalten Tabellenkalkulation: Füge Zeile in Tabelle ein
Aktivität erfolgreich/erfolglos abgeschlossen Webcam: Poste aktuelles Foto auf Facebook
Video gestartet/abgebrochen/beendet Bank: Überweise x Euro auf Konto Y
Hausaufgabe eingeschickt Online-Shop: Bestelle x