Un’interfaccia utente, o UI (user interface), è l’insieme di elementi e comportamenti attraverso cui una persona interagisce con un sistema: vede informazioni, impartisce comandi, compie azioni e riceve una risposta.
È facile ridurla alla parte visuale di un sito o di un’app: colori, pulsanti, icone, font. Ma una UI funziona anche quando comunica che un’operazione è in corso, impedisce un errore, mostra perché un dato non è valido, mantiene chiaro dove si trova l’utente o permette di completare la stessa azione da tastiera.
Questo è il punto da tenere presente per tutto l’articolo: una buona interfaccia non è semplicemente una schermata ben disegnata. È un sistema di comunicazione tra persona e prodotto.
Capire questa differenza aiuta sia quando devi progettare una nuova UI, sia quando davanti a un’interfaccia apparentemente ordinata senti che “qualcosa non funziona” ma non sai ancora spiegare cosa.
Cos’è un’interfaccia utente
L’interfaccia utente è lo strato con cui una persona entra concretamente in contatto con un prodotto o un sistema.
In un e-commerce comprende, per esempio, il menu, la ricerca, i filtri, le schede prodotto, i pulsanti, il carrello e il checkout. Ma comprende anche ciò che accade dopo ogni azione: un filtro è stato applicato? Il prodotto è entrato nel carrello? Il pagamento è in elaborazione? Un campo contiene un errore?
Il modello mentale più utile è quindi questo:
utente → azione → sistema → risposta percepibile dall’utente
Se uno di questi passaggi diventa ambiguo, l’interfaccia può creare attrito anche quando l’aspetto grafico è curato.
UI e User Interface: definizione e significato
UI è l’acronimo di User Interface, cioè interfaccia utente.
Il concetto non riguarda soltanto siti web e applicazioni mobili. Un’interfaccia esiste ogni volta che una persona deve comunicare con un sistema attraverso comandi, controlli e risposte.
Un modulo online ne è un esempio semplice. I campi permettono di inserire dati; etichette e istruzioni spiegano cosa viene richiesto; un pulsante avvia l’operazione; messaggi e cambiamenti visuali comunicano l’esito.
Il pulsante, preso da solo, è un componente. L’interfaccia nasce dalle relazioni tra componente, azione, stato e risultato.
È una distinzione utile perché sposta la domanda da “come deve apparire questo elemento?” a “cosa deve capire e poter fare la persona in questo momento?”.
L’interfaccia non è solo grafica: azioni, stati e feedback
Immagina due pulsanti identici.
Nel primo caso premi “Salva”, il pulsante cambia stato, compare un indicatore di elaborazione e poi un messaggio conferma il salvataggio.
Nel secondo premi “Salva” e per due secondi non succede apparentemente nulla. Non sai se il clic è stato registrato, quindi premi di nuovo.
L’aspetto iniziale dei due pulsanti è identico. La qualità dell’interfaccia no.
Le euristiche di Nielsen Norman Group sulla progettazione delle interfacce includono la visibilità dello stato del sistema, il controllo dell’utente, la coerenza, la prevenzione degli errori e la possibilità di riconoscere e recuperare dagli errori. Il feedback non è quindi una decorazione aggiunta alla fine: è parte dell’interazione.
Lo stesso vale per elementi apparentemente secondari: uno stato disabilitato, un messaggio di conferma, un indicatore di caricamento, un focus visibile, un campo che segnala chiaramente un input errato.
Una schermata statica può mostrarti come appare la UI in un momento ideale. Per capire come funziona davvero devi osservare anche cosa accade prima, durante e dopo le azioni dell’utente.

UI, UX e GUI: quali sono le differenze
UI, UX e GUI vengono spesso usati come se fossero intercambiabili. Sono collegati, ma rispondono a domande differenti.
| Concetto | Domanda principale | Cosa comprende |
|---|---|---|
| UI | Come interagisce la persona con il sistema? | componenti, controlli, stati, feedback, comportamento e linguaggio visuale |
| UX | Com’è l’esperienza complessiva nell’uso del prodotto? | bisogni, flussi, comprensione, usabilità, percezioni e risultato del percorso |
| GUI | Come avviene l’interazione attraverso elementi grafici? | finestre, menu, icone, pulsanti e altri controlli visuali |
| Layout | Come sono organizzati gli elementi nello spazio? | gerarchia, griglie, allineamenti, proporzioni e distribuzione dei contenuti |
La distinzione non serve a creare confini professionali rigidi. Serve a capire quale problema stai cercando di risolvere.
UI vs UX: l’interfaccia è una parte dell’esperienza
La user experience riguarda l’esperienza complessiva della persona con un prodotto o servizio. La UI è uno dei punti nei quali quell’esperienza prende forma.
Dire che “UI è come appare, UX è come funziona” può essere utile come prima semplificazione, ma diventa presto troppo stretta.
Un messaggio di errore è UI e influisce sul funzionamento percepito. Una navigazione poco chiara è UI e modifica la capacità di completare un percorso. Uno stato di caricamento è UI e cambia il modo in cui viene interpretata l’attesa.
Allo stesso tempo, la UX va oltre l’interfaccia. Comprende la comprensione dei bisogni, l’architettura del percorso, le aspettative, la facilità con cui si raggiunge il risultato e altri aspetti che non coincidono con la singola schermata.
Un prodotto può quindi avere una UI visivamente raffinata e una UX debole. Ma può anche avere problemi di UX proprio perché la sua interfaccia comunica male.
UI vs GUI: perché interfaccia utente e interfaccia grafica non sono sinonimi
Una GUI, o Graphical User Interface, è un tipo di interfaccia utente basata prevalentemente su elementi grafici.
Finestre, pulsanti, icone, menu, card e controlli visuali sono elementi tipici di una GUI.
Il termine UI è più ampio. Un’interfaccia a riga di comando, per esempio, non ha bisogno di pulsanti o card per consentire l’interazione. Anche un assistente vocale può avere un’interfaccia nella quale il canale principale non è visuale.
Per questo “interfaccia grafica” e “interfaccia utente” possono sovrapporsi in moltissimi prodotti digitali, ma non descrivono esattamente la stessa cosa. In questo senso, un’interfaccia grafica è una particolare forma di UI, non una definizione alternativa valida per qualsiasi modalità d’interazione.
Interfaccia web, software, vocale e altri tipi di UI
Una interfaccia web viene utilizzata attraverso un browser e deve confrontarsi con contenuti, navigazione, dimensioni dello schermo, modalità di input e comportamento responsive.
Un’applicazione desktop può usare finestre, toolbar, menu contestuali e scorciatoie da tastiera. Un’app mobile aggiunge gesture, tastiera virtuale e vincoli di spazio differenti. Un’interfaccia vocale sposta buona parte dell’interazione dalla dimensione visuale al linguaggio.
Esistono poi interfacce a riga di comando, sistemi touch, interfacce gestuali e soluzioni che combinano più modalità.
Una interfaccia web efficace deve quindi essere valutata anche nelle condizioni reali in cui verrà utilizzata, non soltanto nella schermata desktop presa come riferimento durante la progettazione.
Non serve memorizzare una tassonomia completa per progettare meglio. Il criterio utile è un altro: il modo in cui l’utente comunica con il sistema modifica ciò che l’interfaccia deve rendere comprensibile, controllabile e verificabile.
Da cosa è composta un’interfaccia utente
Un’interfaccia nasce da molti elementi, ma un elenco di componenti non basta a descriverla.
Un bottone può essere progettato perfettamente e trovarsi comunque nel posto sbagliato. Un menu può essere coerente con il design system e offrire una struttura incomprensibile. Un form può utilizzare componenti accessibili e avere istruzioni ambigue.
Conviene quindi guardare alla UI come a un sistema formato da quattro livelli: controlli, organizzazione, stati e gerarchia visuale.
Controlli e componenti interattivi
Pulsanti, link, campi di input, checkbox, radio button, select, tab, slider, menu, accordion e dialog sono alcuni dei componenti più comuni.
Ognuno dovrebbe rendere riconoscibili almeno tre cose: cosa rappresenta, se è utilizzabile in quel momento e cosa può succedere quando viene attivato.
Prendiamo un campo password. Non basta disegnare un rettangolo con una label. Bisogna considerare il valore inserito, lo stato vuoto, il focus, un eventuale errore, i requisiti della password, la possibilità di mostrarla o nasconderla e la relazione con il pulsante di invio.
Il componente reale è l’insieme dei suoi possibili stati, non soltanto la sua versione di default.
Questa logica diventa ancora più importante quando i componenti vengono riutilizzati in più schermate.
Navigazione e organizzazione dell’interfaccia
La navigazione risponde a domande molto concrete: dove sono? Dove posso andare? Come torno indietro? Dove trovo la funzione che mi serve?
Menu, breadcrumb, tab, ricerca, filtri e link contestuali sono strumenti diversi per costruire orientamento.
Il problema non si risolve aggiungendo più navigazione. Aggiungere un menu secondario, cinque scorciatoie e tre CTA può rendere l’interfaccia più difficile da interpretare anziché più semplice.
La struttura deve riflettere priorità reali.
Se un’azione è primaria, dovrebbe essere facilmente identificabile rispetto alle alternative. Se due percorsi hanno importanza diversa, l’interfaccia dovrebbe renderlo percepibile. Se l’utente entra in una sezione profonda, dovrebbe poter capire dove si trova senza dover ricostruire mentalmente l’intero sito.
Stati, feedback, messaggi ed errori
Una delle differenze tra disegnare una schermata e progettare un’interfaccia emerge negli stati.
Una lista può essere piena, vuota, in caricamento o temporaneamente non disponibile. Un form può essere intatto, compilato, incompleto, in invio, inviato con successo oppure respinto per uno o più errori. Un pulsante può essere disponibile, in hover, in focus, premuto, disabilitato o impegnato in un’operazione.
Questi stati raccontano cosa sta succedendo.
Il feedback dovrebbe arrivare nel momento in cui serve e con una forma proporzionata all’importanza dell’evento. Per un’impostazione salvata può bastare una conferma discreta. Per l’eliminazione definitiva di un contenuto serve invece una comunicazione molto più esplicita.
Anche l’errore va progettato. “Errore 42” informa il sistema, non necessariamente la persona. Un buon messaggio chiarisce che cosa non è andato, quale elemento richiede attenzione e cosa può fare l’utente per proseguire.
La prevenzione viene prima della correzione: se un’azione è irreversibile o rischiosa, l’interfaccia può ridurre la probabilità di errore prima che questo avvenga. È lo stesso principio espresso dalle euristiche di usabilità sulla prevenzione e sul recupero dagli errori.
Gerarchia visiva: tipografia, colore, contrasto e spaziatura
La parte visuale resta essenziale. Semplicemente, non esaurisce la UI.
Dimensioni, peso tipografico, spaziature, colore, contrasto e posizione aiutano a comunicare relazioni e priorità.
Se titolo, testo secondario e CTA hanno quasi lo stesso peso, l’utente deve fare più lavoro per capire da dove iniziare. Se ogni elemento usa un colore acceso, il colore smette di indicare priorità. Se gli spazi non riflettono la relazione tra contenuti, elementi distinti possono sembrare collegati e viceversa.
La gerarchia visuale dovrebbe quindi seguire quella informativa e funzionale.
Un elemento non diventa primario perché lo rendiamo grande: dovrebbe diventare grande perché è già primario nel task che stiamo progettando.
Cosa rende efficace una UI
Una UI efficace riduce l’ambiguità tra intenzione dell’utente, azione disponibile e risposta del sistema.
Non significa eliminare qualsiasi sforzo cognitivo. Alcuni prodotti sono complessi perché svolgono compiti complessi. L’obiettivo è evitare complessità che nasce dall’interfaccia senza aggiungere valore al task.
Anche le Linee guida di Designers Italia sull’interfaccia utente indicano tra i punti cardine di una buona interfaccia la coerenza tra gli elementi, l’inclusività, l’accessibilità e la tolleranza agli errori. La qualità della UI non dipende quindi soltanto dall’aspetto visuale, ma anche dalla capacità di sostenere l’azione in modo comprensibile e consistente.
Chiarezza: rendere evidente cosa può fare l’utente
Una UI chiara non obbliga continuamente a interpretare l’intenzione del designer.
Le etichette dovrebbero dire cosa fa un comando. Gli elementi cliccabili dovrebbero sembrare utilizzabili. Le informazioni necessarie a una decisione dovrebbero essere disponibili nel punto in cui la decisione viene presa.
Considera due CTA:
- “Continua”
- “Vai al pagamento”
La prima può essere sufficiente se il contesto rende ovvio il passaggio successivo. La seconda riduce l’ambiguità quando conoscere la destinazione modifica la decisione.
La chiarezza non richiede sempre più testo. Richiede abbastanza informazione nel momento giusto.
Coerenza e prevedibilità
La coerenza permette di trasferire ciò che hai imparato in una parte dell’interfaccia alle altre.
Se lo stesso componente cambia significato, posizione o comportamento senza una ragione comprensibile, l’utente deve impararlo più volte.
Questo non significa rendere tutto identico.
Un’azione distruttiva può richiedere un trattamento diverso da un’azione ordinaria. Un checkout può avere una navigazione più controllata rispetto a un archivio di contenuti. La coerenza utile riguarda soprattutto la relazione tra stessa funzione e stesso comportamento atteso.
I pattern conosciuti hanno valore proprio perché riducono l’apprendimento necessario. Romperli può essere sensato, ma dovrebbe risolvere un problema reale, non soltanto rendere l’interfaccia più originale.
Controllo, feedback e recupero dagli errori
Quando l’utente compie un’azione deve poter capire se il sistema l’ha ricevuta e quali conseguenze ha prodotto.
Nielsen Norman Group sintetizza questo principio nella “visibilità dello stato del sistema”: l’interfaccia dovrebbe mantenere la persona informata attraverso feedback appropriati. Le stesse euristiche includono controllo, libertà d’azione e recupero dagli errori.
Questo cambia molte decisioni concrete.
Un upload dovrebbe mostrare che il trasferimento è iniziato. Una cancellazione importante dovrebbe chiarire le conseguenze. Un’operazione annullabile può offrire “Annulla” invece di costringere a una conferma per ogni singola azione.
Il punto non è aggiungere notifiche ovunque. È chiudere il ciclo tra azione e comprensione del risultato.
Accessibilità e responsive design non sono rifiniture
Un’interfaccia non è davvero completa se funziona solo con il mouse, alla larghezza usata nel mockup e nelle condizioni ideali previste dal designer.
Le Web Content Accessibility Guidelines (WCAG) 2.2 comprendono criteri relativi anche all’uso tramite tastiera e alla visibilità del focus. Questi aspetti non riguardano una rifinitura da applicare alla fine, ma il modo concreto in cui persone diverse possono utilizzare i componenti dell’interfaccia.
Questi requisiti fanno emergere un punto progettuale più generale: il modo in cui una persona usa l’interfaccia non è unico.
C’è chi naviga da tastiera, chi usa tecnologie assistive, chi aumenta lo zoom, chi usa uno smartphone in uno spazio molto ridotto, chi interagisce con un touch screen e chi incontra limitazioni temporanee o permanenti.
Il responsive design affronta una parte dello stesso problema. Non consiste nel restringere una schermata desktop fino a farla entrare su mobile. A volte un componente può adattarsi; altre volte deve cambiare struttura, priorità o modalità d’interazione.
Progettare queste condizioni fin dall’inizio evita che accessibilità e responsive diventino correzioni tardive applicate a un’interfaccia già bloccata.
Come si progetta un’interfaccia utente
Il UI design funziona meglio quando la grafica arriva dopo una serie di decisioni più importanti: cosa deve fare la persona, quali informazioni le servono, quali alternative esistono e quali vincoli deve rispettare il sistema.
Questo processo non appartiene necessariamente a una singola figura. In un progetto web può coinvolgere UX designer, web designer, sviluppatori, copywriter e altre competenze.
Ciò che conta è mantenere continuità tra problema, struttura, interfaccia e implementazione.
Partire da task, contenuti e vincoli prima della grafica
Prima di scegliere il colore di un pulsante conviene sapere perché quel pulsante esiste.
Prendi una pagina per prenotare un appuntamento. Il task potrebbe richiedere di scegliere un servizio, una sede, una data, un orario e lasciare alcuni dati.
Da qui emergono domande più utili di “come facciamo la schermata?”:
quali informazioni devono essere disponibili prima della scelta? Quali passaggi dipendono da quelli precedenti? Cosa succede se non ci sono slot? L’utente può tornare indietro senza perdere i dati? Quali errori può commettere?
Rispondere prima a queste domande evita di perfezionare visualmente un percorso fragile.
Dal wireframe ai componenti dell’interfaccia
Il wireframe permette di ragionare su struttura, gerarchia e flusso senza fissare troppo presto l’aspetto finale.
Nel lavoro di UI design, questa fase permette di verificare priorità e relazioni prima che tipografia, colore e dettagli visuali rendano più costoso mettere in discussione la struttura.
Quando queste relazioni sono abbastanza solide, si può aumentare la fedeltà e arrivare al mockup, dove tipografia, palette, immagini, spaziature e componenti diventano molto più definiti.
Il passaggio importante non è però “da brutto a bello”.
È da struttura a sistema.
Se un pulsante compare in dieci schermate, non dovrebbe essere dieci decisioni indipendenti. Se un input ha cinque stati, quegli stati devono appartenere alla stessa logica. Se una card cambia in mobile, la variazione dovrebbe essere prevista dal componente e non improvvisata pagina per pagina.
È qui che l’interfaccia smette di essere una raccolta di schermate e comincia a comportarsi come un prodotto.
Usare pattern e design system senza progettare in automatico
Un design system aiuta a mantenere componenti, regole visuali, stati e comportamenti coerenti.
Il vantaggio è evidente: non devi decidere ogni volta da zero come appare un input, quale spaziatura usa una card o come viene rappresentato un errore.
Ma un sistema di componenti non decide il prodotto al posto tuo.
Puoi avere un design system impeccabile e costruire comunque una navigazione confusa. Puoi applicare perfettamente il componente “button primary” a un’azione che non dovrebbe essere primaria.
La domanda viene quindi prima del componente:
che cosa deve capire o fare l’utente in questo punto?
Solo dopo ha senso scegliere il pattern più adatto e verificare se il sistema esistente lo copre.
Progettare anche loading, errori, empty state e altri stati
Il cosiddetto happy path mostra cosa succede quando tutto procede come previsto.
È necessario, ma non basta.
Una ricerca può non produrre risultati. Una connessione può interrompersi. Un utente può non avere ancora creato alcun progetto. Un pagamento può fallire. Un dato può richiedere più tempo per caricarsi.
Questi non sono casi marginali da lasciare agli sviluppatori alla fine. Sono momenti dell’interfaccia.
Un empty state, per esempio, dovrebbe aiutare a capire perché la schermata è vuota e, quando possibile, quale azione ha senso compiere. Un errore dovrebbe essere collegato al problema che l’utente può correggere. Un loading state dovrebbe rendere percepibile che il sistema sta lavorando senza fingere un avanzamento che non conosce.
Progettare gli stati significa progettare la UI reale, non soltanto quella da portfolio.
Prototipare, verificare e iterare
Un prototipo aggiunge una dimensione che il mockup statico non può mostrare: la sequenza.
Puoi capire dove porta un’azione, come cambia un componente, se una finestra interrompe correttamente il flusso e se il percorso mantiene senso quando viene attraversato.
Strumenti come Figma permettono di collegare schermate, componenti e stati e di costruire prototipi utili a verificare le decisioni prima dell’implementazione.
Ma il prototipo non dimostra da solo che l’interfaccia funzioni.
Va messo alla prova con task realistici. Osservare dove una persona esita, torna indietro, interpreta male una label o non vede un feedback può mettere in discussione una scelta che sulla tavola grafica sembrava perfetta.
L’iterazione serve proprio a questo: non difendere la prima soluzione, ma usare ciò che emerge per ridurre l’ambiguità della successiva.
Come capire se un’interfaccia funziona: il test delle 5 domande
Per valutare una UI senza perdersi subito in decine di criteri, puoi partire da cinque domande. Non sono uno standard di conformità né sostituiscono un test di usabilità o una verifica di accessibilità: sono un modello editoriale rapido per trovare i punti nei quali vale la pena approfondire.
- Dove sono e cosa sta succedendo?
L’interfaccia rende comprensibile il contesto e lo stato del sistema? Dopo un’azione importante riesco a capire cosa è cambiato? - Cosa posso fare qui?
Le azioni disponibili sono riconoscibili e le priorità comprensibili? Oppure devo scoprire per tentativi cosa è cliccabile e cosa no? - Cosa succede quando agisco?
Il sistema restituisce un feedback coerente? Posso prevedere ragionevolmente la conseguenza di un comando prima di attivarlo? - Se sbaglio, posso capire e recuperare?
L’interfaccia previene gli errori evitabili, spiega quelli che avvengono e offre un percorso realistico per correggerli? - Il task funziona anche fuori dalla condizione ideale?
Riesco a completarlo su schermi differenti, usando modalità di input diverse e incontrando stati come caricamento, assenza di dati o errore?
Se una risposta è “no”, non hai ancora necessariamente trovato la soluzione. Hai però individuato dove cercare il problema.
Ed è molto più utile di giudicare una UI soltanto chiedendo se appare moderna, pulita o gradevole.
Conclusione
Il criterio più utile per giudicare un’interfaccia utente non è quanto sia bella isolata in una schermata, ma quanto renda comprensibile la relazione tra possibilità, azione, stato e risultato.
La parte visuale conta perché costruisce gerarchia, riconoscibilità e significato. Ma una UI diventa realmente utilizzabile quando gestisce anche ciò che una tavola statica tende a nascondere: feedback, errori, attese, cambi di stato, responsive, focus e modalità d’interazione differenti.
Per questo, quando devi progettare o valutare un’interfaccia, partirei da un task reale invece che dai componenti. Segui quel task dall’inizio alla fine, compresi i momenti in cui qualcosa cambia o va storto.
Se in ogni passaggio l’utente capisce dove si trova, cosa può fare, cosa è successo e come proseguire, l’interfaccia sta facendo il suo lavoro. Se una di queste risposte manca, hai trovato il prossimo punto da progettare.