Die levigo Innovation Days sind eines unserer Team-Events, bei welchen wir uns zusätzlich zu den bekannten Themen und alltäglichen Aufgaben mit kreativen Ideen und neuen Trend-Technologien beschäftigen. Das Konzept ist an das bekannte Hackathon-Format angelehnt und wurde von uns dahingehend erweitert, dass Innovation nicht immer 100% Neuentwicklung bedeuten muss, sondern wir vielmehr moderne Ansätze mit unseren etablierten Produkten verbinden möchten.
Nach der Teamfindung für den ersten Innovation Day wurde vormittags mit der Umsetzung begonnen. Im Vorfeld gab es hierzu bereits zahlreiche Diskussionen und Ideen – dennoch haben wir es geschafft, uns auf eine Lösung zu einigen.
Wie können wir eine "hands-free Document Viewing Experience" schaffen?
Wir haben uns dazu entschlossen eine Lösung zu entwickeln, um durch digitale Dokumente ohne klassische Bedienwerkzeuge wie Maus, Tastatur oder andere „hands-on Devices“ navigieren zu können. Unter Berücksichtigung der aktuellen Technologietrends sind wir schnell im Bereich der Sprachsteuerung gelandet, welche in den letzten Jahren insbesondere durch den schnell wachsenden Markt der Virtual Assistants etabliert wurde.
Der aktuell wohl bekannteste Sprachassistent ist der Amazon Alexa Voice Service (AVS) (kurz: „Alexa“). Der cloud-basierte Sprachdienst ist unter den Smart Speakern gar nicht mehr wegzudenken, sodass bereits mehrere Millionen Menschen alleine in Deutschland den Dienst verwenden. Alexa kann über sog. „Skills“ um Fähigkeiten erweitert werden und damit auf Fragen, Befehle oder andere Spracheingaben reagieren. Nach schneller Recherche zur technologischen Tauglichkeit für unsere Zwecke, haben wir uns letztlich dazu entschlossen, einen individuell anpassten jadice Skill für Amazon Alexa im Rahmen des Innovation Days zu entwickeln.
Gesagt, getan: Nachdem wir einen ganzen Tag bis in die Abendstunden an unserem Prototypen gehackt haben, konnten wir am darauf folgenden Tag der gesamten levigo Mannschaft die ersten Gehversuche unseres Alexa Skills in Verbindung mit dem jadice web toolkit als Dokumenten-Viewer präsentieren.
Was kann der jadice Skill für Amazon Alexa?
Ein Video sagt mehr als tausend Worte. Dazu haben wir eine exemplarische Dokumentensitzung mit unserem jadice Alexa Skill durchgeführt und die Interaktion mit einem Amazon Echo (Alexa-enabled Device) und dem jadice web toolkit als Demo dokumentiert.
Im Rahmen dieses Technologie-Experiments haben wir uns auf die wichtigsten Funktionen für den Prototypen beschränkt. Um sinnvoll durch ein Dokument navigieren zu können und dessen Inhalte entsprechend darstellen zu können, haben wir folgende Features über die Alexa Skill Sprachsteuerung abgedeckt:
- Seitenwechsel – um durch das Dokument blättern zu können bzw. zu einer bestimmten Seite anhand der Seitenzahl springen zu können
- Drehen von Seiten – um bspw. Inhalte im Querformat passend angezeigt zu bekommen
- Darstellung einpassen – um das Dokument je nach Bedarf auf die verfügbare Breite, Höhe oder optimal zu skalieren
- Textsuche anhand eines Begriffs – um einen Suchbegriff im gesamten Dokument markiert zu bekommen und zum ersten Treffer zu springen
Mit ausreichend visionärer Vorstellungskraft, den passenden Softwarekomponenten und etwas Quellcode konnten wir erfolgreich ein funktionsfähiges Ergebnis des ersten Innovation Days erzielen. Für ein vollumfängliches Produkt fehlen selbstverständlich noch ein paar Kleinigkeiten wie eine freie Dokumentenauswahl oder der Multi-User-Support – wir wollten dennoch unsere ersten Schritte in Richtung einer "hands-free Document Viewing Experience" damit veröffentlichen.
Fun Fact: Der sog. ‚Invocation Name‘, also der Aufrufname eines Skills, ist an das bereits vordefinierte Sprachmodell des Alexa Voice Services gebunden. Ja, auch wir hätten uns die naheliegende Ansprache des Skills mit jadice [d͡ʒɛdɪs] gewünscht. Da dies leider nicht technisch realisierbar war, haben wir uns dazu entschieden, den Skill einfach per Dokumentenbetrachter aufzurufen.
Wie funktioniert’s? // Die Technologie dahinter.
Wer jadice kennt, weiß, dass das jadice web toolkit nicht nur ein web-basierter Dokumenten-Viewer ist, sondern ideal für Projekte wie dieses geeignet ist. Das mit dem Eigenlob ist ja so eine Sache – dennoch hat uns gerade in diesem Fall die Integrierbarkeit und technische Flexibilität geholfen, in so kurzer Zeit Alexa und jadice miteinander zu verbinden.
Für die Entwicklung neuer Skills bietet Amazon Entwicklern das Alexa Skills Kit (ASK). Über die Alexa Developer Console wird ein Sprachmodell für den eigenen Skill hinterlegt, welches aus dem Invocation Name (Aufrufname) und verschiedenen Intents (Absichten) mit Sprachvarianten und Parametern (Slots) besteht. Da Alexa ein cloud-basierter Service ist, wird auch das Sprachmodell von Amazon verwaltet und bereitgestellt.
Nachdem ein Sprachbefehl von Alexa unserem Skill und einem bestimmten Intent zugeordnet wurde, beginnt die eigentliche Verarbeitung der Anfrage. Die dafür vorgesehene Standard-Vorgehensweise sind die Nutzung sog. Lambda-Funktionen. AWS Lambda ist das Function-as-a-Service (FaaS)-Angebot von Amazon Web Services (AWS) und entspricht dem Konzept des „serverless Computing“. Für uns bedeutet das, dass wir uns lediglich um die Korrektheit unseres Quellcodes zur Abwicklung unserer Skill-Anfragen kümmern müssen. Die performante, zuverlässige und stets verfügbare Bereitstellung dieser Funktionalität wird von AWS übernommen. Mit etwas Java-Programmlogik basierend auf dem Alexa Skills Kit haben wir so die gewünschten Funktionen implementiert.
Für die Übertragung der Steuerbefehle an das jadice web toolkit haben wir auf das de-facto „IoT-Protokoll“ MQTT gesetzt. Da wir für unseren Skill ohnehin die AWS-Infrastruktur verwenden, haben wir uns hier aus dem Service-Portfolio bedient und mit AWS IoT Core einen sofort einsatzbereiten MQTT-Broker nutzen können. Damit können wir einfach und zuverlässig Nachrichten an beliebige Clients (Subscriber) (wie eine jadice web toolkit-Browsersitzung) zustellen.
Zusammenfassend lässt sich ein kompletter Roundtrip vom Sprachbefehl bis zur Ausführung im Dokumenten-Viewer wie folgt beschreiben:
- Der User spricht den gewünschten Befehl aus, welcher von einem Alexa-enabled Device (bspw. Amazon Echo) erkannt und in der AWS-Cloud mit dem von uns hinterlegten Sprachmodell abgeglichen wird.
- Wenn die Zuordnung des Sprachbefehls zu unserem Skill und einem möglichen Intent erfolgreich war, wird unsere Lambda-Funktion mit den entsprechenden Informationen ausgeführt.
- Die Lambda-Funktion extrahiert den gewünschten Befehl (bspw. „zur nächsten Seite gehen“) und veröffentlicht ein passendes Nachrichtenpaket innerhalb eines Topics über den MQTT-Broker.
- Die aktive jadice web toolkit-Browsersitzung mit geöffnetem Dokument ist bereits mit dem MQTT-Broker und dem entsprechendem Topic verbunden und nimmt alle eingehenden Nachrichtenpakete entgegen.
- Das jadice web toolkit führt den gewünschten Befehl aus (bspw. ein Wechsel zur nächsten Seite) und Alexa bestätigt die Ausführung mit einer Sprachantwort.
Was bringt’s? // Situationen aus dem Alltag.
Wir sind stets von neuen, aufstrebenden Technologien und den damit verbundenen Möglichkeiten und Spielereien begeistert. Uns ist bewusst, dass eine Lösung mit der Akzeptanz und dem Nutzen für den Endanwender steht und fällt. Unseren technologiegetrieben Ansatz können wir uns dennoch in verschiedenen Alltags-Situationen vorstellen.
- Max liegt in der staubigen Monteursgrube und schwitzt. Seine Hände sind verschmiert. Die Hinterachse des über ihm stehenden Focus quietscht und poltert. Er hatte die hinteren Dämpfer im Verdacht, aber die sehen noch gut aus. Ein Blick ins Reparaturhandbuch könnte weiterhelfen. „Alexa, öffne jadice! Alexa, öffne Handbuch Ford Focus! Alexa, suche nach Begriff ‚Dämpfer Hinterachse‘!“
Egal ob großes Display in der KFZ-Werkstatt für Reparaturhandbücher & Co. oder ein kompaktes Tablet mit digitalem Kochbuch in der Küche daheim – ein einfach bedienbarer "hands-free" Dokumenten-Viewer kann oft eine willkommene Erleichterung sein.
Ihnen fällt eine weitere Situation aus dem Alltag ein, in welcher Sie sich schon einen "hands-free" Dokumenten-Viewer gewünscht hätten oder Sie haben einen Verbesserungsvorschlag zum jadice Alexa Skill? Wir freuen uns über jeden Kontakt!
Die levigo solutions gmbh bietet mit der jadice Produktfamilie integrationsfreundliche und flexible Java-Komponenten für das DMS-Umfeld, die die gleichartige Verarbeitung und Anzeige aller gängigen Archivierungsformate ermöglichen.
Ebenfalls realisiert die levigo solutions Kundenportale, Postkorblösungen, Rechercheclients und Datenmigrationsprozesse. Die jadice-Komponenten werden in 14 der 15 größten Versicherungskonzerne, beim zweitgrößten Bankdienstleister und in großen, öffentlichen Ministerien eingesetzt.
Die levigo solutions gmbh ist Teil der levigo Gruppe, die spezialisiert ist auf IT-Dienstleistungen und Software-Produkte für heterogene IT-Systeme. Die Unternehmensgruppe mit Sitz in Holzgerlingen beschäftigt derzeit über 70 Mitarbeiter, unterhält zahlreiche Partnerschaften und ist Partner der PDF Association sowie Mitglied im Softwarezentrum Böblingen/Sindelfingen.
www.levigo.de
levigo Business IT
Bebelsbergstraße 31
71088 Holzgerlingen
Telefon: +49 (7031) 4161-40
Telefax: +49 (7031) 4161-41
http://www.levigo.de
levigo solutions gmbh
Telefon: +49 (7031) 4161-236
Fax: +49 (7031) 4161-21
E-Mail: j.cirilovic@levigo.de