Suchen

Inflexion Plattform UI GUIs zweckmäßig und ansprechend gestalten

Autor / Redakteur: Geoff Kendall und Thomas Ulber* / Martina Hafner

Wann ist ein Konsumergerät im Markt erfolgreich? Wenn es für den Anwender attraktiv und einfach bedienbar ist. Die reine Zweckmäßigkeit reicht nicht aus, die Oberfläche sollte auch ansprechend sein. Für das laufzeitlizenzfreie Nucleus-Betriebssystem bringt Mentor Graphics mit der Inflexion Platform UI ein anpassbares und erweiterbares Menüsystem auf XML-Basis auf den Markt.

Firmen zum Thema

( Archiv: Vogel Business Media )

Die Adaption von Benutzeroberflächen an elektronische Geräte ist nach wie vor schwierig. Schon einfache Dinge wie das Ändern der Bildschirmauflösung können dem Entwickler Kopfschmerzen bereiten. Ganz zu schweigen von anspruchsvolleren Anforderungen wie etwa ein hochglanzpoliertes „Look and Feel“. Zeitdruck bei der Markteinführung führt oft dazu, dass Erweiterungen auf das bestehende UI-Design aufgepfropft werden, anstatt diese in einer für den Anwender intuitiven Weise zu integrieren. Das Resultat ist eine Vielzahl von Produkten mit langen Listen von in der Praxis oftmals schwer nutzbaren technischen Eigenschaften.

Zwei konzeptionelle Schritte

Bildergalerie
Bildergalerie mit 5 Bildern

Settop-Boxen, Mediaplayer oder Mobiltelefone unterscheiden sich zwar in Form und Funktion, in Bezug auf Anwenderinteraktionen besteht jedoch eine große Gemeinsamkeit. Letztlich kann man fast die gesamten UI-(User-Interface-)Funktionen auf zwei konzeptionelle Schritte reduzieren:

  • Darstellung verschiedener Auswahloptionen und
  • Start einer entsprechenden Aktion als Reaktion auf eine ausgewählte Option.

Folgende Situationen verdeutlichen das beschriebene Interaktionsmodell:

  • Mobiltelefon: Ermittlung eines Eintrags im Adressbuch, Aktivieren und Auswählen eines Anrufs aus dem sich öffnenden Kontextmenü, Vorschau und Abspielen von Klingeltönen.
  • Mediaplayer: Durchsuchen und Auswählen von MP3-Dateien nach Künstler, Titel, usw., Navigation in den Ordnern einer Speicherkarte zum Betrachten von Fotos.
  • Settop-Box: Nachschlagen in der Liste der Fernsehprogramme und Setzen einer Erinnerung für eine bestimmte Sendung, Auswählen eines Senders zum Ansehen.

Die Inflexion Plattform UI für Nucleus

Diese Merkmale lassen sich alle durch ein extrem flexibles und generisches Menüsystem realisieren. Die Inflexion Platform UI für Nucleus von Mentor Graphics ist ein solches anpassbares und erweiterbares Menüsystem für den Einsatz in Geräten mit grafischer Anzeige. Es automatisiert viele der grundlegenden Interaktionen wie die Navigation durch Menühierarchien, Master/Detail Ansichten oder das Verschieben von Bildinhalten. Mit Hilfe einfacher, selbsterklärender XML-Beschreibungen lassen sich ohne Programmieraufwand vollständig neue Bedienoberflächen erstellen. Die Technologie beruht auf zwei Elementen, dem UI-Desinger-Werkzeug und der Laufzeitkomponente.

  • Das UI-Designer-Werkzeug ermöglicht die schnelle Erstellung, Anpassung sowie den Test des neuen Interface-Designs.
  • Die in C++ geschriebene Laufzeitkomponente führt ein mit dem UI Designer definierte Bedienschnittstelle direkt auf dem elektronischen Gerät aus. Für die Gestaltung einer Bedienschnittstelle sind nur die Eigenschaften und Funktionen für den Anwender, die Zuordnung im Menüsystem sowie deren visuelle Darstellung auf dem Bildschirm zu beschreiben. Den Rest erledigt die Laufzeitkomponente.

Zwei Schichten für hohe Flexibilität

Grundlegend unterscheidet man bei der UI zwischen Darstellungsschicht, also wie sind Dinge zu einem bestimmten Zeitpunkt sichtbar und wie ändert sich ihre Gestalt im Ergebnis der Anwenderinteraktion, und der Inhaltsschicht, die festlegt was dargestellt wird und welche Aktion im Ergebnis einer Menüauswahl gestartet wird. Die getrennte Definition dieser beiden konzeptionellen Schichten führt zu einem hohen Maß an Flexibilität.

So kann ein Gerät mehrere verschiedene Bedienoberflächen bereitstellen, welche sich im laufenden Betrieb austauschen lassen. Alternativ besteht vielleicht der Wunsch nach einem einheitlichen, markenspezifischen Design, das in verschiedenen Produkten mit unterschiedlichen Eigenschaften zum Einsatz kommt. Zur Versorgung der UI-Laufzeitkomponente mit Anwendungsdaten dient eine C-basierte Programmierschnittstelle. So können unabhängig von der Darstellungsschicht unterschiedliche Inhalte zur Benutzeroberfläche übertragen werden.

Gedanklich kann man sich diese Daten als Tabelle vorstellen. Jede Reihe entspricht einem Objekt — zum Beispiel einem Kontakteintrag im Adressbuch — und jede Spalte korrespondiert mit einer Eigenschaft des Objekts – etwa einem Foto oder einer Telefonnummer.

Für jedes der Objekte kann spezifiziert werden was passiert, wenn ein Anwender es auswählt. Entweder wird ein weiteres Menü geöffnet (für die Entwicklung komplexer Orderhierarchien) oder es erfolgt der Aufruf einer Funktion der Anwendung (ein Klick auf die Telefonnummer eines Kontakts aus dem Telefonbuch soll beispielsweise einen Sprachanruf initiieren). Es besteht vollständige Freiheit im Hinblick auf die Struktur der darstellbaren Daten. Es ist Aufgabe der Darstellungsschicht festzulegen, welche Elemente wie und wann angezeigt werden.

XML-Schablonen definieren Darstellungsschicht

Die Definition der Darstellungsschicht der UI basiert auf einer oder mehreren XML-Schablonen. Sie beschreiben wie ein bestimmtes Bild mit dem Menüsystem aussehen soll (Layout und Branding) und wie das Erscheinungsbild sich im Ergebnis von Anwenderaktionen ändert (z. B. beim Drücken einer Taste).

Grafische Hilfsmittel wie Hintergrundbilder oder Ikons können von einer oder mehreren Schablonen gleichzeitig verwendet werden. Außerdem lässt sich die Zuordnung der Schablonen zu den Menüs dynamisch wechseln. Diese Mechanismen erleichtern die völlige Änderung des „Look and Feel“ der Benutzeroberfläche, ohne die zugrundeliegende Funktionalität zu berühren. Ein Navigationsgerät ist so leicht entsprechend der Anforderungen der unterschiedlichen Automobilhersteller anpassbar. Änderungen in der UI sind auch zu einem späteren Zeitpunkt ohne Firmware Update realisierbar.

Zur Vereinfachung der Entwicklung neuer Schablonen betrachtet man das UI als Zustandsautomat. Der Entwickler muss nicht mehr programmieren, sondern nur noch folgendes umsetzen:

  • Definition aller Zustände des UI,
  • Definition welche Interaktionsereignisse in welchen Zuständen erlaubt sind und welche Aktion dieses Ereignis auslöst (ein Tastendruck kann einen Zustandswechsel bewirken oder den nächsten Menüpunkt im Bild grafisch hervorheben),
  • Definition des Layouts (das visuelle Erscheinungsbild einschließlich der Platzierung aller grafischen Bildschirmelemente) für jeden Zustand.

Mit jedem Zustandswechsel des UIs führt das Laufzeitsystem die zuvor definierten und für eine ästhetisch anspruchsvolle Darstellung notwendigen Animationseffekte (wie Rotieren, Ein/Ausblenden, Vergrößern/Verkleinern) automatisch aus. Da der Entwickler die UI Funktionalität nicht mehr programmiert, werden Testaufwände verringert, menschliche Fehler minimiert und die Robustheit der Software insgesamt gesteigert. Gleichzeitig wird es einfacher, die multimedialen Eigenschaften der zugrundeliegenden Hardware vollständig zu nutzen und dem Anwender so ein vielgestaltiges visuelles Erlebnis zu bieten.

Um den Erfolg eines Konsumergerätes zu garantieren, sollte man dem Anwender eine interaktive Erfahrungswelt bieten, die nicht nur attraktiv, sondern auch leicht bedienbar ist. Für den Entwickler bedeutet dies jedoch eine enorme Herausforderung. Dieser Artikel veranschaulicht, dass so verschiedene Produkte wie ein Mobiltelefon und eine Maschinensteuerung aus der Perspektive der Benutzerschnittstelle viel gemeinsam haben. Abstrahiert man diese Funktionalität in einer anpassbaren und wiederverwendbaren Komponente, lassen sich eine Vielzahl der aktuellen Probleme bei der Entwicklung von Embedded-Systemen lösen.

Mentor Graphics, Tel. +49(0)89 570960

*Geoff Kendall ist Produkt Marketing Manager und Thomas Ulber Senior Application Engineer bei Mentor Graphics.

(ID:195578)