La principale metodologia per valutare l’usabilità di un prodotto è quella analitica. Essa trova la sua massima espressione in Jakob Nielsen, un informatico danese che nel 1994 ricavò 10 principi guida per la realizzazione di sistemi usabili. Egli osservò gli errori commessi dagli utenti durante vari test, nello specifico studiò 249 anomalie nei loro flussi comportamentali, arrivando a delineare canoni che ancora oggi sono seguiti dai professionisti del settore:
Dialogo semplice e naturale
Un software per essere usabile deve adottare il medesimo linguaggio utilizzato dall’utente finale, generando con quest’ultimo una sorta di dialogo semplice e naturale. L’interfaccia, di conseguenza, deve essere intuitiva ed immediata.
Inoltre, sarebbe idoneo eliminare le informazioni superflue per evitare di ridurre la visibilità di quelle più importanti.
Semplificare la struttura dei compiti
Le attività principali che l’utente può compiere interagendo con il sistema devono essere progettate ed implementate in maniera tale che egli non debba ragionare troppo sulle informazioni che ha a disposizione.
Agevolare il riconoscimento piuttosto che il ricordo
Un’interfaccia usabile permette all’utente di capire immediatamente cosa fare senza dover ricordare i precedenti utilizzi del software; quindi il modo più efficace per facilitarlo nella sua interazione è quello di predisporre gli elementi grafici in modo chiaro, agevolando così il riconoscimento e non il ricordo.
Fornire feedback in modo da rendere visibile lo stato del sistema
Durante l’interazione, l’utente dovrebbe essere informato costantemente sulle risposte che il sistema fornisce alle sue azioni. Questo avviene attraverso l’utilizzo del feedback, esso ha lo scopo di prevedere possibili errori, confusione ed incomprensioni.
Prevenire gli errori di interazione e facilitarne il recupero
Quando si utilizza un software è inevitabile sorgano degli errori. L’errore è un’azione specificata in modo incompleto o inesatto. Molte di queste anomalie possono essere evitate attraverso la progettazione di un’ottima interfaccia e lo sviluppo di funzioni che blocchino preventivamente un comportamento errato dell’utente, consentendogli di ritornare al suo status precedente.
Essere consistenti
Nello sviluppo di un sistema è fondamentale mantenere coerenza sulla disposizione e le caratteristiche degli elementi grafici, questo mostrerà all’utente che si sta muovendo all’interno dello stesso sito o software.
Questo principio abbraccia tutta la progettazione dai caratteri utilizzati alla rappresentazione dei link, la sua mancata osservazione potrebbe generare una situazione di confusione, lasciando l’utilizzatore spiazzato.
Agevolare la flessibilità d’utilizzo e l’efficienza dell’utente
Il fulcro dello sviluppo deve essere sempre l’utente. Tuttavia, ognuno di essi è differente dall’altro: ci sono quelli meno esperti, che amano ricevere consigli durante l’interazione e quelli più esperti che li vedono soltanto come un intralcio.
Per questo motivo è necessario agevolare la flessibilità e l’efficienza di un sistema.
La flessibilità dovrebbe garantire che l’applicativo si calibri sulle attitudini di ogni utente, mentre l’efficienza è la capacità di quest’ultimo nel compiere azioni chiave predisposte.
Altro dato da non sottovalutare è il tempo di risposta del sistema, esso non deve superare gli 8 secondi, tempo oltre il quale gli utenti non mantengono più l’attenzione sul dialogo e iniziano a fare un’altra cosa.
Fornire help e manuali
Un buon prodotto non ha bisogno di manuali da consultare per essere compreso, tuttavia la documentazione viene spesso utilizzata per colmare eventuali problemi di utilizzo non rilevati precedentemente.
Personalmente ritengo l’usabilità sia l’opposto di una scienza esatta, ogni prodotto dovrà avere caratteristiche diverse in base alle sue specifiche tecniche ed il target al quale si riferisce. Per questo motivo, le linee guida di Nielsen offrono uno spunto interessante da cui partire per arrivare ad una metodologia progettuale nella quale l’utente non rappresenta l’arrivo, ma è parte integrante del processo stesso.