Paola Magillo, Univestita' di Genova, Corso di Interfacce Utente per Informatica, a.a. 2008-2009.

PRINCIPI DI PROGETTAZIONE DI INTERFACCE UTENTE

[Estratto dal capitolo 1 del libro di Marcus & C. e dal capitolo 1 del libro di Shneiderman]

Di che cosa parliamo

Principi di progettazione = cose da tenere in considerazione quando si progetta un'interfaccia utente.

Per il successo di una applicazione e' determinante la sua interfaccia. Una cattiva interfaccia utente puo' rendere l'applicazione non utile o non accettata.

Il fine e' ottenere un'interfaccia (un'applicazione) usabile, secondo i fattori descritti nella lezione precedente.
Vari autori [es. Norman, Jordan, Shneiderman, Nielsen -- ved. fondo dispensa] hanno proposto diversi elenchi di principi di progettazione in vista dell'usabilita', qui facciamo una sintesi.

I principi possono essere classificati in relativi a:

Presentazione

Presentazione = aspetti visivi dell'interfaccia: disposizione, colore, forma e dimensione degli elementi che la compongono.

Conciliare estetica, leggibilita' e facilita' d'uso:

Aspetto attraente

Attenzione a colore, forma, spaziatura, dislocazione ed organizzazione degli elementi sullo schermo.

Armonizzare l'aspetto dei vari elementi in modo da creare un insieme piacevole a vedersi.

Uso opportuno del contrasto per aiutare l'utente a distinguere i singoli elementi tra loro e dallo sfondo. Evitare colori troppo violenti che possono infastidire o distrarre.

L'animazione puo' essere usata per attrarre l'attenzione dell'utente su una particolare area dello schermo. Senza abusare.

Una bella interfaccia non e' sempre una buona interfaccia!

Rappresentazioni significative e riconoscibili

Come etichette su elementi di interfaccia (es. bottoni), immagini o simboli possono essere piu' immediati di stringhe.

Il simbolo viene da una metafora = trasposizione di un oggetto del mondo reale nel contesto dell'interfaccia.
Es: simbolo della casa per tornare alla pagina iniziale su internet.

Il simbolo scelto deve essere chiaro, significativo (evocativo della funzione a cui corrisponde) e visivamente distinguibile da altri.

Puo' aiutare un contorno ben definito che ne limiti l'estensione (per sapere dove cliccare col mouse).

Accompagnare il simbolo con una stringa etichetta se il simbolo puo' non essere abbastanza evocativo.

Strutturazione

Raggruppare (gerarchicamente) gli elementi di un'interfaccia in classi (es. per affinita' di funzione). Le classi vanno scelte in modo significativo, e deve essere visivamente riconoscibile quali oggetti appartengono a ciascuna classe.

Se in un gruppo di elementi raggruppati esiste un ordine logico, tale ordine va riflesso nella disposizione degli elementi.

Organizzare lo spazio disponibile per mostrare in ogni momento all'utente le informazioni di cui ha bisogno / le opzioni disponibili ora, senza sovraccaricare.

Consistenza

1) Similarita' per apparenza, disposizione, comportamento dei vari elementi presenti nell'interfaccia.
Esempio: tutti i bottoni di stessa misura, stessa gamma di colori, si azionano con stesso tasto del mouse...

Similarita' con altre interfacce gia' viste facilita l'apprendimento dell'utente.
Esempio: menu' "file" presente in applicazioni diverse con stessa posizione e stesse funzioni.
Rientra qui l'aderenza a standard.

2) Consistenza (coerenza) di quanto mostrato dall'interfaccia con lo stato corrente dell'applicazione sottostante.
E determinismo (stessa azione produce stesso effetto in qualunque momento sia fatta).

Documentazione

Utente preferisce provare direttamente ad usare un'interfaccia piuttosto che leggere un manuale di istruzioni.

Fornire aiuto in linea strutturato, sintetico, di facile consultazione. Anche aiuto contestuale (cioe' mirato all'operazione che utente sta facendo).

Interazione

Interazione = modalita' attraverso la quale l'utente controlla l'esecuzione di un'applicazione.

L'interazione consiste in azioni dell'utente sui dispositivi di input (tastiera, mouse) che provocano reazioni (feedback) da parte dell'interfaccia.

Stile di interazione

Scelta dello stile di interazione primario: a menu', a scheda, linguistico, a manipolazione diretta (ved. lezione ).

I vari stili si possono combinare tra loro nella stessa interfaccia per ottenere maggior facilita' d'uso. Attenzione pero' a mantenere il tutto consistente.

Feedback immediato

"Feedback" = controsegnale, risposta, riscontro (segnale che l'interfaccia ha "recepito" l'azione dell'utente).

Importante che l'applicazione mostri di reagire alle azioni dell'utente. Che l'utente riceva un risultato immediatamente.
Il feedkack facilita l'apprendimento da parte dell'utente. L'assenza di feedback disorienta l'utente.

In caso di impossibilita' a compiere un'operazione fornire messaggio significativo.
In caso di operazioni lunghe dare segnale che elaborazione e' in corso (es. dare al puntatore forma di orologio o clessidra).

Tolleranza agli errori (prevenzione e recupero)

L'interfaccia riceve azioni da parte dell'utente che non sono conformi alle specifiche del sistema o allo scopo della sua attivita' (opzioni non sensate, non valide, invocate per errore...) senza conseguenze negative per l'utente (es. perdita di dati).

Tecniche comunemente usate:

Tolleranza a errori facilita l'apprendimento (posso esplorare le funzionalita' dell'interfaccia senza timore di effetti negativi).

Completezza funzionale

Conformita' dell'interfaccia agli scopi applicativi.

Indicazioni generali

Il controllo all'utente

L'utente deve essere colui che controlla l'interfaccia, decidendo quali funzionalita' dell'applicazione vuole attivare e quando, quali informazioni vuole che gli siano presentate, quando, come, con che aspetto estetico...

Evitare di abilitare per default comportamenti tali che sia difficile capire come funzionano e come disabilitarli (es. word che formatta per default gli elenchi).

Il progetto dell'interfaccia deve essere sufficientemente flessibile per venire incontro ad utenti con diverse necessita' ed abilita'.

Persone hanno diverse preferenze per stile di interazione (linguistico, menu', scheda, manipolazione diretta), per modo di presentare l'informazione (grafica o tabulare, densa o sparsa), per impostazione (visione locale o visione di insieme).

Sistema a livelli per soddisfare tutti. Possibilita' di scegliere densita' dell'informazione presentata e dettaglio del feedback. (da spiegazioni dettagliate a quasi zero).

Interfacce limitate ma semplici e intuitive per persone digiune o spaventate dai computer. Es. schermi sensibili al tatto piuttosto che mouse...

Esempi:

Ridurre la quantita' di informazione da ricordare

Una persona ha piu' facilita' a riconoscere che a ricordare. Esempio: riconoscere un comando in una lista di opzioni piuttosto che ricordarne il nome a memoria.

Quindi occorre:

Problematiche piu' avanzate

Internazionalizzazione

Progettare in modo da facilitare la creazione di versioni locali. E' un problema molto attuale.
Esempio: tenere tutte le etichette in un file cosi' che basti solo tradurre quel file senza fare modifiche al codice.

Versioni locali possono differire per:

Es: back/forward con frecce verso sx/dx presuppongono ordine di lettura da sx a dx.

Utenti con disabilita'

Interfacce per servizi standard progettate in modo da poter essere usate da disabili.
Interfacce per fornire servizi speciali in aiuto a utenti disabili.

Come valutare l'usabilita'

In genere si valuta un prototipo (o una specifica dettagliata del prodotto solo progettato). E si valuta su un campione di attivita' (task).

Valutazione puo':

Metriche

Che cosa misuriamo: i fattori chiave efficacia, efficienza, soddisfazione, ed inoltre facilita' di apprendere come si usa e di ricordare dopo periodo di non uso.

Misure

Come esprimiamo queste misure:
quanto tempo impiegato, quanti compiti eseguiti in modo corretto / completo, numero di errori commessi e loro gravita', tempo impiegato a correggere errori, tempo impiegato a esplorare l'interfaccia, frequenza d'uso dell'aiuto in linea, quali comandi usati e con che frequenza, quali comandi non usati, reazioni dell'utente.

E' possibile effettuare le misure osservando utenti, ascoltandoli (si chiede che esprimano ad alta voce i loro pensieri durante l'uso), o chiedendo di compilare questionari (esistono tipologie di questionari standard).

Basta interpellare pochi utenti, 5 sono sufficienti.

Riferimenti

[Per questa dispensa e la precedente sull'usabilita']

B.Shneiderman, Designing the user interface, III ed., Addison-Wesley, 1999.
A.Marcus, N.Smilonnich, L.Thompson, The Cross-GUI Handbook for Multiplatform User Interface Design, Addison-Wesley, 1995.
D.Norman, The design of everyday things, MIT Press, 1998 (ristampato nel 2002).
P.W.Jordan, An introduction to usability, Taylor and Francis, 1998.
J.Nielsen, Usability Engineering, Academic Press, 1993.