Grafische gebruikersomgeving
Een grafische gebruikersomgeving (ook wel aangeduid met het Engelse Graphical User Interface, afgekort GUI, uitgesproken als "goewie") is een manier van interactie met een computer waarbij grafische beelden, widgets en tekst gebruikt worden.
De basisprincipes van de grafische gebruikersomgeving werden uitgevonden door Xerox PARC. De meeste moderne GUI's stammen hiervan af. (Sommige bronnen zeggen dat Doug Engelbart het GUI-concept formuleerde nog voor Xerox het in de praktijk bracht.) Om deze reden noemen sommigen dit type interface een PARC User Interface (PUI). Een PUI bestaat uit grafische widgets zoals vensters, menu's, knoppen, keuzerondjes en pictogrammen en maakt gebruik van een aanwijsapparaat (zoals een muis, trackball of aanraakscherm) ter aanvulling van het toetsenbord. Om die reden wordt een PUI ook wel WIMP (Windows, Icons, Menu, Pointer) genoemd. Widgets zijn dikwijls geprefabriceerd in de vorm van widget-toolkits.
Voorbeelden van besturingssystemen die PUI's ondersteunen zijn Mac OS, Microsoft Windows, GEOS en Unix/Linux (wanneer het X Window Systeem gebruikt wordt). Deze laatste PUI wordt ook nog uitgebreid door widget-toolkits als Motif (CDE), Qt (o.a. gebruikt in KDE) en GTK+ (o.a. gebruikt in GNOME).
GUI's die geen PUI's zijn zijn meestal computerspellen. Rond geavanceerde GUI's gebaseerd op virtuele realiteit wordt nog regelmatig onderzoek verricht.
Vergelijkbaar met GUI's zijn tekstuele gebruikersinterfaces (TUI, text user interface) die dezelfde types van widgets weergeven, maar in een tekengeoriënteerde omgeving in plaats van een pixelgeoriënteerde omgeving. Voorbeelden van TUI's zijn vele MS-DOS programma's en programma's die gebruikmaken van de ncurses-programmeerbibliotheek, die zorgt voor de TUI.
Sommige applicaties hebben beide interfaces, omdat beide voordelen bieden. TUI's zijn makkelijk te gebruiken in een netwerk, omdat ze weinig dataoverdracht vereisen, maar GUI's zijn mooier. Bij een TUI wordt er niet beslist welke pixel wat doet, maar hangt dit gewoon af van welke pixels een teken gebruikt. Er is dus veel minder vrijheid om met een pixel te doen wat je wilt.
De grafische gebruikersinterface staat in fel contrast met de opdrachtregelinterface (CLI, command line interface).
Omdat GUI's en TUI's het grootste deel van alle relevante opdrachten op één scherm weergeven, hebben ze een minder steile leercurve (in de zin dat ze makkelijker te leren zijn) dan CLI's, maar gebruikers met visuele of motorische handicaps hebben dikwijls problemen met de navigatie. De meeste GUI's verbruiken een pak meer processorkracht dan een CLI, waardoor ze weinig bruikbaar zijn op oudere apparatuur. Daarnaast zijn CLI's vaak flexibeler.
Een GUI kan relatief eenvoudig in elkaar worden geknutseld. Met Borland Delphi kan een GUI zelfs binnen enkele minuten worden vervaardigd. Er zijn echter bedrijven die veel aandacht besteden aan de ontwikkeling van GUI's. Een bekende methode is GUIDE (Graphical User Interface Design and Evaluation).