Definition „Graphical User Interface“

Was ist eine GUI?

| Autor / Redakteur: Gedeon Rauch / Stephan Augsten

Viele Geräte lassen sich heute so intuitiv bedienen, dass dem Anwender die Existenz der Benutzerschnittstelle(n) gar nicht mehr bewusst ist.
Viele Geräte lassen sich heute so intuitiv bedienen, dass dem Anwender die Existenz der Benutzerschnittstelle(n) gar nicht mehr bewusst ist. (Bild: fancycrave1 - Pixabay.com / CC0)

Wird heutzutage der Begriff „User Interface“ benutzt, so wird er meist synonym zum Graphical User Interface, kurz GUI, gebraucht. Die grafische Benutzerschnittstelle oder auch -oberfläche verbindet letztlich Software und Technik mit dem Menschen.

Die Benutzung eines Computers oder Smartphones ist heute so selbstverständlich, dass die Kluft zwischen Mensch und Maschine kaum noch bewusst wahrgenommen wird. Um dem Menschen die Bedienung von Programmen und Maschinen zu ermöglichen, braucht es allerdings ein passendes Interface.

Der Begriff „User Interface“ bezeichnet zunächst einmal nichts Anderes als eben diese Schnittstelle zwischen Mensch und Maschine. Ziel der Schnittstelle ist es dabei stets, dem Menschen die Kontrolle über die Maschine in möglichst optimierter Form zu geben. Gleichzeitig sollen die maschinell erstellten Daten für den Menschen lesbar sein.

Warum das User Interface grafisch verstanden wird

Das User Interface wird auch Mensch-Maschinen-Interface genannt und wird aktuell technisch als grafische Schnittstelle (Graphical User Interface, GUI) ausgelegt. Dies ist bereits seit mehreren Jahrzehnten der Fall, seitdem der Personal Computer eine deutlich weitere Verbreitung hat als etwa schwere Maschinen.

Etwa seit den späten 1960ern nutzen Computer ein grafisches Interface, über das der User mithilfe der Tastaur und/oder einer Maus sowie eines Cursors interagiert. Über Fenster und Hypertext können Mensch und Maschine kommunizieren.

Kurz gefasst wurde das Interface am Computer WIMP genannt, Windows, Icons, Menus, Pointers. Trotz aller modernen Entwicklung wurde diese Form des User Interfaces am Computer mehr oder minder bis heute übernommen und auch Tablets und Smartphones orientieren sich grafisch an dieser Form der Schnittstelle.

Heute erscheint es mehr als selbstverständlich, dass Maschinen Bewegungen, Gesten und Tastendruck interpretieren können und die Sprache, die User und Computer im Umgang miteinander benutzen, ist intuitiv gehalten und kann leicht verstanden werden.

Vormalige Formen des Nutzer-Interfaces hingegen waren nur teilweise oder gar nicht vom Menschen lesbar und mussten wie eine Fremdsprache gelernt werden. Hierzu zählte etwa das – auch heute noch beim Codieren sowie unter Linux-Derivaten sehr gängige – Schreiben einzelner Kommandozeilen, das bis in die frühen 90er auch in vielen Haushalten noch weit verbreitet war.

Dieses entwickelte sich später zu einem textbasierten Interface. Dabei mussten Nutzer ihre Interaktionen immer noch aufschreiben, der Rechner war aber schon in Grundzügen der menschlichen Sprache mächtig.

Das Batch Interface, die erste Form der Mensch-Maschinen-Schnittstelle, war eine für Menschen kaum verständliche Form der Interaktion, in der Lochkarten ausgestochen werden mussten. Diese sehr stark codierte Form der Kommunikation wird gemeinhin als erstes User Interface zwischen Computer und Nutzer verstanden.

Ziele der graphischen Benutzerschnittstelle

Als Teil der Programmierung eines Systems oder einer App ist das User Interface der Punkt, den der Nutzer als erstes wahrnehmen wird und mit dem er/sie in Kontakt tritt. Um die Funktionalität eines Programms überhaupt nutzen zu können, sind User auf ein Interface angewiesen, das sie beeinflussen und mit dem sie umgehen können, ohne es eigens zu lernen.

Hier spricht man auch von einem nutzerzentrierten Ausrichtung, welche den Menschen in den Mittelpunkt des Designs rückt und einen visuellen Aufbau bietet, der einen leichten Zugriff auf alle Funktionen bietet. Im Gegenzug muss auch die Applikation über das GUI kommunizieren, welche Vorgänge für den Nutzer relevant sind und – auch dies gehört zum User Interface – irrelevante Vorgänge aussortieren und diese eigenständig im Hintergrund abarbeiten, ohne den Nutzer zu stören.

Was unter einem gut designten Graphical User Interface verstanden wird, ist dabei verschiedenen Modeströmungen unterworfen und hängt auch von den gewünschten Nutzern ab. Für die meisten User ist ein Zugriff auf Hardware- und Kernel-Vorgänge weder nötig, noch gewünscht. Für Open-Source-Anwendungen kann dies aber durchaus relevant sein.

Fortgeschrittene Programme können etwa Übersichtlichkeit durch Minimalismus gewinnen und gewähren den Anwendern so einen besseren Überblick. Dies geht allerdings auf Kosten der auf einen Klick erreichbaren Funktionen.

Apps, die auf dem Smartphone auch weniger Technik-affine User erreichen wollen, müssen hingegen auf den ersten Blick lesbar sein und brauchen eine klare Bildsprache. Hierzu greifen diese meist auf eine kulturelle Semiotik zurück und sprechen über Zeichen (wie den Telefonhörer oder ehemals die Diskette als Speichersymbol). Diese Art der Kommunikation zu perfektionieren, ist das Ziel des Graphical User Interface – schließlich soll dieses so einfach zugänglich sein wie möglich, muss aber gleichzeitig auch die Nutzung eines komplexeren Programms ermöglichen.

Wenn Menschen und Maschinen in Bildern sprechen

Das User Interface ermöglicht dem Nutzer überhaupt erst eine sinnvolle Interaktion mit einer Maschine und hilft dem Menschen, die sprachliche Lücke zwischen ihm und dem Computer zu überbrücken. Dies geschieht heutzutage für User unterbewusst und hat sich seit den ersten grafischen Interpretationen am PC und dem WIMP-System kaum verändert. Vom Bankautomaten bis hin zum Smartphone ist das grafische Interface der Übersetzer zwischen Code und Kommando.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Open-Source-IDEs für 3D-Spiele

Panda3D, PlayCanvas und Cafu Engine im Überblick

Open-Source-IDEs für 3D-Spiele

Beim Gaming ist 3D-Grafik längst Normalität. Titel wie Doom haben den Weg schon vor langer Zeit geebnet – und als freie Gaming Engine ist Doom weiterhin Wegbereiter. Diese und weitere vielversprechenden IDEs für 3D-Games stellen wir heute vor. lesen

Was ist ein Event Handler?

Definition „Ereignisbehandlung“

Was ist ein Event Handler?

Mit einem Event Handler kann ein Softwareentwickler genau steuern, was im Programm geschehen soll, wenn ein bestimmtes Ereignis eintritt. Die auslösenden Events können dabei unterschiedlichen Ursprungs sein, oft werden sie aber durch die Interaktion des Anwenders ausgelöst. lesen

Git per Emacs ansteuern und verwalten

Integration von Code-Editoren und SCM, Teil 2

Git per Emacs ansteuern und verwalten

Emacs ist neben Vim immer noch einer der beliebtesten Editoren bei Entwicklern – und Git die unangefochtene Nummer 1 bei Versionsverwaltungen. Und natürlich lässt sich direkt in Emacs mit Git-Repositories arbeiten – nativ oder komfortabler mit dem Add-on Magit. lesen

Erste Schritte mit Git und GitHub

Effektive Zusammenarbeit im Development-Team

Erste Schritte mit Git und GitHub

Git ist seit Jahren eines der bekanntesten Versionskontrollsysteme für Entwickler. Mit der Lösung können Teams gemeinsam an Projekten arbeiten und Quellcode-Versionen effektiv verwalten, auch in Kombination mit GitHub. lesen

11 Gründe für die Einführung von GitOps

Continuous Deployments für Cloud-Native-Infrastrukturen

11 Gründe für die Einführung von GitOps

GitOps ist für alle in greifbare Nähe gerückt: Denn mit Kubernetes lassen sich Deployments von Anwendungen und Infrastruktur-Komponenten rein über deklarative Konfigurationsdateien verwalten, die in einem Git-Repository liegen. Aber was spricht eigentlich für diesen Ansatz? lesen

Gratis-Einstieg in die Spieleentwicklung

Freie IDEs für Platformer und andere 2D Games

Gratis-Einstieg in die Spieleentwicklung

Spiele zu entwickeln ist reizvoll: Mit einer guten Idee lässt sich auch mit relativ wenig Aufwand ein marktfähiges Produkt bauen. In Zeiten von Retro Games werden Schwächen eher verziehen und die Grafik darf auch gerne einfach und pixelig sein. Das gilt insbesondere für 2D-Titel wie Platformer. Fehlt nur die passende Entwicklungsumgebung. lesen

Open-Source-Entwicklung für Apple-Geräte

Apps für iOS, macOS, Apple TV und Apple Watch

Open-Source-Entwicklung für Apple-Geräte

Ob iPhone, iPad oder Apple Watch, Mac, Macbook oder Apple TV: Apps für Geräte aus Cupertino lassen sich durchaus mit quelloffenen Lösungen programmieren und bereitstellen. Diese bieten in vielen Fällen den gleichen Funktionsumfang wie kommerzielle Produkte und sind häufig auch weiter verbreitet. lesen

Vorlagen für Scaled Agile Framework und Vertragsverwaltung zur Premiere

Efecte fördert Austausch seiner Service-Management-Community

Vorlagen für Scaled Agile Framework und Vertragsverwaltung zur Premiere

Über die Service-Management-Plattform Efecte ist es künftig möglich, eigene Serviceprozesse, Low-Code-Workflows und Reports zu erstellen. Diese Vorlagen lassen sich dann mit der Efecte-Community, sprich den Kunden und Partnern des Anbieters teilen. lesen

Was ist Pipeline as Code?

Definition „Pipeline-Skript“

Was ist Pipeline as Code?

Pipeline as Code ist eine Funktion in der Open-Source-Software Jenkins. Jobabfolgen müssen hier nicht zwangsläufig konfiguriert werden. Stattdessen können sie als Skripte hinterlegt werden. Dies bietet in der alltäglichen Arbeit diverse Vorteile. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44942179 / Definitionen)