Anwenderschnittstellen für das IoT entwickeln

Die Schnittstelle zum Anwender ist ein wesentlicher Bestandteil bei der Konzeption vernetzter Produkte und Dienste. Erfolgreich sind dabei jene Implementierungen, die einfache Bedienbarkeit mit attraktiver Gestaltung und solider Technik verbinden.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 17 Min.
Von
  • Stefan Brandys
  • Susanna Roden
  • Matthias Wagler
Inhaltsverzeichnis

Die Schnittstelle zum Anwender ist ein wesentlicher Bestandteil bei der Konzeption vernetzter Produkte und Dienste. Erfolgreich sind dabei jene Implementierungen, die einfache Bedienbarkeit mit attraktiver Gestaltung und solider Technik verbinden.

Das Internet der Dinge und entsprechende Dienste stellen Entwicklerteams vor etliche Herausforderungen. Eine der größten ist die exponentiell steigende Zahl von Endgeräten und Bedienparadigmen. Naiv betrachtet sind offene Webtechniken der Ausweg aus dem Dilemma: Nahezu jede moderne Plattform enthält einen Webbrowser und kann Webseiten anzeigen, die sich als universelle UI-Laufzeitumgebung (User Interace) nutzen lassen. Setzt man die Techniken jedoch mit den falschen Voraussetzungen ein, bleiben sie hinter nativen Anwendungen hinsichtlich der Performance und Bedienbarkeit zurück.

Die Komplexität der zu schaffenden Produkte erschwert Teams den Blick für die richtige Balance zwischen Funktionsumfang, Übersichtlichkeit und konsequenter Benutzerführung. Zu Projektbeginn die richtigen Fragen zu stellen kann maßgeblich dazu beitragen, die größten Stolpersteine für die Anwenderschnittstelle aus dem Weg zu räumen.

Smartphones, Tablets, Notebooks und Desktop-Computer stellen universelle Bediengeräte dar, mit denen sich Menschen heute umgeben. Allerdings bringen ihre nativen Umgebungen jeweils eigene Programmierkonzepte mit sich. Unternehmen wie Facebook haben die zunehmende Komplexität erkannt und entwickeln eigene Werkzeuge und Architekturansätze, die dem entgegenwirken sollen. Ein bekanntes Beispiel hierfür ist das JavaScript-Framework React. Facebook hat dessen Programmiermodell von Anfang an auf universelle Benutzerschnittstellen ausgelegt, sodass sich damit nicht nur Webanwendungen, sondern auch native Applikationen entwickeln lassen.

Hinzu kommt, dass die Anwender zunehmend spontaner mit Dingen und Diensten interagieren. Das Modell nativer Apps funktioniert in dem Kontext nicht mehr, da Anwender nicht länger bereit sind, für jedes Angebot eine eigene Applikation zu installieren. Da viele Interaktionen von kurzer Dauer sind, lässt sich ein derartiges Vorgehen auch nur schwer rechtfertigen. So bedarf das Bezahlen eines Parktickets keiner App für das jeweilige Parkhaus und die Steuerung eines sogenannten Smart Homes dürfte theoretisch nicht nur über die voneinander isolierten Apps der jeweiligen Leuchtmittelhersteller funktionieren.

Die Begeisterung für die Digitalisierung auf der einen und das Wissen um deren Notwendigkeit auf der anderen Seite erfasst derzeit viele Unternehmen, deren Produkte und Dienstleistungen vornehmlich in der analogen Welt zu Hause sind. Der Eintritt in die Netzwelt verspricht eine schier endlose Zahl zukünftiger Geschäftsmodelle.

Um sie aber umsetzen und die damit einhergehenden Herausforderungen meistern zu können, kommen Unternehmen der klassischen Industrie nicht umhin, neue Kompetenzen aufzubauen: Sie müssen sich künftig als Dienstleister verstehen und ihre Expertise in der Softwareentwicklung ausbauen. Dabei ist es allerdings nicht wirtschaftlich, spezialisierte Teams für die Entwicklung auf Plattformen wie iOS, Android und Windows zu beschäftigen. UI-Techniken, die von Haus aus auf unterschiedlichen Systemen lauffähig sind, gewinnen daher an Relevanz.

Da an der GUI die gesamte Arbeit eines Teams zusammenläuft, ist es ärgerlich, wenn die erhoffte Begeisterung aufgrund von Interaktionshürden oder Performance-Defiziten ausbleibt. Fehlentscheidungen bei der Wahl der Bedienmetaphern etwa der eingesetzten Steuerungsoptionen, der UI-Architektur oder der verwendeten Techniken können daher zu einem Misserfolg des gesamten Projekts führen. Häufig empfinden Entwickler die nativen Bedienmodelle im Web nach und rufen beim Anwender Frust hervor. Daher lohnt es sich, möglichst früh folgende Kernfragen zu klären:

  • Mit welchen Geräteklassen, Vorkenntnissen und Gesten interagieren Anwender mit dem Produkt oder Dienst?
  • Wie verbinden sich Produkt und Bediengerät miteinander?
  • Wie viel direkte Manipulation von Objekten erfordert der Anwendungsfall?
  • Welche Frameworks lassen sich nutzen, damit sich das Team auf den Kern der Anwendung konzentrieren kann?