DIY – Belegungsanzeige für Besprechungsräume

Wer kennt das nicht: Man steht vor einem Besprechungsraum, die Tür (leider ohne Sichtfenster) ist zu. Ist der Raum nun frei oder belegt? Ein Problem wie bei Schrödinger’s Katze – erst ein zögerliches Klopfen schafft Gewissheit und im dümmsten Fall ist man gerade in eine Besprechung hineingeplatzt.

Die Thematik ist natürlich nicht neu und es gibt allerlei Lösungen…

Die einfachste, die mir bekannt ist, ist ein „Schieber“ am Türschild der entweder „Frei“ oder „Belegt“ anzeigt. Prinzipiell gar nicht so schlecht, allerdings ist ein Mindestmaß an Disziplin erforderlich, zu Beginn einer Besprechung den Raum als „Belegt“ zu markieren und fast wichtiger, am Ende einer Besprechung auch wieder „Frei“ zu geben. Ganz ehrlich, in den Fällen, in denen so ein System zum Einsatz kam, war der Raum irgendwie immer „Belegt“. Gut „Belegt“ ist im Zweifel auch besser als „Frei“ – so kann der Raum schon nicht aus Versehen verwendet werden.

Natürlich gibt es inzwischen auch schönere Lösungen. Nachdem die meisten Firmen ihre Besprechungsräume in einer Groupware (wie z.B. Exchange) verwalten, kann die Belegungsanzeige auch digital erfolgen. Die einfachste und günstigste Möglichkeit besteht beispielsweise darin, einem Web-Portal das Passwort des Besprechungsraums zu geben. Im Portal wird der Kalender des Raumes abgerufen und daraus eine Webseite generiert; diese kann dann auf einem günstigen Tablet angezeigt werden. Ob das gewünscht ist, muss jeder für sich selbst entscheiden.

Etwas sicherer und komfortabler geht das mit fertigen Raumbelegungsdisplays. Es gibt einige Hersteller am Markt, die ganz schicke Lösungen herstellen, die aber auch ihren Preis haben.

Als IT-Firma stellt sich spätestens ab diesem Punkt die Frage „How hard can it be?“.

Im Rahmen eines Team-Workshops haben wir uns genau dieser Herausforderung gestellt.

Die Hardware

Als Hardware haben wir auf bekannte Komponenten gesetzt:

Die Hardwarekosten pro Raum belaufen sich auf ca. 150€.

Die Software

Als Programmiersprache für die Software wurde Python gewählt, da es dafür bereits fertige Libs zur Kommunikation mit der Office 365 Api und zum Ansteuern der LED’s gibt.

Als Oberflächenframework haben wir uns für kivy entschieden.

Die Anforderungen

Zu Beginn haben wir einen kleinen Anforderungsworkshop gemacht. Es war sehr schnell klar, dass wir keine aufgeblasene Lösung wollen, sondern erstmal das Hauptproblem angehen, nämlich kenntlich machen, ob ein Raum belegt oder frei ist, und wie lange. Das ist unser Minimal Viable Product (MVP).

Der Status eines Raumes soll auf drei Arten angezeigt werden:

  1. textuell:
    1. „frei bis“
    2. „belegt bis“ inklusive Anzeige des Organisators
  2. farbliche Gestaltung der grafischen Oberfläche:
    1. grüner Rand, wenn frei
    2. roter Rand, wenn belegt
  3. leuchten der LED’s:
    1. grün, wenn frei
    2. rot, wenn belegt

Natürlich kamen beim Sammeln der Anforderungen auch zahlreiche weitere Vorschläge, was an dem Display alles möglich sein soll, wie z.B. das Anlegen eines AdHoc Meetings vom Display aus, wenn der Raum aktuell frei ist. All diese Ideen und Vorschläge haben wir in unser Backlog eingetragen.

Nachdem die Anforderungen klar waren, haben sich drei Teams gebildet:

  1. Oberflächendesign
  2. Business-Logik und Architektur
  3. Anbindung an Office 365

Nach ersten Startschwierigkeiten, v.a. bei der Erstellung der kivy UI, kann sich das Ergebnis am Ende des Workshop-Tags durchaus sehen lassen:

In den darauffolgenden Tagen wurde die Software nochmal ein wenig überarbeitet und auch zahlreiche Tests geschrieben, um zu prüfen, ob alles funktioniert. Inzwischen befinden wir uns im Alpha-Test. An zwei Besprechungsräumen wurden Displays angebracht und wir sammeln das Feedback der Nutzer, um die Funktionalität der Software kontinuierlich weiterzuentwickeln.

Also ich bin zufrieden. Was meint ihr?

An dieser Stelle nochmal ein fettes Danke an das Team MedDev.

+++ UPDATE 1 +++

Inzwischen wurde auch der Feature-Wunsch umgesetzt, am Display selbst den Raum für ein spontanes Meeting zu buchen, wenn dieser aktuell frei ist.

+++ UPDATE 2 +++

Der Quellcode ist auf Github zu finden: Meeting-Room-Display