Echtzeit, Offline-Betrieb, alte Bildschirme: wie es aufgebaut ist
Eine Playlist-Änderung erreicht den Bildschirm in wenigen Sekunden, die Wiedergabe läuft weiter, wenn das Netzwerk ausfällt, und ein vor acht Jahren gekaufter Bildschirm wird weiterhin unterstützt. Hier sind die Mechanismen, die das ermöglichen, und was sie kosten.
Echtzeitsteuerung — die Plattform und der Bildschirm
Jetzt sind Sie dran — Zoomen, drehen, einen Effekt anwenden: der Bildschirm folgt, und die Plattform zeigt Ihnen, was er anzeigt.
Bildschirm „Empfangshalle“
Jede Einstellung wird sofort auf den Bildschirm übertragen — keine Neubereitstellung, kein Eingriff vor Ort.
Bildschirm-Cast — vom Telefon zum Raumbildschirm
Jetzt sind Sie dran — Geben Sie den auf dem Bildschirm angezeigten Code ein, wählen Sie, was Sie teilen, und übertragen Sie: das Telefon zeigt dann, was der Raum sieht.
Bildschirmfreigabe
Salle Confluence
Öffnen Sie smart-signage.app/cast
und geben Sie dann den Code ein
K7F2
Bildschirm „Konferenzraum“ · Playlist läuft
Auf dem Bildschirm angezeigter Code
Teilen
Echtzeit: push statt Abfrage
Der übliche Weg, einen Bildschirm zu aktualisieren, besteht darin, ihn in festen Abständen beim Server nachfragen zu lassen: alle fünf Minuten, alle fünfzehn Minuten. Der Inhalt kommt irgendwann an, aber mit der Verzögerung des laufenden Zyklus, und jeder Bildschirm verbraucht Netzwerkbandbreite, selbst wenn sich nichts geändert hat.
Smart-Signage funktioniert umgekehrt. Die Plattform hält einen dauerhaften Kanal zu jedem Bildschirm offen, über Server-Sent Events, und sendet das Ereignis in dem Moment, in dem es eintritt. Sie ändern eine Playlist oder einen Zeitplan: Die Änderung geht sofort hinaus, und der Bildschirm wendet sie binnen Sekunden an. Es gibt keinen Aktualisierungszyklus zum Abwarten, und nichts wird übertragen, solange sich nichts ändert.
Diese Entscheidung hat Auswirkungen auf die Infrastruktur. Es müssen dauerhaft viele Verbindungen offen gehalten werden, was nicht der Standardbetrieb ist, für den ein Webserver normalerweise ausgelegt ist. Der Reverse-Proxy Caddy wurde insbesondere wegen seiner Zuverlässigkeit bei diesen langlebigen Verbindungen gewählt.
Der Kanal funktioniert in beide Richtungen, und das macht die Überwachung ehrlich:
- jeder Bildschirm sendet einen regelmäßigen Herzschlag, der signalisiert, dass er aktiv ist;
- die Plattform zeigt den tatsächlichen Zustand des Geräteparks, Bildschirm für Bildschirm: online, stumm, und was jeder in diesem Moment tatsächlich anzeigt;
- ein Bildschirm, der aufhört zu senden, wird sofort sichtbar, ohne dass jemand vor Ort nachsehen muss.
Wenn das Netzwerk ausfällt, und wenn ein Update schiefgeht
Ein Bildschirm, der vom Netzwerk abhängt, ist ein potenziell schwarzer Bildschirm. Die Inhalte werden daher lokal von einem Service Worker zwischengespeichert: Verschwindet die Verbindung, läuft die Wiedergabe mit dem weiter, was bereits vorhanden ist, und der Bildschirm synchronisiert sich neu, sobald das Netzwerk zurückkehrt. Niemand muss vor Ort eingreifen.
Eine praktische Einschränkung erfordert hier eine Vorsichtsmaßnahme, die es zu erwähnen gilt: Android-WebViews setzen eine Obergrenze für die Größe der Dateien, die sie zwischenspeichern. Ein großes, in einem einzigen Block geladenes Video überschreitet diese Grenze und würde nie zwischengespeichert, also nie offline verfügbar. Aus diesem Grund werden große Mediendateien in aufeinanderfolgenden Abschnitten statt auf einmal gelesen. Diese Aufteilung macht den Offline-Modus auf dieser Art von Hardware wirklich zuverlässig.
Das zweite Risiko ist nicht der Netzwerkausfall, sondern das Update selbst. Ein in ES5-JavaScript geschriebener Supervisor läuft vor dem Anwendungscode und steuert den Service Worker. Sind drei aufeinanderfolgende Starts nicht fehlerfrei, kehrt der Bildschirm von selbst zur letzten bekannt funktionierenden Version zurück. Eine Sicherung begrenzt zudem automatische Neuladevorgänge auf zwei pro Minute, um das Szenario eines in einer Schleife flackernden Bildschirms auszuschließen. Praktisches Ergebnis: Ein fehlgeschlagenes Deployment legt keinen installierten Gerätepark lahm — es repariert sich selbst.
Ein bestehender Gerätepark ist kein Gerätepark zum Wegwerfen
Das ist der Punkt, bei dem wir am wenigsten nachgeben: Die Software passt sich der vorhandenen Hardware an, nicht umgekehrt. Der Player wird in zwei aus demselben Quellcode gebauten Versionen ausgeliefert, einer modernen Version für neuere Geräte und einer ES5-Version für alte eingebettete Browser. Gleiche Funktionen, gleiches Produkt; was sich ändert, ist die Art, wie der Code kompiliert und ausgeliefert wird.
Der reale Gerätepark im Digital Signage ist kein neuer. Viele vor fünf, acht oder zehn Jahren installierte Bildschirme laufen mit einem auf der ursprünglichen Version eingefrorenen Browser, den niemand jemals aktualisieren wird. Chrome 44 und spätere Versionen werden unterstützt. LG webOS 4 bringt eine Engine mit, die Chromium 53 entspricht und CSS Grid nicht kennt: Diese Geräte erhalten speziell für sie geschriebene Ausweich-Layouts, damit das Layout zusammenhält, statt sich zufällig zu stapeln.
Diese Arbeit hat ihren Preis, und wir tragen ihn: Jede Weiterentwicklung der Benutzeroberfläche muss auf der alten Basis überprüft werden, bevor sie ausgeliefert wird. Im Gegenzug zwingt ein Wechsel der Signage-Software nicht dazu, die Bildschirme auszutauschen, und das Hardware-Budget entfällt bei der Entscheidung vollständig.
Was unterstützt wird:
- das Web, auf jedem Gerät mit Browser;
- Android, mit einer dedizierten App, einschließlich alter WebViews;
- LG webOS, ältere Generationen eingeschlossen;
- keine erzwungene proprietäre Hardware: Die Wahl des Bildschirmlieferanten bleibt Ihnen überlassen.
Was eine IT-Abteilung vor der Unterschrift prüfen wird
Das Hosting erfolgt bei OVH, auf Servern in der Europäischen Union. Keine Daten werden außerhalb der EU gehostet, und die DSGVO-Konformität ist dokumentiert.
Netzwerkseitig benötigt der Bildschirm nur einen ausgehenden Zugang zur Plattform. Der dauerhafte Kanal ist eine gewöhnliche, vom Bildschirm selbst initiierte Verbindung: Es muss kein eingehender Datenfluss in Ihre Räumlichkeiten freigegeben werden, und es ist kein Server auf Ihrer Infrastruktur zu installieren.
Es bleibt ein Kompromiss, denn es gibt einen. Auf alte Browser zu zielen verhindert die Nutzung neuer Web-Funktionen, sobald sie erscheinen, und erfordert die Validierung zweier Basen statt einer: Die Entwicklung ist langsamer, und manche Feinheiten der Benutzeroberfläche entfallen, weil sie nicht überall funktionieren würden. Wir bevorzugen eine etwas schlichtere Oberfläche, die auf allen Bildschirmen angezeigt wird, gegenüber einer glänzenden, die einen Teil des Parks außen vor lässt. Ein Käufer von Digital Signage wechselt die Software weit häufiger als die Hardware, und genau dieses Verhältnis schützt diese Architektur.
Questions fréquentes
Wie lange dauert es, bis eine Änderung den Bildschirm erreicht?
Wenige Sekunden. Die Plattform lässt den Bildschirm nicht in festen Abständen beim Server nachfragen: Sie hält einen dauerhaften Kanal zu jedem Bildschirm offen, über Server-Sent Events, und sendet die Änderung in dem Moment, in dem sie gespeichert wird. Es gibt daher keinen Aktualisierungszyklus zum Abwarten bei einer Playlist- oder Zeitplanänderung.
Müssen vorhandene Bildschirme ausgetauscht werden, um Smart-Signage zu nutzen?
Nein. Der Player wird in zwei aus demselben Quellcode gebauten Versionen ausgeliefert: einer modernen Version für neuere Geräte und einer ES5-Version für alte eingebettete Browser. Chrome 44 und spätere Versionen werden unterstützt, ebenso LG webOS 4, dessen Engine Chromium 53 entspricht und mangels CSS Grid Ausweich-Layouts erhält. Ein vor acht Jahren gekaufter Bildschirm bleibt nutzbar.
Was passiert, wenn das Netzwerk ausfällt oder ein Update fehlschlägt?
Bei einem Netzwerkausfall zeigt der Bildschirm weiterhin die lokal von einem Service Worker zwischengespeicherten Inhalte an und synchronisiert sich anschließend bei Rückkehr der Verbindung neu. Bei einem fehlerhaften Update erkennt ein in ES5-JavaScript geschriebener Supervisor, der vor dem Anwendungscode läuft, drei aufeinanderfolgende fehlerhafte Starts und setzt den Bildschirm auf die letzte bekannt funktionierende Version zurück, mit einer Begrenzung von zwei automatischen Neuladevorgängen pro Minute.
Wo werden die Daten gehostet, und auf welchen Systemen läuft der Player?
Die Daten werden bei OVH auf Servern in der Europäischen Union gehostet; keine Daten werden außerhalb der EU gehostet, und die DSGVO-Konformität ist dokumentiert. Der Player läuft im Web, auf Android mit einer dedizierten App und auf LG webOS, ohne erzwungene proprietäre Hardware.