1. Realizzare un dialogo semplice e naturale
Come dicevamo, il sistema deve presentare un modello che l'utente sia facilmente in grado di capire, apprendere e utilizzare.
Il dialogo semplice e naturale è ovviamente basato sulla considerazione delle caratteristiche dell'utente, dei suoi compiti, della necessità di fornire un feedback soprattutto in relazione agli errori.
Il linguaggio utilizzato a livello di interfaccia deve essere semplice e familiare per l'utente e rispecchiare i concetti e la terminologia a lui noti.
Vanno evitati il più possibile un linguaggio tecnico e orientato al sistema che utenti non esperti di informatica possono non comprendere e termini stranieri: parole come default, directory, o frasi del tipo "il documento è disponibile in formato .rtf" o "documento .zip trasferibile via ftp".
Alcuni modi per rispettare il principio del dialogo semplice e naturale sono:
A) tenere conto dell'utente e del suo modello dell'attività nella:
B) fornire un buon modello concettuale del sistema e renderne evidenti l'organizzazione, la logica d'interazione, affinché l'utente possa prevedere gli effetti delle proprie azioni: interagire con un prodotto senza avere compreso e sviluppato un modello di come funziona è come agire alla cieca, senza sapere cosa succederà successivamente;
C) rendere evidenti le informazioni rilevanti di cui l'utente ha effettivamente bisogno per svolgere l'attività, evitando di presentare informazioni superflue o che si usano raramente: le informazioni irrilevanti possono entrare in "competizione" con quelle fondamentali e togliere a queste ultime la necessaria visibilità;
D) anticipare quanto possibile le informazioni che l'utente troverà nella pagina successiva o quello che succederà a seguito di una azione;
E) verificare con gli utenti la comprensibilità del linguaggio (etichette, istruzioni, elenchi);
F) usare preferibilmente icone e metafore già sperimentate e consolidate; se si vogliono usare simboli originali è sempre meglio sottoporli prima a test di comprensibilità con gli utenti finali del prodotto.
2. Semplificare la struttura dei compiti
I compiti o le attività che l'utente deve svolgere in interazione con il sistema devono avere una struttura semplice o devono essere semplificati.
Donald Norman suggerisce quattro diversi approcci per semplificare i compiti:
I primi tre approcci prevedono di non cambiare sostanzialmente il compito che l'utente deve affrontare.
Nel primo e nel secondo caso, il suggerimento è quello di offrire sussidi esterni (che supportano le capacità cognitive dell'utente per non costringerlo a ricordare tutto a mente) e feedback (che consentono all'utente di controllare le componenti non visibili del sistema, al fine di verificarne l'adeguato funzionamento).
Ad esempio, nella scrittura a videoterminale, la struttura del compito è sostanzialmente identica alla scrittura manuale. In più la scrittura a videoterminale, grazie al sussidio del correttore automatico che segnala gli errori, consente di migliorare la qualità del lavoro.
Nel terzo caso, pur mantenendo invariata la struttura del compiti, alcune sue parti (quelle più rischiose o complicate) vengono eseguite dalla tecnologia e non più dall'utente.
L'ultimo approccio, quando il compito è intrinsecamente complesso per le abilità richieste, prevede una riprogettazione sostanziale del compito: l'obiettivo rimane lo stesso ma il modo in cui l'obiettivo viene raggiunto è totalmente diverso.
3. Favorire il riconoscimento piuttosto che il ricordo
Osservando l'interfaccia, l'utente deve poter capire cosa deve fare, come può farlo e, una volta eseguita una azione, deve poter capire cosa è successo e quali sono stati i risultati.
Dal momento che è più facile riconoscere e ricordare una cosa vedendola direttamente, piuttosto che recuperare l'informazione dalla memoria, il modo più semplice per agevolare l'utente è quello di rendergli visibili le cose sull'interfaccia, ovvero fornirgli dei sussidi esterni che gli agevolano il ricordo.
Un modo ulteriore (e forse il fondamentale), per facilitare il ricordo è dato dalla reale comprensione da parte dell'utente del modello concettuale del prodotto e della sua interazione.
Per facilitare la comprensione del modello è necessario sfruttare il "mapping" naturale, ovvero la correlazione naturale che esiste tra due cose, tra causa ed effetto, tra comandi, loro azionamento e risultati: un esempio di "mapping" naturale è la manipolazione diretta degli oggetti.
Con queste tecniche, l'utente non è costretto a ricordare il modo di utilizzare degli oggetti o a descrivere le azioni da eseguire: semplicemente le esegue direttamente sullo schermo, per esempio spostando un documento dalla scrivania virtuale del suo PC al cestino, così come farebbe nel mondo reale.
Alcuni ostacoli al riconoscimento:
Alcuni suggerimenti per agevolare il riconoscimento:
4. Rendere visibile lo stato del sistema attraverso un feedback
Il feedback rappresenta l'informazione di ritorno, la reazione del sistema in risposta all'azione che l'utente ha eseguito sull'interfaccia; il feedback serve a segnalare all'utente lo stato corrente del sistema e l'esito della propria azione: comprende quindi anche i messaggi di errore.
Il feedback non si riferisce solo alle azioni scorrette dell'utente e alla relativa messaggistica di errore, ma comprende tutti i modi per trasmettere informazione all'utente lo stato del sistema :
Oltre alla messaggistica, prevalentemente usata per segnalare errori di interazione, le occasioni per fornire feedback sullo stato del sistema sono molteplici :
Ma entro quanto tempo deve essere fornito il feedback?
Jakob Nielsen riporta le seguenti indicazioni:
un decimo di secondo è approssimativamente il tempo massimo per dare all'utente la sensazione che il sistema ha reagito istantaneamente;
1 secondo è approssimativamente il tempo massimo per mostrare i risultati dell'azione dell'utente senza interrompere il suo flusso di ragionamento, anche se noterà il ritardo nella riposta del sistema;
10 secondi è il tempo massimo per mantenere l'attenzione dell'utente focalizzata sul dialogo.
Oltre i 10 secondi, generalmente, l'utente inizia un'altra attività mentre il computer sta lavorando: se si vuole mantenere l'attenzione dell'utente sull'applicazione o sul sito, la risposta all'azione dell'utente deve essere mostrata non oltre 10 secondi.
5. Prevenire e limitare gli errori di interazione
Commettere errori nell'interazione con un prodotto è naturale.
Ogni azione dell'utente va concepita come un tentativo verso una giusta direzione.
Si tratta di una componente naturale del dialogo utente-sistema che va tollerata, garantendo la giusta flessibilità di utilizzo che consente agli utenti di navigare liberamente senza entrare in vicoli ciechi e in situazioni critiche.
Ci sono alcuni tipi di errori che sono difficilmente eliminabili, come le sviste: inconsapevolmente, viene eseguita un'azione diversa rispetto a quella che ci si proponeva nelle intenzioni, a causa di una distrazione o di un'interruzione.
Altri tipi di errore, invece, si possono prevenire con una buona progettazione dell'interfaccia: sono gli errori commessi a seguito di un'applicazione sbagliata di regole di interazione o per la mancanza di sufficienti e adeguate informazioni e conoscenze.
Rientrano tra questi tipi di errore quelli dovuti a un modello di dialogo che l'utente non capisce a pieno o che non incontra le sue aspettative: per questo, l'utente può applicare regole di interazione "sbagliate" rispetto a quelle richieste dal prodotto.
Il contributo fondamentale alla prevenzione degli errori d'interazione deriva dal rispetto dei princìpi sul dialogo, i compiti, il riconoscimento, il feedback sulla cui base è consentito agli utenti di individuare, riconoscere e adeguare le proprie azioni alle possibilità offerte attraverso l'interfaccia.
Altri modi di prevenire gli errori prevedono l'utilizzo di funzioni bloccanti, che impediscono la continuazione di azioni sbagliate o che possono portare a risultati distruttivi.
Tuttavia, poiché gli errori sono sempre possibili, è importante che il sistema sia progettato in modo da diagnosticarli quando occorrono e facilitarne la correzione.
I modi più semplici per raggiungere questo obiettivo sono :
6. Essere coerenti
La coerenza permette all'utente di trasferire agevolmente la conoscenza da un'applicazione all'altra, aumenta la predicibilità delle azioni e dei comportamenti del sistema e ne favorisce l'apprendibilità.
Un problema di coerenza che caratterizza il mondo Web è relativo ai font e ai link. Molto spesso, all'interno dello stesso sito, si vedono pagine con font diversi per dimensione, stile e colori.
Analogamente, i link vengono proposti in svariati formati: standard (sottolineato), in grassetto (ma senza sottolineatura), colorati senza limiti alla fantasia.
Le pagine Web sono da immaginare come pagine di un libro: non si è mai visto un libro che usa caratteri diversi per ogni paragrafo, titoli di dimensioni e colori differenti posizionati una volta centrali e una volta a sinistra sulla testata della pagina, rimandi ad approfondimenti ogni volta presentati con uno stile diverso senza una logica di fondo.
L'uso di font e stili diversi deve avere una sua motivazione.
L'incoerenza nell'uso dei font, nella struttura dalla pagina, nella grafica genera una situazione di confusione.
La coerenza in generale deve essere garantita a diversi livelli.
Vediamoli in sintesi :
7. Facilitare la flessibilità d'utilizzo e l'efficienza dell'utente
Nella definizione degli strumenti in grado di agevolare la flessibilità e l'efficienza, va considerato che le esigenze degli utenti variano in relazione al loro livello di esperienza rispetto al compito e alle tecnologie informatiche. Ne consegue che, in relazione a questi due aspetti, il livello di supporto richiesto, gli strumenti utilizzati e le strategie di interazione messe in atto dagli utenti possono essere diverse.
Gli utenti non esperti, ad esempio, amano essere guidati passo per passo, mentre gli utenti più esperti preferiscono utilizzare scorciatoie, delle quali anche utenti non esperti, man mano che aumenta il loro livello di esperienza, possono usufruire.
Si può agevolare la flessibilità e l'efficienza d'uso fornendo, ad esempio:
Da notare che, una volta personalizzato, il sistema deve mantenere, alle successive riaperture, le impostazioni date dall'utente.
Alcuni esempi di aspetti dell'interfaccia che dovrebbero essere personalizzabili sono:
Un altro aspetto dell'efficienza è anche il tempo di risposta del sistema alle azioni dell'utente, che rappresenta uno dei problemi più critici nelle applicazioni per il Web.
I tempi di risposta a ogni chiamata dell'utente possono dipendere da molte cose (performance dei server e della rete, tipo e velocità di connessione, quantità di informazione che deve essere trasferita, ecc...), ma gli utenti non sono interessati a queste motivazioni: se l'attesa è lunga, pensano solo che non viene offerto loro un buon servizio e il loro livello di fiducia è destinato a diminuire.
8. Fornire help e manuali
L'argomento della documentazione (help in linea o manuali utente) è piuttosto controverso per diversi motivi:
Per quanto riguarda l'ultimo punto, infatti, generalmente gli utenti ricorrono all'help in linea o alla documentazione solo come ultimo tentativo, cercando (e non trovando quasi mai) la soluzione al proprio caso specifico.
Nella lettura delle informazioni riportate, inoltre, tendono a non approfondire gli argomenti, leggendo rapidamente solo poche righe.
Infine, come per tutti i testi scritti, la comprensibilità di help e manuali, se non accuratamente verificata con gli utenti finali, non è sempre garantita.
Considerati questi aspetti, quando la documentazione può essere necessaria, essa va realizzata con l'obiettivo di garantire: