Brick Planner – Digitalisierung eines Lego™-Kalenders

Nichts kann die Haptik einer klassischen User Experience ersetzen [1]. Das wissen auch wir Software-Entwickler und haben deshalb unseren eigenen Sprint-Kalender mit Lego™-Steinen gebaut. Dieser Kalender ist nicht nur besonders dekorativ, sondern erleichtert auch die Sprint-Planung eines unserer agilen Scrum-Teams. Der Lego™-Kalender oder, wie wir ihn nennen, Brick Planner zeigt die An- bzw. Abwesenheit der Projekt-Teilnehmer/-Innen für den nächsten Sprint.

Jede Zeile ist einem Teammitglied zugeordnet, die Spalten zeigen die einzelnen Tage eines kommenden zweiwöchigen Sprints. Die An- bzw. Abwesenheit jedes Projektteilnehmers wird mittels bunter 4×4-Lego™-Steine gesetzt. Derzeit werden drei verschiedene Farben genutzt. Gelb steht für anwesend, Rot für keine Zeit und Pink für Arbeiten im Home-Office. Falls kein Stein gesetzt ist, dann ist der/die Mitarbeiter/-In nicht anwesend. Jeder Tag ist in zwei Teile zerlegt, um so eine individuelle Planung für den Vor- bzw. Nachmittag zu ermöglichen.

Wie kam es zu dem Projekt?

Im Rahmen eines unserer internen Mitarbeiter-Workshops kamen wir auf die Idee, den analogen Kalender mittels Bildverarbeitungsalgorithmen einzulesen und in verschiedene digitale Formate zu exportieren. Das Scrum-Team sollte dabei weiterhin seinen Kalender nutzen können und zusätzlich die Verfügbarkeit der Projektteilnehmer in digitaler Form zugestellt bekommen. Das erleichtert sowohl die Projektdokumentation als auch die Informationspolitik innerhalb des Projekts. Mitarbeiter, die derzeit nicht im Büro sind, weil sie beispielsweise von daheim aus arbeiten oder gerade beim Kunden sind, können bei Bedarf im digitalen Kalender die Teilnehmerverfügbarkeit einsehen.

… und wie funktioniert das Ganze?

Wieder kommt einer unserer Lieblings-Bastelcomputer zum Einsatz. Der Raspberry Pi. Diesmal spendierten wir ihm noch eine extra Kamera [2] und ein schickes TFT-Display im Mini-Format [3]. Noch schnell das Betriebssystem aufgespielt und dann konnte es auch schon los gehen mit der Programmierung…

Bildverarbeitung

Wir haben uns für die quelloffene Bildverarbeitungsbibliothek OpenCV entschieden, um die Bilder des Brick-Planners automatisiert auswerten zu können. Zunächst wird der in unserem Fall blaue Hintergrund erkannt und das Ausgangsbild auf den Bildbereich des Kalenders transformiert und zugeschnitten. Die weißen Steine geben die Struktur der Kalender-Matrix vor. Das Erkennen der verschiedenen Farben der einzelnen Lego™-Steine ermöglicht es, jedem Stein die ihm bestimmte Position innerhalb der Kalender-Matrix zuzuweisen.

Exporter

Für die Verteilung des digitalen Kalenders an alle Projektteilnehmer verwenden wir Microsoft Teams. Schnell noch einen WebHook-Connector eingerichtet und schon kann die HTML-Tabelle verschickt werden. Durch den modularen Aufbau der Software können später noch weitere Exporter hinzugefügt werden. So ließe sich der Kalender auf Wunsch auch mit wenig Programmieraufwand beispielsweise per Mail verschicken.

Webserver

Zusätzlich zur einfachen „Ein-Knopf-Bedienung“ ist es auch möglich, den Brick Planner aus der Ferne mittels Web-Oberfläche zu steuern. Als Backend haben wir uns dabei für Django entschieden. Im Browser (auch auf dem Smartphone) ist es dann möglich, entweder die am Pi verbaute Kamera zu triggern, selbst ein Bild vom Kalender zu machen und hochzuladen oder die Brick-Planner-Konfigurationsdatei zu ändern. Nach erfolgreicher Verarbeitung spuckt der Server dann den aktuell eingelesenen Kalender als HTML-Tabelle aus und startet die gewünschten Export-Prozesse.

Gehäuse


Auch wenn die Technik ganz ohne Gehäuse funktioniert und zudem schön nerdig ausschaut, ganz nackt wollten wir den Pi und die daran angeschlossenen Komponenten dann doch nicht lassen. Im täglichen Büroalltag lauern zu viele Gefahren, die die schöne Technik zerstören könnten. Aus diesem Grund haben wir wieder einmal unseren 3D-Drucker angeworfen.

Nach nur einem Fehldruck wegen fehlender Aussparung für die RJ45-Buchse (Ups…) und knapp fünf Stunden Druckzeit war das finale Gehäuse endlich fertig. Jetzt nur noch einschalten, den richtigen Knopf drücken und schon wird der Lego™-Kalender abfotografiert, ausgewertet und verteilt. Jetzt muss zumindest keiner mehr Steinchen zählen …

Wir finden, dass sich das Ergebnis sehen lässt. Vielleicht wird ja in Zukunft noch ein „echtes“ Produkt daraus? Wer weiß …

Referenzen

[1] How Haptics changed the game of Usability – uxplanet.org/how-haptics-changed-the-game-of-usability-3ff3ae2c22e4
[2] Pi Kamera V2 – https://www.raspberrypi.org/products/camera-module-v2/
[3] Pi TFT-Hat – https://www.adafruit.com/product/2315