Questo sito contribuisce alla audience di

GUI

acronimo di Graphical User Interface. Indica una qualsiasi interfaccia utente che utilizzi elementi grafici per permettere l'accesso ai servizi forniti da un'applicazione o da un sistema operativo e la comunicazione di dati. Essa richiede una scheda grafica e un software di sistema per la gestione dello spazio dello schermo. Il modello classico di GUI è basato sulla presentazione di elementi grafici all'interno di finestre, sull'interazione con icone e sulla selezione di servizi mediante menu utilizzando il mouse per posizionare un puntatore su questi elementi. Questo modello è denominato anche WIMP (dalle iniziali delle corrispondenti parole inglesi Window, Icon, Menu, Pointer). A parte variazioni nei tipi di menu disponibili (dai classici menu a tendina a quelli pop-up), nella possibilità di interagire con elementi grafici come fossero icone e nell'impiego di dispositivi di puntamento diversi (quali touch screen), il modello WIMP è ancora alla base della maggior parte delle odierne GUI. Generalmente quest'ultime sono arricchite da nuove forme di presentazione dei dati e da nuovi strumenti, quali liste selezionabili, caselle per indicare scelte multiple o mutuamente esclusive. Un importante sviluppo del classico modello WIMP è costituito dalla possibilità di rendere attive parti dell'immagine presentata sullo schermo, per esempio attraverso collegamenti a documenti rinvenibili su web, a parti di testo o a porzioni di un'immagine, o a particolari azioni eseguite da un'applicazione. Le cosiddette interfacce non WIMP permettono la gestione di elementi grafici anche al di fuori della tradizionale organizzazione in finestra. Per esempio, esse permettono di rappresentare un ambiente di calcolo come una città o un edificio in cui, posizionando il puntatore su una strada o un palazzo, o in un corridoio o all'interno di una stanza, si accede a particolari servizi o insiemi di dati. Questo tipo di interfacce risulta particolarmente utile su dispositivi mobili, per adattare i contenuti dell'interazione man mano che un utente si muove nel corrispondente ambiente fisico. L'introduzione delle GUI ha notevolmente semplificato l'approccio all'utilizzo del computer perché non è più richiesta la conoscenza preventiva di specifici comandi per eseguire determinate operazioni. Essa ha reso possibile l'interazione diretta con rappresentazioni grafiche degli oggetti di interesse, permettendo anche a utenti non esperti in informatica di interagire con programmi complessi sfruttando rappresentazioni e metafore a loro familiari. La progettazione di interfacce grafiche di tal genere richiede competenze di diverso tipo. Occorre che le forme di rappresentazione progettate siano le più suggestive per l'utente, ma anche che supportino adeguatamente le interazioni desiderate; occorre progettare opportunamente la disposizione degli elementi grafici in modo da indicare la presenza di certe relazioni fra essi, ma anche le sequenze di interazione da parte dell'utente in modo da limitare gli spostamenti del puntatore. Gli elementi che compongono un'interfaccia grafica sono ormai largamente standardizzati e sono, quindi, disponibili sistemi per la loro generazione automatica, a partire da specifiche date dai progettisti, relativamente alla descrizione delle rappresentazioni da utilizzare, ai comportamenti da associare alle diverse rappresentazioni, al coordinamento da realizzare fra i diversi comportamenti e ai vincoli sulla disposizione effettiva degli elementi grafici sullo schermo. Le caratteristiche generali delle GUI così definite, in cui alcune parti della descrizione possono essere lasciate sotto forma di parametri, sono memorizzate sfruttando opportuni linguaggi di descrizione. Adeguati traduttori possono generare l'interfaccia desiderata, eventualmente assegnando valori ai parametri, sulla base di caratteristiche del particolare utente finale. Connessa al progetto di una GUI è la disponibilità di un modello di utente, in base al quale stanziare opportunamente i parametri. Questo modello può essere fondato su categorizzazioni a priori dei tipi di utente previsti per il sistema, come pure arricchirsi progressivamente mediante analisi del comportamento di singoli utenti, per esempio identificando sequenze tipiche di interazioni e proponendo la creazione di macroistruzioni che attivino l'intera sequenza in base a un singolo comando. Inoltre, è spesso disponibile un ambiente di configurazione della GUI, attraverso cui l'utente finale possa esplicitamente adattarla alle proprie esigenze.