"Linee guida" per la progettazione di interfacce per il web
Non esistono linee guida universalmente riconosciute per la progettazione delle
interfacce interattive; si tratta piuttosto di principi generali che devono essere interpretati
ed applicati rispetto ad un particolare contesto.
Si tratta quasi sempre di principi nati in epoca "pre-web" nell'ambito
delle applicazioni tradizionali (off-line) che fanno uso di interfacce grafiche.
Nell'ambito del web molti di questi principi sono ancora validi, altri
devono essere rivisti (si veda l'elenco degli articoli suggeriti
al fondo della pagina).
- Usare un dialogo semplice e naturale
- Usare il linguaggio dell'utente
- Minimizzare il carico di memoria dell'utente
- Essere consistenti
- Fornire feedback
- Fornire uscite chiare
- Fornire scorciatoie
- Gestire gli errori
- Curare la manualistica e fornire meccanismi di help
- Fornire possibilità di personalizzazione
- Usare un dialogo semplice e naturale
Il linguaggio che si usa (ad esempio nei messaggi di errore, nelle
finestre di dialogo, nei manuali on-line) deve essere semplice.
- Le metafore devono essere usate in modo
consistente. Si devono scegliere delle metafore che aumentano la comprensione
da parte dell'utente e si deve evitare di "rompere" la metafora. Nel Macintosh, per
esempio, si usa il cestino (metafora del desktop) per la cancellazione dei file
ma la stessa metafora è usata anche per estrarre i dischetti.
- Nei manuali on-line si deve usare un linguaggio tecnico e si devono
evitare i sinonimi. Ad esempio, non si dovranno alternare
frasi del tipo:
- registrare un file
- salvare un file
- memorizzare un file
ma sceglierne una ed usare sempre la stessa (per un utente non
esperto le tre frasi potrebbero rappresentare azioni diverse!).
- Si devono scrivere solo le informazioni necessarie: si deve
sempre ricordare che lo schermo è una risorsa limitata.
- L'informazione deve essere strutturata (organizzata in gruppi
omogenei, come succede ad esempio nei menu) e ordinata (l'utente è
sensibile anche a piccole variazioni di allineamento).
- L'informazione non rilevante deve essere nascosta (ad esempio mediante
l'uso di widgets quali list box e scroll bar) in modo tale
che l'utente non sia distratto da troppe informazioni.
- Usare il linguaggio dell'utente
- Chi usa l'interfaccia non deve conoscere il gergo informatico.
Ad esempio, va bene carattere, mentre non va bene byte.
- Si deve usare una terminologia basata sul task (cioè sul compito
che l'utente vuole svolgere).
Supponiamo di voler prelevare del denaro da un Bancomat momentaneamente sconnesso
dalla rete. Possiamo avere messaggi di tipo diverso.
- Un esempio messaggio errato è:
"Il bancomat non è connesso, si usino i limiti locali"
perchè all'utente non interessa se manca o meno la connessione e
non necessariamente conosce i limiti locali del bancomat.
- Un esempio di messaggio corretto è: "Prelievo limitato a XXX euro"
- Alcuni studi hanno messo in evidenza che è difficile dedurre
delle conclusioni corrette a partire da proposizioni che contengono una
negazione. Quindi nei messaggi è meglio non usare negazioni.
Sempre con riferimento al caso del bancomat:
- Un esempio di messaggio errato è:
"Non comporre una cifra che non sia multiplo di 50"
- Sarà invece opportuno fornire la seguente informazione:
"Prelevare denaro in multipli di 50"
- Per aumentare la comprensione dei messaggi si possono usare le icone
- Minimizzare il carico di memoria dell'utente
- Riconoscere è più facile che ricordare e quindi si devono rendere
visibili gli oggetti e le azioni che si possono compiere su di essi.
- Prevedere valori di default che siano significativi (i valori di default permettono
di limitare alcuni errori di battitura).
- Mantenere la storia passata.
- Applicare un piccolo numero di regole a oggetti di tipo diverso
(es copy, paste, cut, ...)
- Essere consistenti
La consistenza è forse il principio più importante:
gli utenti vogliono interfacce consistenti, cioè
vogliono usare sempre lo stesso nome per lo stesso comando,
invocare i comandi sempre nello stesso modo, usare acceleratori con
lo stesso significato, ...
- Fornire feedback
Bisogna sempre fornire un feedback all'utente, soprattutto quando le risposte
dal sistema richiedono del tempo. Nell'ambito della ricerca su Human Computer
Interaction (studi su Human Factors) si possono classificare i tempi di risposta come segue
0.1 sec |
azione percepita come istantanea |
1 sec |
ritardo, ma l'attenzione rimane focalizzata |
10 sec |
perdita di attenzione da parte dell'utente |
più di 10 sec |
panico! |
Se si segnala il progresso dell'operazione (mediante cursori - clessidra/orologio -
o una progress bar) l'utente può fare qualcosa di diverso.
Ovviamente, si deve conoscere il tempo necessario ad eseguire un'operazione
e nel caso di collegamento a siti internet non sempre è possibile stimare
questo tempo. Nell'articolo di Jakob Nielsen
Guidelines for multimedia on the Web
si parla di una tolleranza di 15 sec. di attesa perchè gli utenti di Internet sono
sono stati abituati a soffrire!
- Fornire uscite chiare
L'utente deve poter uscire da qualunque situazione.
- Nei dialoghi si introducono i pulsanti Cancel, Reset
- Si deve prevedere l'uscita immediata dall'applicazione mediante il pulsante di
Exit
- Si deve anche prevedere un meccanismo di Undo. Si tratta di un
meccanismo complicato da realizzare ma è molto utile perchè l'utente,
grazie all'uso di azioni reversibili, è in grado di imparare dai propri errori
mediante la sperimentazione.
Se non è possibile avere un meccanismo di Undo, si deve prevedere
un dialogo con domande del tipo Sei sicuro di voler cancellare questo file?,
Sei sicuro di voler interrompere la computazione?, almeno per le
azioni più critiche.
A proposito dell'uso dei pulsanti di Cancel, Reset, ecc. sulle interfacce
per il web si veda l'articolo
di Jakob Nielsen del 16 aprile 2000.
- Fornire scorciatoie
- Gestire gli errori
Gli errori si dividono il slip (errori di distrazione, caratteristici di
utenti esperti) e mistake (azioni errate caratteristiche di utenti inesperti).
Esempi di slip
- Errori di cattura: un'azione frequente "cattura" l'azione corrente perchè
diventa un automatismo. Bisogna differenziare il più possibile le azioni.
In Unix, quando si scrive un file di testo con l'editor vi è possibile salvare il
documento usando il comando :w, oppure salvare e uscire dal
documento con il comando :wq. Anche gli utenti esperti scambiano
spesso questi due comandi a causa della loro similarità.
- Errori di descrizione: eseguire l'azione corretta sull'oggetto sbagliato.
Ad esempio,
nel caso di copia di un file, spostare un file sull'icona del cestino anzichè sull'icona
della directory di destinazione.
- Errori di modalità: eseguire l'azione corretta ma nella modalità
sbagliata.
Ad esempio, eseguire l'azione di paste senza aver fatto l'azione di copy.
Bisogna cercare di ridurre le modalità e renderle facilmente visibili.
Si possono prevenire alcuni errori, per esempio
- disattivando alcune funzionalità
(si osservino per esempio i pulsanti nelle barre dei tool e le voci dei menu:
sono in grigio più chiaro quando i comandi associati sono disabilitati).
- validando i valori in input medianti controlli di consistenza
(controlli immediati non appena si immettono valori di input).
Se gli errori non possono essere evitati, bisogna comunque fornire dei messaggi
all'utente, evitando di dare delle informazioni non utili per la soluzione del problema:
i messaggi devono indicare il problema e suggerire una possibile soluzione in modo costruttivo.
- Un esempio messaggio errato è:
"errore 27, consultare il manuale"
- Un esempio messaggio corretto è:
"non riesco ad aprire il documento XXXX perchè questo formato non è tra
quelli riconosciuti"
- Curare la manualistica e fornire meccanismi di help
Solitamente gli utenti non leggono i manuali perchè li trovano incomprensibili.
Inoltre, molto spesso i manuali non sono aggiornati.
Per problemi di costi, i manuali cartacei non si producono quasi più.
Per quanto riguarda quelli in linea, tipicamente sono organizzati in modo
ipertestuale. Si possono anche prevedere dei tutorial, cioè delle
guide abbastanza brevi per permettere ad un utente inesperto di iniziare a lavorare
con il sistema.
Altri meccanismi di aiuto per l'utente sono i tooltip, cioè quelle scritte
che compaiono quando si posiziona il mouse su un'icona, i tip of the day, cioè
le finestre con i suggerimenti sull'uso del sistema che di solito compaiono quando si
fa partire il sistema stesso, gli assistenti che monitorano l'attività
dell'utente dandogli suggerimenti (sono piuttosto fastidiosi).
- Fornire possibilità di personalizzazione
È una caratteristica delle interfacce moderne e permette all'utente di creare un
ambiente di lavoro personalizzato secondo i propri gusti (scelta dei colori, tipo di
caratteri, posizione delle icone). In questo caso si parla di adattabilità
facendo riferimento alle capacità dell'utente di modificare l'interfaccia (solo
a livello superficiale). Nel caso di modifica dell'interfaccia da parte del sistema
in risposta al comportamento dell'utente si parla di adattività. Nel primo
caso l'utente ha un ruolo attivo, nel secondo caso ha un ruolo passivo: il sistema
"osserva" il suo comportamento e modifica di conseguenza l'interfaccia.
Articoli
I principi generali precedenti sono stati proposti prima dell'avvento del World Wide Web.
Alcuni sono ancora validi, altri devono essere riadattati, nuovi principi devono
essere introdotti per rendere questo potente mezzo di comunicazione davvero facile
da usare e per risolvere i piccoli/grandi problemi dovuti ai
diversi browser che permettono di accedere alle informazioni.
In rete si trovano moltissimi consigli. Sulla base degli articoli seguenti
provate a definire il vostro elenco di linee guida perchè
l'interfaccia del vostro progetto, oltre a funzionare correttamente, sia anche facile da usare.
Dal sito di Jakob Nielsen ...
|
|
|