makies allein zu haus: wir coden einen sprachassistenten
Lesezeit: 3 Min
Ein Beitrag von Sebastian Patzelt.
„Wer nicht mit der Zeit geht, muss mit der Zeit gehen“. Eine altbekannte Phrase für alle, die mit Zukunftstechnologien arbeiten. Doch wie geht man als Organisation, als Team strukturell und methodisch statt aktionistisch „mit der Zeit“? In einem internen Entwickler:innen-Workshop sind wir dieser Frage auf den Grund gegangen und haben versucht, dieser Worthülse echtes Leben einzuhauchen. Herausgekommen sind spannende Anwendungen, von denen wir eine heute vorstellen möchten.
Ob auf Branchenwebsites oder einschlägigen Entwickler:innen-Konferenzen: Überall stolpert man über Buzzwords und Technologien, die selten über ein „Hallo Welt“-Beispiel hinausgehen. Warum also nicht selbst Anwendungsbeispiele schaffen? Das entspricht unserem Anspruch als mmmake, unser Verständnis für Technologie stetig über die Grenzen des heute Gebräuchlichen hinaus zu erweitern. Und das nicht als Selbstzweck, sondern um diesen Wissensvorsprung in die Arbeit für unsere Kund:innen mit einfließen zu lassen.
themenfindung im buzzword-dschungel
In einem kleinen Team von sieben Entwickler:innen aus Backend- und Frontend-Spezialist:innen nahmen wir uns zuerst genügend Zeit für Recherche und praktische Übungen, um aus teils gefährlichem Halbwissen fundierte Erkenntnisse zu generieren. Ob Serverless Cloud, Künstliche Intelligenz, Micro Front Ends/Webcomponents, Ivy oder Progressive Web Apps (PWA): Die Auswahl an Themen war unerschöpflich. Also konzentrierten wir uns darauf, ein Projekt zu umreißen, das möglichst viele Wünsche und Neigungen berücksichtigt, um im nächsten Schritt User Stories abzuleiten.
wunschkind: sprachassistenz
Das Ergebnis war die Vision eines Sprachassistenten: CAMI. CAMI sollte im Gegensatz zu Alexa oder Siri nicht proprietär gebunden sein, sondern als web-basierte Unterstützung überzeugen. Konkret wollten wir eine Assistance Platform aufbauen, die einen beim Verlassen des Fahrstuhls persönlich begrüßt, auf anstehende Termine hinweist und uns über relevante Neuigkeiten des Tages informiert. Das alles natürlich in der Muttersprache der Nutzer:innen. Der in viele Richtungen abzweigende Wissensdurst der unterschiedlichen Makies lässt sich mit einer so komplexen Anwendung ebenfalls stillen. Etappenziel geschafft.
der weg zur multiplattform-applikation
Das Projekt sollte als Angular 8 Applikation aufgesetzt werden. Die Applikation wollten wir sowohl nativ für iOS und Android als auch im Web als Docker Container bereitstellen. IVY, der neue Angular Compiler (in Angular 8 noch als Preview und in Angular 9 standardmäßig integriert), sollte hier experimentell eingesetzt werden. Aufgebaut wurde das Projekt in dem Strategic Design Muster von nx.dev. Dann ging es auch schon an die Aufgabenverteilung: Deployment (der Prozess von der Entwicklung bis zur Bereitstellung der nutzbaren Applikation), Authentifizierung und die Gesichts- und Spracherkennung mussten bewältigt werden.
viele, viele bunte backend functions
Als langjähriger, erfahrener Microsoft Partner sind unsere Wolken azurblau: Das klassische Backend, wie es der Autor und die Backend-Spezialist:innen seines Teams kennen, haben wir in kleinsten Funktionseinheiten mittels Azure Functions ausgelagert und in der Cloud betrieben. Es entstand eine Begrüßungsfunktion, die mittels Azure Cognitive Services auch Übersetzungen durchführt; eine Datenbankablagefunktion, für die Persistenz von Benutzer- und Konfigurationsdaten sowie eine Funktion, die die Daten aus der Azure Cosmos DB wieder liest und zur Verfügung stellt.
neue devops-wege mit bekannten stolpersteinen
Auch dieser Beitrag kommt nicht ganz ohne DevOps aus: Was in aller Munde war und ist, wurde bei uns einfach betrieben, ohne einen Hype daraus zu machen. Bereits am zweiten Tag war es uns möglich, den Open Source Code aus GitHub automatisiert zu bauen und zu deployen. Ein kleiner Wermutstropfen hierbei war das „neue“ Pipeline-Konfigurationsskript von Azure DevOps. Für normale Builds ganz okay; entwickelt man aber für mehrere Plattformen und nutzt verschiedene Technologien, wird das ganze schnell unübersichtlich. Aber auch dieses Riff wurde souverän umschifft.
doch alles nur phrasen?
Wie man an den gefetteten Schlagwörtern in diesem Beitrag merkt, wurden ziemlich viele Technologiefelder bearbeitet und näher untersucht. Das Ergebnis kann sich sehen lassen. Wir haben als Team super zusammengearbeitet und innerhalb einer Woche eine Lösung entwickeln können, die unserer Vision sehr nahekommt.
Dieser Workshop hat mir wieder einmal gezeigt, dass Technologie nicht nur unser Beruf ist, sondern jeder auch seine ganz persönliche Leidenschaft mit einbringt. Sie können fest davon ausgehen, in Zukunft noch oft von unseren Abenteuern im Umgang von Mensch und Maschine zu hören. Bleibt nur noch eins zu tun:
„CAMI – Sende diesen Text zum Lektor!“