STP LabsDay 2018

Innovation wird heutzutage sehr groß geschrieben und deswegen veranstaltet STP regelmäßg den STP LabsDay. Am vergangenen Donnerstag und Freitag (26. und 27. April 2018) habe ich wieder an diesem internen 24h-Hackathon teilgenommen. Während der Arbeitszeit haben wir an diesen zwei Tagen die Gelegenheit, eine neue Idee auszuprobieren. STP übernimmt an beiden Tagen komplett die Verpflegung und Marketing hat uns wieder mit einem stylischen Geschenk überrascht. Beste Voraussetzungen für zwei Tage Innovationsarbeit.

Aktuell beschäftigt mich das Thema “Intelligent Cloud & Intelligent Edge”, sodass ich in diesem Jahr unbedingt etwas mit Cloud und Web machen wollte. Aber nicht einfach nur das nächste Angular oder Aurelia Projekt. Ich wollte Bleeding Edge Web Technologien ausprobieren. Es musste also unbedingt eine Progressive Web App sein, am besten in Verbindung mit Push Notifications. Ein Use Case ist mir auch sofort eingefallen: Kundenbenachrichtigung, egal ob der Kunde ein Gläubiger oder ein anderer Mandant ist. Das Projekt Mandate Updates hatte begonnen. Glücklicherweise konnte ich einen meiner Kollegen für dieses Szenario und die erwähnten Technologien begeistern und somit einen Partner für mein LabsDay-Projekt gewinnen. Es gibt nämlich nur eine einzige LabsDay-Regel: man muss mindestens zu zweit sein.

Am Donnerstag um 11 Uhr ging es endlich los. Nachdem wir uns über den Umfang des Projekts im Klaren waren, haben wir uns aufgeteilt. Mein Kollege hat sich auf das mit Azure Active Directory gesicherte Backend in Form einer ASP.NET Core 2 Web API gestürtzt, während ich versuchte, den PushManager mit dem ServerWorker zu verbinden. Der Anfang fiel uns beiden leicht und wir kamen gut voran. Nachmittags konnte unsere PWA sich bereits auf Datenänderungen im Backend registrieren und wurde asychron benachrichtigt, wenn eine solche Datenänderung stattgefunden hatte. Die erste angezeigte Toast Push Notification war etwas ganz besonderes für mich. Wir brauchten nichts installieren und die Seite musste noch nicht einmal offen sein und wir wurden trotzdem asynchron informiert. Super. Jetzt hatten wir allerdings die ersten Schwierigkeiten. Solange die Seite offen ist, wollten wir keine Toast Notification sehen, sondern die Seite soll sich einfach aktualisieren. Ungefähr drei Stunden und 20 Zeilen ServiceWorker-JavaScript-Code später hatten wir das Problem gelöst. Danach wollten wir das bis jetzt noch unabhängige System in unser ERP-System LEXolution.KMS integrieren. Glücklicherweise hatte ich vor ein paar Monaten LEXolution.KMS bereits in die Cloud portiert und als KMSX mit Azure Active Directory Authentication gehostet. Mit Azure Active Directory konnten wir uns also an KMSX anmelden und ebenfalls ein JWT Access Token für unsere Mandate Updates API erhalten. Bis spät in die Nacht haben wir KMSX um die Mandate Updates Funktion erweitert. Sobald der Sachbearbeiter jetzt in LEXolution.KMS bei der Akte einen Text hinterlegt, wird dieser automatisch in alle Browser gepusht, die sich im Vorfeld für Benachrichtigungen bei dieser Akte registriert hatten. Dafür kann der Sachbearbeiter zu jeder Akte eine eindeutige URL ermitteln, die der Mandant im Browser besuchen und dort sämtliche Benachrichtigungen zu dieser Akte einsehen kann. Kommen neue Benachrichtigungen hinzu, wird die Seite automatisch aktualisiert oder es wird eine Toast Notification gezeigt. Nach einem Klick auf diese Notification kann der Mandant wieder direkt alle Akten-Benachrichtigungen sehen. Wir hatten es geschafft, unser Szenario war implementiert.

Am nächsten Morgen habe ich meinen Kollegen bereits in der Bahn getroffen. Dort konnten wir uns im Rahmen eines Daily Scrums direkt abstimmen, ohne wertvolle Präsentationsvorbereitungszeit zu verlieren. Wieder im Büro angekommen hatten wir noch vier Stunden Zeit, bis wir unser Projekt präsentieren würden. Zuallererst haben wir nochmal unsere Push Notifications getestet und zwar mit dem Handy meines Kollegen. Es funktionierte alles hervorragend. Obwohl alle Anwendungen auf seinem Smartphone geschlossen waren, wurde meine KMSX-Aktenänderung direkt in Form einer Push Notification auf seinem Handy anzeigt. Anschließend widmete sich mein Kollege der Integration von Mandate Updates in ein weiteres Software System der STP. Ich fing an die Präsentation vorzubereiten und die Demo zu planen. Plötzlich funktionierten meine Push Notifications nicht mehr. Sie wurden einfach nicht mehr angezeigt, sobald ich den Browser geschlossen hatte. Nach einiger Zeit habe ich dann bei einer Internet Recherche herausgefunden, dass Push Notifications nicht mehr dispatched werden können, wenn alle Browser-Fenster geschlossen sind. Wahrscheinlich hatte ich bei allen vorherigen Versuchen irgendwo noch ein Chrome-Fenster im Hintergrund offen, sodass die Notifications verarbeitet werden konnten. Dieser Unterschied zwischen Desktop und Mobile ist wirklich bemerkenswert. Irgendwie haben wir es dann noch geschafft unsere Präsentation vorzubereiten und auch noch etwas Essen zu gehen.

Anschließend haben alle Teams ihre Ergebnisse präsentiert. STP hatte zu dieser Präsentation wieder einen Kunden und alle Vorstände eingeladen. Während der Präsentation gingen unsere Push Notifications anfänglich wieder nicht, wurden dann aber mit etwas Verspätung doch noch angezeigt. Mandate Updates war ein voller Erfolg und wurde sogar mit dem Kundenpreis ausgezeichnet. Natürlich wird Mandate Updates mit asynchronen Push Notifications die Kommunikation mit Telefon und E-Mail nicht ablösen, aber es erweitert diese. Mit Mandate Updates bekommen Sie einen neuen Kanal zu Ihren Mandanten.

Mein Kollege und ich hatten viel Spaß bei der Umsetzung und wir haben beide eine Menge gelernt. Ich bin mir sicher, dass alle Teams eine Menge gelernt haben. Herzlichen Glückwunsch auch an 1nicerUploader und Time Rocket, die den “leider geil”- und den Vorstands-Preis gewonnen haben. Sieben Teams sind insgesamt gestartet und auch wenn nur drei Teams mit einem Preis ausgezeichnet werden konnten, alle STP-LabsDay-2018-Projekte haben die gesamte Firma deutlich motiviert und inspiriert. Ein großartiges Event!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s