Wir verpassen uns ein Update: dataformers E-Patch Days

Innovationstage bei dataformers: so erweitern wir gemeinsam unseren technologischen Horizont.

Wir bei dataformers haben den Anspruch, mit fortschrittlichen Technologien und Methoden State-of-the-Art Software für unsere Kunden zu entwickeln. Um das langfristig sicherzustellen, geben wir uns im Team einen Rahmen, in dem wir uns regelmäßig über neue Technologien informieren und austauschen. Ein Teil davon sind die Patch Days / Innovationstage bei dataformers.

Was sind die dataformers E-Patch Days?

Die E-Patch Days finden jedes halbe Jahr an 2 aufeinanderfolgenden Tagen statt. Sie sollen dazu dienen, den technologischen Horizont eines aller dataformers Mitarbeiter:innen zu erweitern. Das E in E-Patch Days steht für Employee (Mitarbeiter). Mit diesen internen Innovationstagen soll das Interesse an neuen oder bisher unbekannten Technologien geweckt und erste praktische Erfahrungen damit gesammelt werden.

Idealerweise schließen sich dabei mehrere Personen zu einem Team zusammen und arbeiten gemeinsam an einem Thema. So können die einzelnen Teammitglieder voneinander lernen und am Ende den anderen Kolleg:innen einen Prototyp präsentieren. Das ist jedoch nicht das vorrangige Ziel. Das Ziel ist der persönliche Lernfortschritt und Spaß mit den Kollegen.

Die „Regeln“ der Innovationstage bei dataformers:

  • Auswahl eines beliebigen Themas (hierbei gibt es keine Einschränkung)
  • Arbeit allein oder im Team
  • Nötige Hard- oder Software wird von dataformers gestellt
  • Keine Termine an diesen Tagen
  • Die Verpflegung übernimmt dataformers

Das waren die Patch Days im Sommer 2018:

Rasch nach Bekanntgabe der internen Innovationstage bildeten sich Teams mit interessanten Projektideen. Um am Tag X alle nötigen Hardware-Komponenten parat zu haben, war im Vorfeld zumindest eine grobe Konzeption der Projekte erforderlich. Die Vorfreude bei allen Kolleg:innen war groß.

Eindrücke der Innovationstage bei dataformers

Nun stellen wir euch einige Projekte vor, die während der Patch Days entstanden sind. Diese sind aus der Sicht der jeweiligen Projektteilnehmer verfasst.

PROJEKT 1 der Innovationstage bei dataformers: Lama „Steve“

Im Wiener Büro von dataformers gab es schon länger eine Diskussion ein Haustier zu bekommen. Trotz der ganzen Vorteile eines Haustieres hat es den großen Nachteil, dass sich immer jemand darum kümmern muss - gerade an Wochenenden ist das ein Problem. Aus diesem Grund entschieden wir uns die Patch Days dazu zu nutzen eines zu bauen. Wir haben uns für ein Lama entschieden, genau genommen der Gattung Einhorn-Lama.

Planung

Da fast das ganze Wiener Büro an dem Projekt mitarbeiten wollte, mussten wir schon vor den Patch Days Vorkehrungen treffen. Diese Planung war notwendig, um das Projekt in kleinere folgende Unter-Projekte zu gliedern:

  • Design
  • Arduino
  • Android
  • Steuerung

Umsetzung

Für das Design hatten wir das Glück unseren Designer im Team zu haben. Mittels Karton, Heißklebepistole konnte er uns mit einem niedlichen Lama unterstützen.

Um mit der Umwelt zu interagieren, setzen wir auf einen Arduino, mit dem wir 4 Motoren ansteuern.

Ein ausgemustertes Android Gerät verwendeten wir sozusagen für das Gehirn des Lamas. Für die Programmierung verwendeten wir Xamarin.Android. Für die Augen des Lamas nutzen wir die Kamera des Android Geräts. Die Daten der Kamera werden der Steuerung zur Verfügung gestellt, damit wir sehen, wohin wir fahren. Auf diesen Bildern werden mittels Azure-Gesichtserkennungs-API unsere Mitarbeiter:innen erkannt.

Für die Steuerung ist die Fernsteuerung zuständig. Diese wurde mittels Blazor entwickelt, ein .NET Web-Framework, welches via WebAssembly im Browser läuft.

Die Steuerung kommuniziert mit dem Android-Gerät via WLAN und schickt Befehle wie vorwärtsfahren. Die Befehle werden vom Android-Gerät via Bluetooth an den Arduino weitergeleitet. Dort werden diese interpretiert und ausgeführt.

Des Weiteren hat unser Lama einen eigenen Twitter-Account, um über das Leben eines Lamas bei dataformers zu berichten:
https://twitter.com/Llama88080761

Nun der Entstehungsprozess noch bildlich dargestellt…

(1) Abbildung der Architektur:

Abbildung der Architektur

(2) Erster Entwurf:

Erster Entwurf

(3) Entwurf

Entwurf

(4) Grundgerüst in Rohform:

Grundgerüst in Rohform

(5) Fertiges Lama:

Fertiges Lama

PROJEKT 2 der Innovationstage bei dataformers: DataMaischers

Die DataMaischer haben es sich zur Aufgabe gemacht die zur Verfügung gestellte Zeit zu nützen, um sich nicht nur mit neuen Technologien auseinanderzusetzen, sondern auch den immer widriger werdenden Lebensumständen bei steigenden Bierpreisen entgegenzuwirken.

Ziel war es, den Maisch-Vorgang des Bierbrauens vollständig digital und automatisiert, per progressiver Web-App, überwachen zu können. So können Maisch-Vorgänge für verschiedene Bierarten eingeleitet werden – nachdem ein Braumeister zugestimmt hat. Der brauende User wird dann per Push-Notification darüber informiert.

Diese Lösung sollte auf Hardware lauffähig sein, die auch für den kleinen Haushalt erschwinglich ist, aber mit modernster Software-Technologie und Services im Hintergrund.

Schematischer Aufbau der Datamaischer-Landschaft:

Schematischer Aufbau der Datamaischer-Landschaft

Die Technologielandschaft:

  • Raspberry Pi 3 Model B
  • Wasserdichter Temperatursensor
  • Linker Platine
  • Microsoft Azure IoT Hub
  • Azure Functions
  • Azure Cosmos Db
  • Microsoft Azure Durable Functions
  • Azure Function Proxys
  • Auth0 (Social Login)
  • NET Core 2.1
  • Azure SignalR Service
  • Progressive Web App mit Angular 6 (Offline-fähig)
  • Notifications über Web Push

Hier über die von dataformers verwendeten Technologien lesen.

Umsetzung

Der Raspberry Pi wurde mit der Linker-Platine und dem Temperatursensor ausgestattet.

Raspberry Pi mit Linker-Platine:

Raspberry Pi mit Linker-Platine

Die Daten des Temperatursensors wurden mit Hilfe des Raspberry Pis ausgelesen und an den Azure IOT-Hub gesendet (Realisierung mittels Python).

Temperaturlesung

Der IoT Hub nimmt die gemessenen Sensordaten entgegen und triggert eine Azure Function, welche die Daten zum einen in einer Cosmos DB persistiert und zum anderen an einen Azure SignalR Hub weiterleitet. Dieser pusht die Daten weiter an die App, welche alle Sensorwerte in einem Diagramm darstellt und dort live aktualisiert.

Ausgabe der Sensor-Messdaten:

Ausgabe der Sensor-Messdaten

Die App wurde in Form einer Progressive Web App mit Angular 6 entwickelt. Diese ersparte uns den Umweg über die App Stores und bietet dennoch Features, die man von Apps kennt und schätzt:

  • Offlinefähigkeit
  • Push Notifications
  • Performance
  • Splash Screen / Icon am Homescreen

Das Hosting dieser Progressive Web App wurde über Azure Storage und Azure Function Proxys abgebildet. Daraus ergeben sich schlanke 0 Euro monatliche Grund-Hosting-Kosten für das App Frontend.

Um den Benutzer:innen eine einfache Anmeldung über Facebook oder ähnliche bereits vorhandene Identitäten zu ermöglichen, wurde Auth0 als Identity Management Dienst eingebaut.

Des Weiteren wurde zum Schutz der Rohstoffe vor Verschwendung eine Sicherung eingebaut, in der nur ein Maisch-Vorgang gestartet werden kann, nachdem ein Braumeister diesem zugestimmt hat.

Hierzu wurde ein Human Interaction Workflow auf Basis von Azure Durable Functions implementiert, der den Braumeister per E-Mail-Versand über einen durstigen User und dessen gewünschte Biersorte informiert.

Erteilt er dem Maisch-Vorgang seinen Sanctus, erhält der anfordernde User über Web Push sofort eine Benachrichtigung auf seinem Mobiltelefon und es kann los gehen.

Durch die jahrelange Erfahrung der beteiligten konnte der Scope in einem Bereich angesetzt werden, indem die Umsetzung genau in den 2 zur Verfügung gestellten Tagen möglich war und somit am Ende ein Produkt mit einsatzfähigen Features zur Verfügung stand.

PROJEKT 3 der Innovationstage bei dataformers: Game Engine Unity

Wer träumte nicht schonmal davon sein eigenes Videospiel zu entwickeln, das nächste World of Warcraft, Call of Duty, Super Mario oder einfach einen coolen Tetris Clone zu erstellen? Viele der heute berufstätigen Software-Entwickler:innen gehören der Generation Gaming an und haben auch über Videospiele ihre Liebe zu Technik gefunden. Was läge also näher als sich bei den Employee Patch Days diesem Thema zu widmen?

Was kann Unity?

Gerade wenn man aus dem .NET-Umfeld stammt und sich mit C# wohl fühlt, stößt man schnell auf die Game Engine Unity. Unity ist eine Laufzeit- und Entwicklungsumgebung für alles was 2D und 3D-Anwendungen betrifft. Grafiken, 3D-Modelle, und Sounds werden in die frei zugängliche Entwicklungsumgebung Unity-Editor geladen. Der Editor bietet eine Vielzahl von Unterstützungen für häufige Problemstellungen out-of-the-box. Kollisionsabfragen, eine integrierte Physik-Engine, dynamische Beleuchtungen, Hitboxes – das alles lässt sich mit dem Unity-Editor ganz einfach konfigurieren und zu einer oder mehreren Szenen zusammenführen, die das letztendliche Spiel ausmachen.

Dort wo die Konfigurationsmöglichkeiten ihre Grenzen haben, kommt Sourcecode ins Spiel. Zu jedem Objekt im Spiel können C#-Skripte hinzugefügt werden. Diese bearbeitet man in der bekannten Visual Studio Umgebung und mit ihnen ist die Definition eines eigenen Verhaltes möglich. Trifft ein Spieler zum Beispiel auf eine Münze sammelt er diese auf und fügt sie dem eigenen Inventar hinzu.

Einstieg in die Entwicklung mit Unity

Der Einstieg in Unity erfolgt sehr einfach: Online ist eine Vielzahl von Tutorials und frei nutzbaren Bibliotheken erhältlich die einem von Beginn an Grafiken und Modelle zur Verfügung stellen. So kann man sich ganz auf das Zusammenfügen der einzelnen Bestandteile und die Logik des Spiels konzentrieren.

Einsatz in der Individualsoftware-Entwicklung

Wo liegen nun die Vorteile in der Verwendung von Unity für eine Softwareentwicklungs-Schmiede wie dataformers? Unity fängt dort an wo traditionelle Userinterfaces aufhören. Damit ist es möglich ansprechende und flüssig laufende 2D-Anwendungen, aber auch faszinierende 3D-Anwendungen und Simulationen zu erstellen. In Zeiten von AR und VR ist Unity ein Werkzeug um die Grenzen zwischen physischer und virtueller Welt zu verschieben und den Benutzer:innen ein immersives Erlebnis zu bieten. Die Anwendungen laufen auf einer Vielzahl von Plattformen, angefangen von PC und Smartphones bis hin zur Integration in Webseiten.

Hier einige Screenshots von erstellten Test-Spielen:

Space Shooter:

Space Shooter

Roll a Ball:

Roll a Ball

Ufo Game:

Ufo Game

Hier geht's weiter

Noch mehr Impressionen von diversen Events gibt es hier.

Weitere Beiträge
crosschevron-left
Datenschutzinformation
Der datenschutzrechtliche Verantwortliche (dataformers GmbH, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: