News Blog
Barbara Hinderer | October 13, 2022

Aspekte der Entwicklung von Mixed Reality- und Spatial Computing-Anwendungen

Spatial Computing Anwendungen

Mixed Reality

Blogbeitrag von Andreas Erben, CEO, CTO, Microsoft MVP & Regional Director, Scrum Trainer, Unternehmer, Berater, Redner

Das derzeit vorherrschende Paradigma für das Entwerfen und Entwickeln von Computeranwendungen wurde vor allem in den sechziger Jahren des letzten Jahrtausends definiert, also vor über 50 Jahren. Die wichtigsten Neuerungen waren die Maus und der Touchscreen. Das Konzept des Terminals mit einer grafischen Benutzeroberfläche unter Verwendung einer Maus stammt aus den späten 1960er Jahren.

Für die meisten von uns beschreibt dies die Realität, wie wir sie meiste Zeit mit der Informationstechnologie auf Smartphones und Computern verbringen. Dies führt auch dazu, dass unser Denken kulturell in diesem Paradigma verankert ist. Wenn Gespräche über das Entwerfen von Anwendungen stattfinden, ist es selbstverständlich, auf dieses Paradigma zurückzukommen, auch wenn wir über Mixed Reality-Anwendungen sprechen.

Wenn Kunden von Augmented Reality, Virtual Reality, Mixed Reality, Extended Reality und anderen verwandten Schlüsselwörtern hören, denken viele dann ohne vorherige Erläuterung meistens an zweidimensionale Informationen, die einer Computeranzeige ähneln, irgendwo in einen dreidimensionalen Kontext. In einigen Fällen kann dies zwar ein vernünftiger Ansatz sein, in der Regel stellt das jedoch die verpasste Gelegenheit dar, über Anwendungen nachzudenken, oder genauer gesagt über die zu lösenden Probleme und die sich ergebenden Möglichkeiten sowie neue Lösungen.

Ich hatte das Glück, bereits Mitte der neunziger Jahre mit Virtual Reality-Technologien und -Lösungen zu tun zu haben, hauptsächlich in einem akademischen Kontext. Zu dieser Zeit war die Technologie für eine Anwendung auf breiter Front keineswegs kommerziell umsetzbar, aber es entstanden bereits interessante Konzepte. Für mich war der Hauptunterschied zu jener Zeit, als ich angefangen habe, mit Microsoft HoloLens zu arbeiten, die neue Fähigkeit, auf andere Weise mit unserer realen Umgebung zu interagieren und zu erkennen, dass ein IT-System an einer natürlicheren Interaktion mit unserer Umgebung teilnehmen kann. Die Kernfunktion dessen wird manchmal als „Wahrnehmung“ bezeichnet, die es dem Gerät ermöglicht, durch seine Sensoren und Algorithmen ein gewisses Verständnis dafür zu erlangen, was in der realen Welt geschieht.

Eine der wichtigsten Möglichkeiten besteht darin, nicht lernen zu müssen, wie man mit einer Tastatur oder einer Maus interagiert, um das gewünschte Ergebnis zu erzielen, sondern dass das IT-System unsere Absicht idealerweise versteht, wenn wir mit unserer natürlichen Umgebung interagieren und Informationen dort darzustellen, wo es darauf ankommt. Wir klicken nicht auf eine Schaltfläche, wenn wir in einen Apfel beißen wollen, sondern greifen einfach nach dem Apfel und beißen rein. Unsere natürlichen Interaktionen werden von dem bestimmt, was unsere Biologie uns ermöglicht. Natürlich kann man philosophisch argumentieren, dass dies uns auch verankert und unsere Auswahl für das Entwerfen von Systemen beschränkt, da wir darauf abzielen könnten, unsere eigene, herkömmliche Herangehensweise zu verbessern, um die Realität mit neuen Konzepten zu erfassen. Ich glaube aber, dass es aktuell ein wichtiger Ansatz ist, den Schwerpunkt auf die Arbeit mit unseren grundlegenden natürlichen Paradigmen zu legen, da dies auch die Erfahrungen am umfassendsten einschließt, die alle Menschen teilen. Und das kann zu Anwendungen zum Wohle der allermeisten Menschen führen.

Künstliche Intelligenz

Hier kommt die künstliche Intelligenz ins Spiel, die die Grundlage für dieses Verständnis der Umgebung und auch der Benutzerinteraktionen bildet. Microsoft HoloLens bietet beispielsweise Mechanismen, um einen Koordinatenraum für unsere Welt bereitzustellen, und Mechanismen, um sich in dieser Welt zu verorten, sowie Zugriff auf Sensoren wie Kamera und Mikrofon, die es ermöglichen, zuerst besser zu verstehen, was vor sich geht, und dann aus sensorischen Eingaben und Kontext zu entwickeln, was als nächstes passieren sollte, was die Absicht der Person sein könnte, die das Gerät verwendet.

Um den Prozess der Entwicklung von Ideen auszugleichen und dann zu versuchen, ein Projekt mit einem Kunden, der oft als „Envisioning“ bezeichnet wird, in Angriff zu nehmen, braucht es sowohl einen erfahrenen Technologiepartner mit der richtigen Mischung aus kühnen Visionen und soliden technologischen Kenntnissen, als auch einen Kundenm, der bereit und in der Lage ist, diese Ideen fließen zu lassen und sie weiterzudenken. Wenn sich der Kunde nicht voll darauf einlässt, kann es häufig zu Frustrationen auf beiden Seiten kommen, wobei ein sehr typisches Szenario darin besteht, dass der Kunde immer wieder bestimmte zweidimensionale Bildschirme in einer dreidimensionalen Welt sehen möchte, sowie möglicherweise ein 3D-Modell von einem Produkt, das der Kunde verwendet, baut oder verkauft. Gleichzeitig gibt es dann oft die Erwartung, dass alles großartig aussehen sollte, basierend auf VR-Inhalten mit großem Budget, die man möglicherweise irgendwo einmal gesehen hat, wobei das alles aber nur so viel kosten soll, wie eine herkömmliche Formular-Eingabe-App für das Smartphone.

Mein Rat besteht darin, immer die Frage zu stellen, wo sich der Wert in jeder Phase des potenziellen Projekts befindet, um abweichende Erwartungen zu vermeiden. Außerdem ist es äußerst nützlich, Kunden mithilfe von Demos einige Konzepte in Mixed Reality-Anwendungen vorzustellen. Dies können Anwendungen von Drittanbietern sein, es können sogar Spiele sein, solange sie die Geschichte erzählen, auf was es ankommt. Ein frühes Beispiel für Anwendungen von Microsoft HoloLens war das Shooter-Spiel RoboRaid“. Das Spiel eignet sich oft für eine schnelle Demonstration, da es nicht viel Zeit benötigt, um es einzurichten und es jemanden erfahren zu lassen. Während es für einen Kunden leicht ist, in das Spiel einzutauchen und sich für das Spiel zu begeistern, spielt die zwingend dazu gehörende Erzählung eine noch größere Rolle. Der Schlüssel ist die Interaktion mit der Umwelt. RoboRaid „scannt“ die Umgebung nach geeigneten Stellen an der Wand, an denen feindliche Roboter auftauchen und weiterkriechen. Das ermöglicht das Denken über räumliche Anwendungen.

In einer unserer eigenen Anwendungen haben wir einen interaktiven animierten Avatar entwickelt, der dem Benutzer folgen kann und auf Befehl auf Punkte im Weltraum zugeht, um die Aufmerksamkeit des Benutzers zu lenken. Diese Anwendung nutzte den Raum intelligent, indem sie die 3D-Umgebung analysierte und Objekte in dieser Umgebung platzierte. Das Gespräch mit einem Kunden kann sich dann auf alle Szenarien beziehen, in denen ein Benutzer der Anwendung zu Sonderzielen in einer realen Umgebung oder zu virtuellen Objekten in einer realen Umgebung geführt wird. Dann kann der Kontext zu Mechanismen erweitert werden, um mit dem dreidimensionalen Raum zu interagieren.

Zum Verständnis der Umgebung können die Funktionen der verwendeten Plattform, z.B. des Weltkoordinatensystems von Microsoft HoloLens mit Cloud-basierten Microsoft Azure Spatial Anchors kombiniert werden, um weitere Vorteile erzielen. In diesem Fall können AR/VR-Plattformen von Drittanbietern integriert und der Standort problemlos beibehalten werden. Da die meisten AR-Plattformen den Zugriff auf eine normale Kamera (RGB) ermöglichen, können allgemeine Computer-Sichtfunktionen in Anwendungen integriert werden, wobei der räumliche Kontext berücksichtigt wird. Vereinfacht bedeutet das, genau zu wissen, was wir zu welchem Zeitpunkt aus welchem Blickwinkel betrachtet haben. Die Verwendung anderer Dienste, die Einblicke in digitale Bilder bieten, wie z.B. Computer Vision von Microsoft Azure Cognitive Services, führt nun dazu, dass dreidimensionale Räume mit Anmerkungen versehen und Änderungen der Beobachtungen im Laufe der Zeit analysiert werden können. Ein Beispiel könnte darin bestehen, die ungefähre Position gängiger physischer Objekte wie Möbel in einem Gebäude im Laufe der Zeit zu vergleichen und relevante Änderungen der Position von Objekten automatisch zu erkennen.

Dies stellt einen relativ einfachen Ansatz dar, um Anwendungen mit räumlichem Bewusstsein zu erstellen, auf die Entwicklungsteams mit durchschnittlichen Fähigkeiten zugreifen können, die Standardtechnologien verwenden, insbesondere demokratisierte Computer Vision und KI in der Cloud.

Ein weiterer Aspekt beim Erstellen von Anwendungen für Mixed Reality betrifft diese Entwicklungsteams. Eine Mixed Reality-Anwendung erfordert häufig Fähigkeiten, die auf Teammitglieder mit unterschiedlichem beruflichen Hintergrund verteilt sind, im Vergleich zu typischen Unternehmensanwendungen. Der Entwicklungsprozess ähnelt häufig eher der Erstellung eines Computerspiels oder einer interaktiven Medieninstallation und hat in vielerlei Hinsicht viele Gemeinsamkeiten mit dem, was Kreativagenturen tun. In diesem Feld finden sich u.a. Spezialisten für interaktives Design, für 3D-Interaktionen, für 3D-Modellierung und -Optimierung, Creative Directors, Sounddesigner und technische Nischenfähigkeiten wie die Optimierung von GPU-Shadern. Für den Erfolg dieser Teams spielen die Teamkultur und die Organisationskultur eine wichtige Rolle. Um auf Extreme hinzuweisen: In einer traditionellen, auf das Engineering ausgerichteten Struktur fühlen sich kreative Talente möglicherweise eingeschränkt und die Kreativität erstickt, während eine Kultur, die einigen Kreativagenturen zu ähnlich ist, möglicherweise nicht dazu führt, dass das Software-Engineering auf Langfristigkeit ausgelegt wird. Einige Kreativagenturen bieten zum Beispiel ein sehr ansprechendes Endergebnis, wobei aber die Lösung für eine langfristige Nutzung durch das Unternehmen nicht haltbar ist. Auf der anderen Seite können der Führungsstil und die Kommunikation in vielen Software-Entwicklungsunternehmen, die eine hervorragende Erfolgsbilanz in der technischen Exzellenz vorweisen können, die Kreativität in Bezug auf das gesamte Lösungsdesign und die Gestaltung einschränken.

Wir mussten unsere eigene Lernkurve durchlaufen, um mit diesen Interaktionen umzugehen. Ein Beispiel ist der oben erwähnte Entwurfsprozess für den Avatar. Als wir unsere erste Iteration des 3D-Modells unseres Avatars erhielten, mussten wir unseren Charakter-Designer und 3D-Künstler bitten, einige Änderungen vorzunehmen. Es war offensichtlich, dass dies für den Künstler fast verletzend war, was uns zunächst überraschte. Wir haben das dann besser verstanden, als wir uns den Prozess angesehen haben. Der Künstler kümmerte sich sorgfältig um jedes Detail seines Kunstwerks und zeichnete sorgfältig die Fellstruktur und einzelne Haarsträhnen, die dann für den Avatar verwendet wurden. Es war sein virtuelles „Baby“, seine Schöpfung. Das Gefühl der kreativen Eigenverantwortung und der Selbstidentifikation mit ihren Kunstwerken ist für viele Künstler viel stärker als die Art und Weise, wie ein Softwareentwickler seine Ergebnisse betrachtet. Der Softwareentwickler kann mit einer Bitte um eine kleine Änderung im Detail seiner Anwendung viel einfacher umgehen, oder ebenso wenn jemand eine effizientere Lösung für ein in der Softwareimplementierung gelöstes Problem findet. Unser Verständnis beinhaltete die Verbesserung unseres Feedback-Prozesses und auch, dass wir sicherstellen, dass die Kommunikation zwischen den Teammitgliedern gelingt, und dass wir die Art und Weise anpassen, wie wir den Teammitgliedern die erforderlichen Änderungen auf eine Weise mitteilen, die ihrem Hintergrund und ihren Bedürfnissen besser entspricht. Zum Beispiel versuchen wir normalerweise, die Änderungen des kreativen Künstlers auf ganzheitlichere Weise zu „akzeptieren“, anstatt nur zu verlangen, einen Aspekt eines Designs zu ändern, damit sich alle einig sind und an einem Strang ziehen.

Und zuletzt haben wir festgestellt, dass unsere Teams vielfältiger geworden sind und unsere Interaktionen in der Regel geografische und kulturelle Grenzen überschreiten. Es ist nicht ungewöhnlich, dass ein Team auf mehrere Zeitzonen, Länder oder Kontinente verteilt ist. Das an sich stellt manchmal eigene Herausforderungen dar, führt jedoch meist zu Chancen. Wir denken, dass es eine lohnende Erfahrung ist und uns stärker, besser, aber auch menschlicher gemacht hat.

Insgesamt glauben wir, dass es uns gelungen ist, eine Denkweise und einen Ansatz zu entwickeln, um sowohl unsere Kunden als auch uns selbst bei der Bewältigung von Spatial-Computing-Anwendungen erfolgreicher zu machen.

#mixedreality #mr #spatialcomputing #vr #ar #virtualreality #augmentedreality