Wikipedia · einfach zusammengefasst · Stand
Grafische Benutzeroberfläche
GUI von englisch graphical user interface) bezeichnet eine Form von Benutzerschnittstelle eines Computers. Sie hat die Aufgabe, Anwendungssoftware auf einem …
Inhalt5 Abschnitte
Begriff und Abgrenzung
Eine grafische Benutzeroberfläche, auch grafische Benutzerschnittstelle oder Bedienoberfläche genannt, ist eine Form der Benutzerschnittstelle eines Computers. Die Abkürzung GUI steht für englisch graphical user interface. Ihre Aufgabe ist es, Anwendungssoftware durch grafische Symbole und Steuerelemente, auch Widgets genannt, bedienbar zu machen.
Auf Computern werden die Elemente meist mit einer Maus ausgewählt oder bedient. Smartphones, Tablets und Kiosksysteme verwenden in der Regel die Berührung eines Touchscreens. Viele heutige Oberflächen nutzen die Schreibtischmetapher: Programm- und Dateielemente werden ähnlich wie Gegenstände auf einem Schreibtisch dargestellt. Dieses Konzept wurde mit dem Apple Macintosh ab 1984 populär und wurde in den 1990er Jahren zum Industriestandard bei Personal Computern.
Eine GUI arbeitet auf einem Fenstersystem im Grafikmodus der Hardware und macht Zeigegeräte zu einem wichtigen Bedienelement. Zeichenorientierte Benutzerschnittstellen, TUI genannt, können ebenfalls den ganzen Bildschirm nutzen und grundsätzlich auch mit der Maus bedient werden. Sie beruhen jedoch auf dem Textmodus der Hardware. GUI und TUI unterscheiden sich beide grundsätzlich von der Kommandozeilen-Interaktion, CLI (command line interface). Im Bereich der Software-Ergonomie wird der Ausdruck grafische Benutzungsschnittstelle bevorzugt.
Elemente und Eingabe
Programme und Dateien erscheinen als Icons, also Bildsymbole. Ein GUI-System stellt Fenster und Unterfenster bereit; dazu zählen auch Dialoge und Meldungen. Fenster können beispielsweise verschoben, in ihrer Größe verändert, auf Bildschirmgröße vergrößert oder ausgeblendet werden.
Wichtige Bedienelemente sind Schaltflächen (Buttons oder Knöpfe), Schalter, Regler beziehungsweise Schieberegler, Symbolleisten (Toolbars) sowie Auswahllisten und Menüs. Das WIMP-Modell fasst typische Bestandteile zusammen: Windows (Fenster), Icons (Datei- und Programmsymbole), Menus (Menüs) und Pointer (Zeiger, etwa der durch die Maus bewegte Zeiger). Eine Palette kann im Unterschied zu einem Dialog dauerhaft geöffnet bleiben, also nicht-modal sein, und liegt oft am Seitenrand. Ein Ribbon oder Menüband verbindet Menü- und Symbolleiste und ergänzt sie um weitere Elemente. Metaphern wie der Papierkorb können das Erlernen und Verstehen der Bedienung erleichtern.
Der Fokus bestimmt, welches Element die nächste Aktion eines zeigerlosen Eingabegeräts, meist der Tastatur, erhält. Er muss sichtbar hervorgehoben sein: in Texteingabefeldern durch eine blinkende Eingabemarke (Cursor oder Caret), bei anderen Elementen meist durch eine gepunktete dünne Umrandung. Das ist wichtig, wenn mehrere fokussierbare Elemente sichtbar sind, weil Eingaben im falschen Element erhebliche Folgen haben können. Der Fokus lässt sich gewöhnlich per Tastatur wechseln; dadurch bleibt die Bedienung auch ohne Maus möglich.
Davon zu unterscheiden ist Capture, auch „Mausfang“: Es legt fest, welches Ziel Mauseingaben erhält, etwa beim Aufziehen einer Markierung oder beim Anzeigen von Kontexthilfe. Meist erhält das Element unter dem Mauszeiger die Eingabe. Bei gedrückt gehaltener Maustaste kann dies anders sein. Manche GUI-Architekturen koppeln Capture und Fokus automatisch, bei den meisten erfolgt der Fokuswechsel erst durch einen Mausklick. In verdrängenden Multitasking-Systemen war die korrekte Zuordnung von Capture und Fokus zum passenden Prozess mit angemessenem Feedback eine erhebliche technische Herausforderung.
Technischer Aufbau und Anforderungen
Ein Benutzeroberflächenbaum, auf Englisch GUI tree oder integration tree, ist ein Graph, der die Logik der GUI-Elemente abbildet. Jeder Knoten steht für eine modale, also andere Komponenten blockierende GUI-Komponente der Software, zum Beispiel einen Dialog zum Öffnen einer Datei. Zwischen zwei Knoten gibt es genau dann eine Kante, wenn die zweite Komponente aus der ersten aufgerufen werden kann, etwa durch das Betätigen einer Schaltfläche. Fenstersystem-basierte GUIs können mehrere Schichten haben, beispielsweise KDE Plasma auf einem X.Org-Server.
Die Anforderungen an grafische Benutzungsschnittstellen in der Mensch-Computer-Kommunikation regelt die internationale Normenreihe ISO 9241. Sie wurde vom CEN als europäische Normenreihe EN ISO 9241 übernommen. Relevant sind insbesondere Teil 110 (Interaktionsprinzipien), 112 (Grundsätze der Informationsdarstellung), 125 (Empfehlungen zur visuellen Informationsdarstellung), 143 (Formulardialoge), 151 (Web-Benutzungsschnittstellen), 161 (visuelle User-Interface-Elemente) und 171 (Zugänglichkeit von Software).
Eine Schnittstelle soll aufgabenangemessen, selbstbeschreibungsfähig, steuerbar, erwartungskonform, robust gegen Benutzungsfehler, individualisierbar und lernförderlich sein. ISO 9241-151 definiert außerdem die Umsetzung und Evaluation von Benutzungsschnittstellen für Web-Applikationen im Rahmen der Benutzbarkeit.
Skalierbare Oberflächen
Eine skalierbare Benutzeroberfläche ist eine GUI, deren Steuerelemente, Texte, Symbole und Layouts ihre Größe an Bildschirmgröße und Auflösung anpassen. Dies ist besonders nötig, wenn eine Anwendung auf Bildschirmen mit niedriger oder hoher Punktdichte verwendet wird; die Punktdichte beschreibt die Auflösung im Verhältnis zur Fläche.
Bei pixelbasierter Darstellung ohne Skalierung wird die Oberfläche bei niedriger Punktdichte entweder zu groß oder bei hoher Punktdichte, HiDPI, zu klein dargestellt. Die Skalierung kann durch die Anwendung, das verwendete GUI-Toolkit oder das Betriebssystem erfolgen.
Entwicklung grafischer Oberflächen
Das GUI-Konzept im heutigen Sinn entstand in den 1970er Jahren. Ab 1973 wurde am Xerox PARC in Kalifornien der Xerox Alto entwickelt; der Xerox Star zeigte 1981 den ersten kommerziellen Einsatz. Einen größeren Anwenderkreis erreichte das Konzept durch Apple. Apple arbeitete ab 1979, von Xerox inspiriert, an grafischen Oberflächen und veröffentlichte 1983 den teuren Apple Lisa. Für die weitere Entwicklung wichtiger war der 1984 unter Leitung von Steve Jobs entwickelte Apple Macintosh.
Es folgten der Atari ST mit Verkaufsstart im Juni 1985, der Commodore Amiga im März 1986 und Microsoft Windows 1.03 im November 1985. Windows war bereits zwei Jahre zuvor als Reaktion auf Lisa angekündigt worden, erfüllte zunächst aber kaum die Erwartungen. Es lief auf IBM-kompatiblen PCs und setzte sich später gegen das von IBM bevorzugte OS/2 durch. Für den Commodore 64 erschien 1986 GEOS.
GUIs setzten sich zunächst langsam durch, weil die Computer oft zu langsam waren. Ein Vergleich der Zeitschrift 64’er im Mai 1990 bewertete Commodore 64 mit GEOS und AT 286 mit Windows mit „gut“, Amiga und Atari mit „befriedigend“. Gelobt wurde die größere Benutzerfreundlichkeit, zugleich fehlten für manche Systeme Anwendungen. Ein Windows-PC wurde als einheitliche Lösung mit großem Anwendungsumfeld positiv beurteilt, kostete mit Diskettenlaufwerk, Monitor, Maus und Software jedoch 4000 DM. Entsprechende Pakete mit Commodore 64/GEOS oder Amiga kosteten nur die Hälfte; der Atari ST kostete 1200 DM, wurde aber mit wenig Software geliefert.
8-Bit-Rechner wie der Commodore 64 waren wegen begrenzten Arbeitsspeichers und der nötigen Arbeit mit Disketten letztlich zu langsam. GUIs eigneten sich daher eher für 16-Bit-Rechner wie den Atari ST. Der Durchbruch von Microsoft Windows erfolgte nach 1992 mit Windows 3.1; Windows gilt heute als Standard beim Arbeiten mit PCs. Unter Unix und Linux erfüllen mehrere auf dem X Window System aufsetzende Desktop-Umgebungen diesen Zweck, darunter KDE, Gnome, Xfce, Enlightenment und LXDE. Mit wachsendem Funktionsumfang stieg auch der Ressourcenbedarf der Betriebssysteme. Die Verbreitung von Multi-Touch-Screens in Smartphones und Tabletcomputern führte zu eigenen Oberflächen mit Wischgesten, Gestenerkennung und der Fingerspreiz-Geste zum Heranzoomen. Die Galerie dokumentiert die Designentwicklung von Xerox Alto vor 1978 bis KDE Plasma 5 von 2014.