NODE T-Talk #01 mit Christopher Zündorf

30.08.2022

Christopher Zündorf ist seit März 2021 Head of UI/UX bei NODE. Bevor er bei NODE startete studierte er Wirtschaftsinformatik in Konstanz und sammelte Erfahrungen in verschiedenen Unternehmen ­­– sei es in mittelständischen Unternehmen, wie Vector Informatik oder Konzernen wie SAP, 1&1 und IBM. Startups waren für ihn aber schon immer interessant. So gefällt ihm die Idee Unternehmen von Grund auf mitzugestalten und die Komfortzone eines größeren Unternehmens zu verlassen. Deshalb passte auch NODE als junges Start-up in einer innovativen Branche genau ins Bild.

Christopher und sein Team kümmern sich um die Entwicklung der Frontend-Anwendung für NODE.OS. Das Ziel ist es Sensordaten und Positionen von Robotern sowie Flotten von autonomen mobilen Robotern zu visualisieren und sie über das Frontend steuerbar zu machen. Im Prinzip kann der Benutzer so über den gesamten Arbeitsablauf – von der Einrichtung der AMRs, über die Erstellung von Karten und deren Transfer zu anderen Robotern bis hin zum Monitoring und der Generierung von Missionen- durchgeleitet werden.

Hallo Christopher. Erzähl uns mal von deiner täglichen Arbeit. Was tust du den bei NODE? 

Zunächst leite ich das Team der UI/UX-Abteilung. Wir entwickeln das Web-Frontend für NODE.OS mit Typescript und Angular, um die Roboterdaten zu visualisieren und Befehle an die AMRs senden zu können. 

Dabei bin ich nicht nur als „People Manager“ tätig, sondern entwickle auch einiges mit. Wenn meine Teamkollegen Fragen haben, lösen wir die Probleme oft gemeinsam in Screen-Sharing-Sitzungen. Durch das Squad-Modell haben sich die Zuständigkeiten bei den Themen vermischt. Beispielsweise arbeiten wir beim Live Environment Server oder beim Rosbag Player eng mit dem Operations Chapter zusammen, um Lösungen zu finden.

Was sind Herausforderungen, die du in deiner Tätigkeit bewältigen musst? 

In meinem Team wird fast zu 100 % remote gearbeitet. Einige von ihnen arbeiten in Teilzeit. Unter diesen Bedingungen ist es definitiv eine Herausforderung, die nötigen Informationen richtig zu verteilen. Grundsätzlich gehen wir in unserem Team aber sehr respektvoll miteinander um, weshalb die Zusammenarbeit per Remote-Arbeit erstaunlich gut funktioniert. 

Gibt es ein Projekt aus der Vergangenheit, dass Dir bei deinen Aufgaben bei NODE besonders geholfen hat?

Ja, es gibt tatsächlich da ein Projekt. Was mir in meiner Rolle bei NODE Robotics am meisten geholfen hat, ist eigentlich sogar ein privates Projekt. Dabei handelt es sich um ein 3D-Abenteuer-Framework, das auf Web-Technologien mit Pixel-Art-Design basiert. Das Wissen, das ich dort erworben habe, hat sich schnell als nützlich für die Front-End-UX für NODE.OS erwiesen. 

Christopher Zündorf mit Susanne Gottschaller im Gespräch.

Seine Richtung zum späteren Beruf war eigentlich schon früh klar für ihn. Schon zu Schulzeiten hat er gerne Webseiten entworfen. Noch während seines Studiums wechselte er kurzfristig in den Java-Backend-Bereich, doch schnell zog es ihn wieder zurück zu den Webtechnologien und mobiler Webentwicklung. Zündorf arbeitete mehrere Jahre lang an UI-Frameworks für SAP und 1&1.  

Zu wissen, wie beide Seiten der HTTP-Netzwerkkommunikation und SQL oder MongoDB funktionieren, ist sehr hilfreich, so hat er im Laufe seiner Karriere auch immer wieder die “Seite” gewechselt und beherrscht so auch die Backend-Entwicklung in Java, PHP oder JavaScript.

Wie baut man ein User Interface von Grund auf?

Wir handeln da nach dem Prinzip: „Make it work, make it awesome“.  Die Vorgehensweise ist dabei eher, Prototypen mit Quellcode zu erstellen, anstatt ewig in Adobe xD an Konzepten zu basteln. Von den Prototypen dann ausgehend wird iterativ mit dem Nutzer abgestimmt, in welche Richtung es gehen soll. Dabei gibt es grundsätzliche Ansätze, die berücksichtigt werden sollten: „Wie viele Klicks sind nötig, um XY zu machen?“ 

Wichtig ist auch den konkreten Kunden und seine Vorstellungen zu kennen. In welcher Umgebung soll die Software eingesetzt werden? Was will der Kunde mit der Software erreichen? Auf der Grundlage dieses Wissens kann man auch sehr gute Erwartungen in Unit- und visuellen Tests erstellen. 

Aus der Ablaufperspektive gesehen, verbinden und spezifizieren wir oft zuerst das UI-Backend/Flottenmanagement. Dann erstellen wir grundlegende Interaktionselemente wie Schaltflächen und statten sie mit Funktionen aus. Die Benutzeroberfläche wird am Ende formatiert und poliert, sobald die grundlegende Funktion implementiert und mit Unit-Tests validiert wurde. Oftmals führen wir auch mehrere Runden durch, um verschiedene Dialoge und Funktionen immer wieder zu verbessern. Derzeit arbeitet das UI-Team intensiv an der Verbesserung der Landing Page des Frontends. Und das nimmt tatsächlich Tage und Wochen in Anspruch.

Was waren die wichtigsten Meilensteine, die das NODE-UI wesentlich verbessert haben? 

Wesentliche Meilensteine waren z.B. die vollständige Darstellung der Roboterposition bzw. -bewegung sowie der Pfade und Zonen. Aber auch die korrekte Anbindung an das Flottenmanagement und die 3D-Ansicht für die Flotten-AMRs waren von großer Bedeutung. Nicht zuletzt ist die Implementierung des Rosbag Players zur Analyse der berechneten Navigationspfade zu nennen. Der nächste Schritt ist derzeit die Anbindung an den Live Environment Server, um den Austausch von Kartendaten zwischen AMRs und Fleet Management zu ermöglichen.

Welche Tools/Programme nutzt du und warum? 

Zu meinen häufig genutzten Tools zähle ich Visual Studio Code für die allgemeine Softwareentwicklung. Inkscape für die Erstellung von SVGs und Grafiken für das Frontend. Notion für die Organisation von Produktideen und Notizen. Blender, um 3D-Modelle im Produktionsszenario zu erstellen, ist ebenfalls erwähnenswert.

Ist es nicht ungewöhnlich als Front-End Designer mit 3D-Modellen zu arbeiten? 

Glücklicherweise nicht mehr. Seit einigen Jahren können Browser eine Menge Dinge tun, die früher nur Desktop-Anwendungen konnten. WebGL und 3D-Rendering sind kein Problem mehr. Natürlich sollte man die Möglichkeiten ausnutzen. Glücklicherweise haben wir eine sehr talentierte Studentin, die sich um die Erstellung/Bearbeitung der 3D-Modelle in Blender kümmert. Die Einbindung in die Webanwendung übernehme dann ich.

Woher nimmst du die Inspiration für die Gestaltung und wie hältst du dich auf dem Laufenden? 

Heutzutage geht nichts mehr an YouTube vorbei. Vor allem dort gibt es viele Inspirationsquellen, wie z.B. das Tesla Full-Self-Driving oder die Roboter von Boston Dynamics. Man kann sich aber auch von Videospielen inspirieren lassen. Produktionsplanungsspiele oder Strategiespiele sind dabei sehr wertvoll. Gerade unser Flottenmanagement-Monitoring erinnert sehr an ein Strategiespiel und soll im besten Fall auch genauso viel Spaß machen. Aber auch die täglichen Gespräche mit den Kollegen bieten Raum für neue Ideen. Es ist super, wie viele Ideen in Gesprächen entstehen. Leider fehlt es immer noch an Zeit und Mitarbeitern, um sie umzusetzen.

Besteht ein Unterschied in der Herangehensweise an die Erstellung einer Benutzeroberfläche für mobile oder Desktop-Anwendungen? 

Generell ist der Mobile-First-Ansatz dabei sehr vorteilhaft. Wenn etwas auf einem kleinen Bildschirm funktioniert, wird es automatisch auch auf dem größeren Desktop funktionieren. Es ist hilfreich sich von Anfang an darauf einzustellen, dass die Anwendung nicht mindestens 1024×768 Pixel zur Verfügung haben wird. Daraus ergeben sich automatisch Anforderungen an die Priorisierung der Benutzeroberfläche. Was blenden wir aus? Was muss immer sichtbar bleiben? Je weniger Platz auf dem Bildschirm zur Verfügung steht, desto schwieriger wird die Gestaltung der Benutzeroberfläche. 

Christopher Zündorf mit Susanne Gottschaller im Gespräch.
Was für Ideen könnten für die Front-End-Entwicklung zukünftig interessant sein?

Tatsächlich kann ich mir die Benutzeroberfläche auch ohne den Grafikteil vorstellen, man könnte viele Teile über Sprachsteuerung und Audioausgabe umsetzen. Zumindest was das Erstellen von Aufträgen angeht. Für die Darstellung von Sensordaten und Roboterposition bleibt jedoch die grafische Darstellung das Mittel der Wahl. 

Es ist nicht sinnvoll, die Roboterposition wie ein Audiobuch zu implementieren. Ganz anders sieht es in der anderen Richtung aus. Um einen Roboter zu steuern, braucht man nicht unbedingt ein grafisches Benutzerinterface. Die Benutzeroberfläche kann auch durch Sprache gesteuert werden. Sprache ist die erste und natürlichste Form der Kommunikation. Jeder kann sagen: „Roboter 1 bitte fahr zum Hochregal“. Systeme wie Siri und Amazon Echo haben gezeigt, wie einfach und natürlich diese Form der Benutzerschnittstelle sein kann. Grundsätzlich gilt: Je weniger Wissen und Aufwand nötig sind, um dem Roboter einen Befehl zu geben, desto besser. Interessant sind auch die Möglichkeiten, die Steuerung über Handys und Smartwatches zu ermöglichen. So könnte die Smart Watch zur Kommandozentrale für eine ganze AMR-Flotte werden. Das klingt auf jeden Fall spannend.

Welchen Wert hat UI/UX für ein Unternehmen, das mit einem rein digitalen Produkt in den Markt eintritt? 

Auch wenn unsere Software nur ein „digitales Produkt“ ist, hat sie dennoch etwas ganz Besonderes an sich: Sie steuert und bewegt Objekte in der physischen Realität. Das ist eine große Verantwortung in Bezug auf die Qualität und Zuverlässigkeit der Software. Die Roboter selbst sind natürlich „eigensicher“. Das heißt, sie haben eingebaute Sicherheitssysteme, die Unfälle verhindern. Ich würde jedoch behaupten, dass viele Menschen dem Thema Robotik mit großer Skepsis begegnen. Verschiedene Science-Fiction-Filme zeigen dies sehr deutlich. Jeder kennt die Filme in denen Roboter mit künstlicher Intelligenz die Welt übernehmen. 

Viele Menschen sind von der Robotik fasziniert, andere haben Angst vor ihr. Deshalb muss die Software, mit der sie gesteuert wird, Vertrauen in das System aufbauen und Kontrolle vermitteln. Der Qualitätsstandard der Software muss entsprechend hoch sein. Fehler bei der Visualisierung der Roboterposition würden das Vertrauen zerstören. Bewegt sich ein Roboter zum Beispiel plötzlich fünf Meter weiter auf der Übersichtskarte, denkt der Benutzer, die Software wisse nicht, was sie eigentlich tut. Deshalb legen wir großen Wert darauf, die Visualisierung und Steuerung so fehlerfrei wie möglich zu gestalten. Im Bereich der Unit-Tests haben wir eine hohe Codeabdeckung und für die visuellen Tests werden wir die Testsuite weiter ausbauen. Die Software muss schnell und zuverlässig sein. Die Bedienung der AMRs muss intuitiv und kinderleicht sein. Das Motto „das wird schon irgendwie gehen“ sollte nicht unser Maßstab sein.

Was wird deiner Meinung nach die nächste größere Innovation im Bereich UI/UX ist? 

Das Beispiel des Strategiespiels, das ich bereits erwähnt habe, zeigt, wie unsere Software im Hinblick auf die Visualisierung und Steuerung von AMRs sein sollte. Dieselbe Reaktionsgeschwindigkeit, dieselben Kontrollmuster, dieselbe intuitive Benutzerfreundlichkeit. Jeder Tastendruck, jeder zusätzliche Klick sollten wir als Anstrengung für den Benutzer betrachten. Das Senden eines Auftrags an einen Roboter sollte nicht mehr als drei Klicks erfordern. Die Bedienung der Anwendung muss für den Benutzer angenehm sein, die Visualisierung sehr ansprechend, wie ein 3D-Spiel. Der Benutzer sollte in der Lage sein, die Objekte aus der Realität ohne große Anstrengung sofort zu erkennen.

Wo wir gerade bei Gamification sind, kannst du ein Beispiel für gute und eins für schlechte UI/UXs nennen?

Ich schätze das Material Design von Android und das Android-Ökosystem im Allgemeinen. Die Tatsache, dass Android jetzt in Autos und auf Fernsehern läuft, ist großartig, weil das grundlegende Design und die Betriebsmuster einfach vertraut sind. Wenn man weiß, wie man sein Smartphone bedient, dann wird man auch wissen, wie man in Zukunft das Infotainment eines Volvo-Fahrzeugs bedient.

Uber zum Beispiel bietet ebenfalls ein wirklich herausragendes Nutzererlebnis. Nicht nur die Anwendung, sondern das gesamte Erlebnis. Nehmen wir an, man ist in Stuttgart und braucht einen Uber. Man installiert die App, öffnet die App, wählt darin Fahrzeug und Ziel aus und in ein bis zwei Minuten steht das Uber-Shuttle bereit. Die Rechnung wird automatisch per Kreditkarte beglichen. Die Mobilität bedeutet einfach zwei Fingertipps auf dem Bildschirm. Das ist wirklich beeindruckend. 

Eine meiner Meinung nach schlechte UX ist der Fahrkartenautomat am Bahnhof. Dieser reagiert schlecht, ist langsam, hat viel zu viele Knöpfe und erfordert eine Menge an Interaktionen. Der Benutzer ist ohnehin schon gestresst, und dann muss er sich auch noch mit einer schlechten Software herumschlagen. Man merkt, dass die Software nicht mit Blick auf den konkreten Anwendungsfall entwickelt wurde.

Letzte Frage. Was hältst du für wahrscheinlicher was schneller passieren wird? Eine Million Robo-Taxis von Tesla oder 10.000 Roboter, die mit der Software von NODE ausgestattet sind? 

Mit Sicherheit 10.000 mal installierte NODE Robotics-Software.

Mehr Informationen finden Sie unter www.node-robotics.com.

Teile es: