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

USABILITA' E PRINCIPI DI PROGETTAZIONE DI INTERFACCE UTENTE

[Sintesi tratta da: - ved. riferimenti] a fondo dispensa]

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.

Introduzione all'usabilita'

Per un prodotto interattivo non e' sufficiente essere utile, deve essere anche usabile. Un prodotto non usabile non sara usato!

Nel determinare quali caratteristiche rendono un oggetto usabile o non usabile, entrano molti elementi:

In sintesi un prodotto interattivo per essere usabile deve:

Usabilita' dei prodotti informatici

Un prodotto informatico si usa attraverso la sua interfaccia utente. L'interfaccia deve:

Si puo' intendere l'usabilita' come caratteristica del prodotto nel suo complesso, o anche della sola interfaccia utente, a prescindere da valutazioni circa la presenza / assenza / correttezza / efficienza di funzionalita' nell'applicazione sottostante.

Usabilita' e' diversa da utilita'.
Es. lettore di CD con solo 'play' e 'stop' e' meno utile di uno con anche altre funzionalita', ma puo' essere, limitatamente alle funzionalita' presenti, piu' usabile (dipende da come queste funzionalita' sono fornite).

Breve storia dell'usabilita'

L'ostacolo principale a progettare interfacce utente usabili e' la distanza tra modello (modo di ragionare) del progettista e quello dell'utente.

Anni '70

Inizialmente il problema dell'usabilita' non si pone perche' gli utenti finali dei prodotti informatici sono gli stessi progettisti.

Quando il problema dell'usabilita' inizia a delinearsi, nasce scienza Human Computer Interaction, HCI (interazione uomo macchina) e si comincia a parlare di fattori umani nella progettazione dei prodotti informatici.

Anni '80

Prima diffusione della tecnologia informatica negli uffici e nelle case. L'usabilita' comincia ad essere un problema rilevante.

Inizialmente e' l'utente che viene costretto ad adeguarsi al modello del progettista.
HCI si pone l'obiettivo di avvicinare il modello del progettista al modello dell'utente. Cerca di definire linee guida generali che assicurino di progettare un prodotto usabile. Ma non e' possibile. Dipende da troppi elementi (dominio applicativo, tipo di utente, ambiente di utilizzo), come detto all'inizio.

Anni '90

La progettazione diventa processo iterativo con diretto coinvolgimento degli utenti finali a partire dalla raccolta dei requisiti, attraverso la stesura del progetto nei vari livelli di dettaglio, fino al prodotto finito.

Che parte ha l'usabilita'

Un prodotto informatico deve essere:

Queste esigenze possono essere in conflitto.

Definizione di usabilita'

Secondo lo standard ISO 9241,
L'usabilita' misura il grado di efficacia, efficienza e soddisfazione con cui il prodotto (a mezzo della sua interfaccia) consente a un utente specifico, in un contesto d'uso specifico, di raggiungere obiettivi specifici.

Fattori chiave

Fattori chiave nella valutazione dell'usabilita' di un'interfaccia. Ci riferiamo a un'attivita' (task) applicativa:

  1. Intuitivita' e facilita' di apprendimento: quanto tempo e sforzo impiega utente ad imparare a svolgere l'attivita': scoprire come si fa (la prima volta) e raggiungere padronanza
  2. Velocita' di esecuzione: quanto tempo impiega utente esperto a svolgere l'attivita' (dopo avere imparato)
  3. Frequenza di errori: quanti e quali errori utente tende a fare nello svolgere l'attivita', e quanto dannosi
  4. Persistenza nel tempo: quanto tempo utente impiega a dimenticare come si fa (dipende anche da frequenza d'uso)
  5. Soddisfazione soggettiva: comodita', accettabilita' (il modo d'uso del prodotto puo' influenzare l'intero metodo di lavoro della persona nello svolgere la sua ativita')

In piu' ci sono da considerare i costi economici per progetto e realizzazione dell'interfaccia, strettamente connessi al tempo richiesto (mesi/uomo).

Nonche' eventuali limitazioni della piattaforma su cui dovra' girare (es. interfaccia grafica per un palmare; memoria o potenza di calcolo limitate).

Alcuni obiettivi sono in conflitto fra loro.
Importanza di ciascun fattore dipende dall'applicazione in questione. Esempi:

Principi di progettazione in vista dell'usabilita'

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.

Fattori umani

Progettare considerando lo scopo per cui l'utente usera' l'applicazione e gli utenti che devono adoperarla.

Scopo dell'utente

Identificare e capire le attivita' applicative che l'utente ha interesse ad effettuare attraverso l'interfaccia.
Tracciare profilo di un insieme di attivita' (task) su cui valutare l'interfaccia.

Stimare frequenza delle varie attivita'. Le piu' frequenti devono essere piu' facilmente accessibili.

Utenti

Tracciare profilo dell'utente tipico: eta', istruzione, cultura, esperienza (del dominio applicativo e di computer), frequenza con cui usa lo strumento.
Eventualmente piu' di un profilo se utenza e' eterogenea.

Tenere conto delle capacita', esperienza, limitazioni dell'utente tipico (relativamente a percezione, memoria, attenzione e apprendimento). Nonche' della predisposizione d'animo (ad alcuni computer causa rifiuto o ansieta', altri ne sono attratti).

Stessa applicazione puo' richiedere interfacce diverse per utenze diverse.

Interfaccia

Rendere il piu' possibile invisibile all'utente la tecnologia sottostante, perche' si possa concentrare sul compito che deve svolgere e non sull'interfaccia.

Gli utenti notano l'architettura di un sistema solo quando questa funziona male o crea problemi.

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.

Riferimenti

B.Shneiderman, Designing the user interface, III ed., Addison-Wesley, 1999 (cap.1).
A.Marcus, N.Smilonnich, L.Thompson, The Cross-GUI Handbook for Multiplatform User Interface Design, Addison-Wesley, 1995 (cap.1).
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.