Grafični uporabniški vmesnik
Gráfični uporábniški vmésnik (angleško graphical user interface, okrajšano GUI, včasih se v angleščini izgovori »gooey« [guej], oziroma slovensko kar [gui]) je postopek vzajemnega delovanja z računalnikom s pomočjo podob neposrednega upravljanja grafičnih slik in elementov (widgets) z besedilom. Kot že sam opis kratice intuitivno pove, gre za vmesnik med uporabnikom in računalnikom oziroma programsko opremo. Poleg računalnikov tudi mnogo mobilnih naprav uporablja grafične uporabniške vmesnike.
Grafični uporabniški vmesniki prikazujejo elemente kot so ikone, okna in drugi pripomočki (gadgets). Prednika grafičnih uporabniških vmesnikov so razvili raziskovalci Raziskovalnega inštituta Stanford v Menlo Parku pod vodstvom izumitelja Douglasa Carla Engelbarta. Ta vmesnik je v večuporabniškem operacijskem sistemu On-Line System uporabljal hiperpovezave v besedilu in delo z miško. Zamisel hiperpovezav so z grafiko naprej razvili in razširili raziskovalci na raziskovalnem oddelku Xerox PARC v Palo Altu. Ta grafični uporabniški vmesnik je bil glavni vmesnik za računalnik Xerox Alto iz leta 1973. To je bil predhodnik vseh sodobnih splošno uporabnih grafičnih uporabniških vmesnikov. Zaradi tega še danes nekateri za ta razred vmesnika uporabljajo kratico PUI (PARC User Interface). Tedaj je PUI vseboval grafične elemente kot so okna, menuji, gumbi, potrditvena polja in ikone. V njem je bilo poleg tipkovnice moč podajati ukaze s kakšno vhodno napravo, kot so miška, sledna krogla ali zaslon na dotik. Takšne lastnosti vmesnikov PUI poudarja angleški akronim WIMP, ki je okrajšava za Windows, Icons, Menus in Pointing device.
Prvi javnosti dostopen računalnik z grafičnim vmesnikom je bil PERQ v letu 1979. V letu 1981 je Xerox dodelal računalnik Alto v izboljšano, javno dostopno različico Xerox Star (Xerox 8010 Information System). Vmesnik Star-a je vseboval set sličic ali ikon, ki so bile razporejene po ekranu, da bi izgledale kot namizje. Z uporabo miške za postavitev kazalnika na ikono in klikom na gumb se je v trenutku sprožil ukaz, kar je predstavljajo lažlji in hitrejši proces kot tipkanje ukazov.
Računalniški programerji običajno uporabljajo ustrezne API vmesnike (angl. Application Programming Interface) oziroma programske knjižnice (v visokonivojskih programskih jezikih), ki jim omogočajo enostavnejšo in hitrejšo implementacijo grafičnih uporabniških vmesnikov.
Razen grafičnega uporabniškega vmesnika štejemo v kategorijo uporabniških vmesnikov tudi TUI (angl. Text User Interface) in CLI (angl. Command Line Interface) vmesnika.