Skalierbare Benutzeroberfläche
Eine Skalierbare Benutzeroberfläche (oder kurz ZUI für „Zoomable User Interface“) kommt aus dem IT-Bereich und beschreibt eine Grafische Benutzeroberfläche (GUI) mit der zusätzlichen Möglichkeit, einzelne Elemente oder die gesamte Oberfläche zu zoomen. Ein ZUI kann unterschiedliche Skalierungsgrade annehmen, die vom Benutzer gesteuert werden. Ein ZUI erfordert eine zusätzliche Eingabe vom Benutzer, um Zoom und Pan zu kontrollieren.
Das ZUI wird als intuitivere und flexiblere Alternative zum klassischen GUI gesehen. Der Aufwand für die Entwicklung von ZUIs ist höher, weshalb momentan mehr Arbeit in die Weiterentwicklung von herkömmlichen GUIs gesteckt wird.
Die Anforderungen einer Benutzerschnittstelle sind nach der internationalen Richtlinie ISO 9241-10ff geregelt.
Definition
Benutzeroberflächen, die einen der folgenden Punkte erfüllen, gelten als ZUI.
- Bedienelemente liegen auf einer Arbeitsfläche, die gezoomt und horizontal sowie vertikal verschoben werden kann (englisch Pan).
- Mindestens ein Element enthält skalierbare Bestandteile.
Synonyme
Die korrekte Bezeichnung für ZUIs ist Skalierbare Grafische Benutzerschnittstelle oder Skalierbare Grafische Benutzeroberfläche, aus Gründen der Einfachheit wird aber auf die Wendung „grafisch“ verzichtet. Weitere Bezeichnungen für ZUIs sind Skalierbare Benutzerschnittstelle, im Englischen sind die Begriffe Zoomable User Interface, Zooming User Interface und Multiscale Interface gebräuchlich.
Geschichte
Die Geschichte der ZUIs knüpft an die Geschichte des GUIs an. Ivan Sutherland entwickelte im Jahr 1963 am Massachusetts Institute of Technology (MIT) Sketchpad, das heute als erstes GUI gilt und über eine Zoom-Funktion verfügte. Das sog. Fisheye Zooming wurde 1981 von George W. Furnas definiert und wird häufig in ZUIs eingesetzt. 1991 entwickelten David Fox und Ken Perlin Pad am Courant Institute of Mathematical Sciences an der New York University. Pad gilt als erstes ZUI. Mit Pad sowie der Weiterentwicklung Pad++ können multimediale Daten auf einer zweidimensionalen Ebene dargestellt werden. Pad nutzte bereits die Semantische Skalierung (siehe unten). Am Human-Computer Interaction Lab (HCIL) wurde Pad durch das Projekt Jazz fortgesetzt und nach Java portiert. Die jüngste ZUI-Bibliothek des HCIL ist Piccolo, die die Programmierung von ZUIs im Vergleich zu Jazz wesentlich vereinfachte. Piccolo ist für Java und C# als Open-Source-Bibliothek verfügbar.
ZUI-Elemente
ZUIs verfügen in der Regel über primitive Elemente, die zur Zusammenstellung von Bedienelementen genutzt werden können. Je nach Programmierbibliothek können diese Elemente wie in einer GUI-Bibliothek mit Eventhandlern für Maus- und Tastatureingaben versehen sowie animiert und transformiert werden.
- Pfade: Diese können einfache Kanten, gefüllte Rechtecke, Polygone bis hin zu Bezierkurven darstellen.
- Text
- Bitmap
In einem ZUI können je nach Programmierbibliothek Elemente von GUIs verwendet werden. Das Piccolo Toolkit bietet beispielsweise Wrapper in der Programmiersprache C# für Bedienelemente der Grafikschnittstelle GDI.
- Schaltfläche
- Checkbox
- Radiobutton
Siehe auch: GUI-Elemente
Semantische Skalierung
Die Semantische Skalierung (englisch Semantic Zooming) ist eine Technik der ZUIs, Objekte abhängig zum Skalierungsgrad in unterschiedlichen Detailstufen darzustellen. Dies verschafft einen guten Gesamtüberblick über die Informationen, bei näherer Betrachtung ist ein Objekt jedoch sehr detailliert, d. h. Informationen werden je nach Skalierung ein- oder ausgeblendet. Programmierer nutzen diese Möglichkeit um die Performance ihrer Programme zu verbessern sowie eine bessere Übersicht zu schaffen.
Liste von ZUI-Bibliotheken
Viele ZUI-Programmierbibliotheken setzen verstärkt auf Graphen, durch die eine strukturierte Ansicht in Flowcharts ermöglicht wird.
- Piccolo Toolkit – A Structured 2D Graphics Framework – Programmierbibliothek für Java und C#. Piccolo ist unter der freien BSD-Lizenz verfügbar.
- Ziteboard ist ein geräteunabhängiges, webbasiertes Whiteboard mit Zoomfunktion und der Möglichkeit zur Kollaboration in Echtzeit, geschrieben in purem html5 und javascript.
- Jazz Toolkit des Human Computer Interaction Labs der University of Maryland. Jazz ist ein Vorgänger des Piccolo Toolkits implementiert in Java. Die Weiterentwicklung wurde eingestellt, die Quellen sind jedoch weiterhin zugänglich.
- ZVTM – Zoomable Visual Transformation Machine
- Zomit – Java ZUI-Library
Literatur
- George W. Furnas; The FISHEYE view: a new look at structured files; Bell Laboratories Technical Memorandum #81-11221-9; 1981
- George W. Furnas; Generalized Fisheye Views; CHI'86 p.16–24; 1986
- Jef Raskin; Das Intelligente Interface; Addison-Wesley, München 2001, ISBN 3-8273-1796-7
- Die ZUI-bezogene Literatur-Seite der Leute um Ben Shneiderman (z. B. Ben Bederson) http://www.cs.umd.edu/hcil/piccolo/learn/publications.shtml
Weblinks
- Deon Join: Ein plattformübergreifender, skalierbarer Desktop für Windows und Mac OS X mit serverbasierten Kollaborationsfunktionen.
- iMapping – Ein visuelles Werkzeug für große vernetzte Wissenslandkarten (Mac, Windows, eingeschränkt auch Linux)
- Eagle Mode – Dateimanager oder auch Desktop für Linux-Systeme (auch Windows, MacOS, weitere)
- AJAX-ZOOM – ZUI für Internet mittels JavaScript / PHP
- ZoomDesk (Memento vom 2. Juni 2009 im Internet Archive) – Skalierbarer Desktop implementiert mit Hilfe des Piccolo Toolkits (englisch)
- Pad++ – Site Map eines Internetauftritts als ZUI sowie weiterführende Informationen zu ZUIs (englisch)
- E.D.I.C.T. – ZUI Flash Demonstration (englisch)
- Etoys – Lernprogramm für Kinder im Alter von 9 bis 11 Jahren mit ZUI (englisch)
- Semantische ZUI
- ZUI Prototyp – .NET Applikation