De grafische gebruikersinterface (GUI; soms 'gooey' genoemd) wordt tegenwoordig door de meeste commercieel populaire computerbesturingssystemen en softwareprogramma's gebruikt. Het is het soort interface waarmee gebruikers elementen op het scherm kunnen manipuleren met een muis, een stylus of zelfs een vinger. Met dit soort interface kunnen bijvoorbeeld tekstverwerkingsprogramma's of webontwerpprogramma's WYSIWYG-opties bieden (wat u ziet is wat u krijgt).
Voordat GUI-systemen populair werden, waren command line interface (CLI) -systemen de norm. Op deze systemen moesten gebruikers opdrachten invoeren met regels gecodeerde tekst. De opdrachten varieerden van eenvoudige instructies voor toegang tot bestanden of mappen tot veel gecompliceerdere opdrachten waarvoor veel coderegels nodig waren.
Zoals je je misschien kunt voorstellen, hebben GUI-systemen computers veel gebruiksvriendelijker gemaakt dan CLI-systemen.
Een computer met een goed ontworpen GUI kan door bijna iedereen worden gebruikt, ongeacht hoe technisch de gebruiker kan zijn. Overweeg de geldbeheersystemen of geautomatiseerde kassa's die tegenwoordig in winkels en restaurants worden gebruikt. Informatie invoeren is net zo eenvoudig als het indrukken van cijfers of afbeeldingen op een touchscreen om bestellingen te plaatsen en betalingen te berekenen, of dit nu contant, credit of debet betreft. Dit proces van het invoeren van informatie is eenvoudig, praktisch iedereen kan worden getraind om het te doen, en het systeem kan alle verkoopgegevens opslaan voor latere analyse op talloze manieren. Het verzamelen van gegevens was veel arbeidsintensiever in de dagen vóór GUI-interfaces.
Stel je voor dat je probeert te surfen op internet met behulp van een CLI-systeem. In plaats van links naar visueel verbluffende websites aan te wijzen en erop te klikken, zouden gebruikers tekstgestuurde mappen met bestanden moeten oproepen en misschien lange, gecompliceerde URL's moeten onthouden om ze handmatig in te voeren. Het zou zeker mogelijk zijn, en er werd veel waardevol computergebruik gedaan toen CLI-systemen de markt domineerden, maar het kon vervelend zijn en was over het algemeen beperkt tot werkgerelateerde taken. Als het bekijken van familiefoto's, het bekijken van video's of het lezen van het nieuws op een thuiscomputer betekende dat ze soms lange of complexe opdrachtinvoer moesten onthouden, zouden niet veel mensen dat een ontspannen manier vinden om hun tijd door te brengen.
Het meest voor de hand liggende voorbeeld van de waarde van CLI is misschien wel degenen die code schrijven voor softwareprogramma's en webontwerpen. GUI-systemen maken taken toegankelijker voor gemiddelde gebruikers, maar het combineren van een toetsenbord met een muis of een touchscreen kan een tijdrovende klus zijn wanneer dezelfde taak kan worden uitgevoerd zonder de handen van het toetsenbord te hoeven halen. Degenen die code schrijven, kennen de opdrachtcodes die ze moeten opnemen en willen geen tijd verspillen met wijzen en klikken als dit niet nodig is.
Handmatige invoer van opdrachten biedt ook precisie die een WYSIWYG-optie in een GUI-interface mogelijk niet biedt. Als het doel bijvoorbeeld is om een element te maken voor een webpagina of een softwareprogramma met een exacte breedte en hoogte in pixels, kan het sneller en nauwkeuriger zijn om die dimensies rechtstreeks in te voeren dan het element te proberen te tekenen met een muis.