Was ist ein Graphical User Interface (GUI)?

Die Zeiten, in denen ausschließlich Wissenschaftler und Software-Entwickler Computer nutzen konnten, sind schon lange vorbei. Heutzutage kann fast jeder Mensch einen PC oder ein Tablet bedienen – oft sogar ohne große technologische Vorkenntnisse. Doch dies bedurfte der Entwicklung von grafischen Benutzeroberflächen – einer Art von User Interface.

Die ersten Konzepte zur grafischen Nutzeroberfläche entstanden bereits in den 1970ern im Unternehmen Xerox. Dabei ging es vor allem darum, PCs auch mit Maus und Tastatur bedienen zu können, statt nur über textbasierende Anweisungen. Der Xerox Alto war der erste PC mit einem GUI. In den 80er-Jahren folgte dann Apple mit dem Macintosh. Seit der Entwicklung von Smartphones und Tablets hat sich das Prinzip des grafischen Interfaces deutlich weiterentwickelt. Heute kann man Displays sogar mit Fingerbewegungen und Gesten bedienen.

Was ist ein GUI?

Das GUI ist eine Schnittstelle zwischen Mensch und Maschine. Zweck dieser grafischen Schnittstelle ist es, den Code im Backend eines Systems möglichst benutzerfreundlich wiederzugeben, um die alltägliche Arbeit damit zu vereinfachen. Symbole und Bilder sind hierbei von besonderer Bedeutung, weil erst mit diesen eine universelle und textunabhängige Anwendung möglich ist. So weiß beispielsweise fast jeder, wie ein Wi-Fi Symbol aussieht, während das Wort dafür in unterschiedlichen Sprachen ganz unterschiedlich aussieht.

Definition

Ein Graphical User Interface (oder GUI) ist eine Schnittschnelle, über die man PCs, Tablets und andere Endgeräte bedienen kann. GUIs nutzen grafische Elemente wie Symbole, Menüs und Bilder, um dem menschlichen Nutzer die Bedienung zu erleichtern. Die grafische Benutzeroberfläche wird sowohl von Betriebssystemen als auch von einzelnen Anwendungen genutzt. Fast jedes Programm für Endanwender wird heutzutage mit einem GUI ausgeliefert.

Wie funktioniert ein GUI?

Das GUI ist eine Benutzeroberfläche, die es Usern erlaubt, mit dem Computer zu kommunizieren. Üblich ist vor allem die Interaktion per Maus und Tastatur (wobei inzwischen auch die Steuerung über Gesten immer mehr an Bedeutung gewinnt): Wenn wir eine Computermaus bewegen, dann bewegt sich der Zeiger auf unserem Bildschirm. Das Signal des Gerätes wird an den Computer übermittelt, der es dann in eine ähnlich verlaufende Bewegung auf dem Bildschirm übersetzt. Wenn ein Nutzer dann zum Beispiel auf ein bestimmtes Programmsymbol in der Menüauswahl klickt, wird entsprechende Anweisung ausgeführt und das Programm wird geöffnet.

Das GUI ist also eine Art Übersetzer in der Kommunikation zwischen Mensch und Maschine. Ohne GUI müsste man Programme und Anwendungen über Befehle in der Kommandozeile aufrufen. Das kann dann folgendermaßen aussehen (das Beispiel zeigt das Öffnen des Explorers):

C:\User\Me>start explorer
Zur Anzeige dieses Videos sind Cookies von Drittanbietern erforderlich. Ihre Cookie-Einstellungen können Sie hier aufrufen und ändern.

Was sind die Bestandteile eines GUI?

Ein Graphical User Interface verbindet visuelles Design und Programmierfunktionen. Es bietet daher Schaltflächen, Drop-down-Menüs, Navigationsfelder, Suchfelder, Symbole und Widgets. Entwickler sollten dabei vor allem auf Nutzerfreundlichkeit achten. Übliche GUI-Komponenten sind:

  • Eingabefelder
  • Fenster
  • Leinwände (Canvas)
  • Rahmen
  • Schaltflächen
  • Schriftfelder
  • Textfelder

Der Papierkorb ist ein gutes Beispiel für ein in den meisten Betriebssystemen zu findendes Element. Und er wird sowohl bei Windows als auch bei Mac grafisch als ein Papierkorb dargestellt. Dadurch ist dem Benutzer sofort klar wozu der Papierkorb dient: dem Löschen von Dokumenten und Dateien.

Beim Schreiben von GUIs setzten Entwickler auf ereignisbasiertes Programmieren, denn sie können nicht voraussagen, welche Tätigkeiten der Anwender ausführen wird. Daher kann man GUIs nicht linear programmieren, sondern muss sie so schreiben, dass ein Kommando nur dann ausgeführt wird, wenn der User das Signal dafür gibt.

Tipp

Wer selbst GUIs in Python programmieren möchte, kann dies mit der Einführung von Marco Schmid und Beni Keller im Pythonbuch erreichen.

Welche Anforderungen sollte ein GUI erfüllen?

Eine gute grafische Benutzeroberfläche sollte in erster Linie dem Nutzer die Bedienung erleichtern. Bei der Konzeption ist wichtig, dass das GUI eine intuitive Steuerung erlaubt. Um das zu erreichen, benötigt man allerdings ein gutes Verständnis für die Bedürfnisse und Vorlieben der Nutzer. Ein User-Experience-orientiertes Design zielt darauf ab, dem Benutzer das zu bieten, was er sich von der Anwendung erhofft. Worauf man bei der Entwicklung eines GUIs auf jeden Fall achten sollte, sind folgende Merkmale:

  • Einfache Schnittstellen. Es empfiehlt sich, auf unnötige Design-Elemente zu verzichten und einfache und klar verständliche Bezeichnungen zu wählen.
  • Zweckorientiertes Layout: Jede Seite sollte gut strukturiert sein; jedes Element sollte eine klare Funktion erfüllen.
  • Konsistenz: Bei der Verwendung mehrerer Elemente und Grafiken ist es wichtig, dass alle einzelnen Bestandteile aufeinander abgestimmt sind.
  • Design und Typografie: Design-Einheiten, Farben und Texte sollten je nach Zweck eines Bestandteils das Element in den Vordergrund oder Hintergrund rücken. Wichtig ist auch, auch jeweils zur Funktion und passende und leicht erkennbare Fonts und Schriftgrößen zu verwenden.
  • Benutzer Updates: Ein GUI sollte auch über Fehler und Status-Änderungen informieren.

Welche Vor- und Nachteile bietet ein GUI?

Grafische Benutzeroberflächen haben sich durchgesetzt, weil sie den Nutzern zahlreiche Vorteile bieten. Aber sie haben auch einige Nachteile. Wir erläutern die Stärken und Schwächen von GUIs in der untenstehenden Tabelle.

Vorteile Nachteile
Einfach und nutzerfreundlich Weniger Flexibilität: Nur vorprogrammierte Anweisungen können ausgeführt werden
Visuell ansprechend gestaltet Die Funktionalität des Systems kann nicht geändert oder angepasst werden
Selbst Benutzter mit geringem technischem Wissen können einfache Anwendungen über ein GUI ausführen GUIs benötigen im System vergleichsweise viel Speicherkapazität
Die Suche nach Dokumenten oder Dateien ist dank visueller Darstellung sehr leicht GUIs sind langsamer als Interfaces, die nur auf Command Lines basieren
Das System antwortet auf Anweisungen, die der Nutzer dank des visuellen Format ganz intuitiv geben kann Es ist für den Entwickler vergleichsweise schwierig, ein leicht verständliches GUI zu designen
Nutzer können schnell und einfach zwischen mehreren Anwendungen hin und her navigieren Manche Anweisungen brauchen länger, um ausgeführt zu werden
Fazit

Ohne Graphical User Interfaces wäre die Digitale Revolution nicht denkbar gewesen. Die GUI ermöglichten es selbst ungeübten Nutzern, sich schnell in Programme einzuarbeiten. Allgemein verständliche Symbole und erklärender Text sorgen für eine hohe Nutzerfreundlichkeit.