PRINCIPI DI PROGETTAZIONE DI UNA INTERFACCIA UTENTE

[Estratto dal capitolo 1 del libro di Marcus & C. La parte su stili di interazione dal capitolo 12 del libro di Newman & Lamming]

Interfaccia utente: strumento attraverso il quale un'applicazione comunica con l'utente e viceversa.

L'interfaccia sta tra l'utente e un programma applicativo. Deve dare accesso a tutte le funzionalita' dell'applicazione in modo facile e intuitivo.

Principi di progettazione possono essere classificati in:

Fattori umani

Identificare e capire le attivita' che l'utente deve poter effettuare. Tenere conto delle capacita', esperienza, limitazioni dell'utente tipico (relativamente a percezione, memoria, attenzione e apprendimento).

Due principi:

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...

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

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:

Presentazione

Si riferisce agli aspetti visivi dell'interfaccia: disposizione, colore, forma e dimensione degli elementi (oggetti) che la compongono.

Conciliare estetica, leggibilita' e facilita' d'uso. Tre principi:

Aspetto attraente

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

Ogni oggetto sullo schermo deve avere un aspetto facilmente riconoscibile e comprensibile. Armonizzare l'aspetto dei vari oggetti in modo da creare un insieme piacevole a vedersi.

Un uso opportuno del contrasto (fra lo sfondo e i singoli oggetti) aiuta l'utente a distiguere gli oggetti dallo sfondo. Evitare colori troppo violenti che possono infastidire o distrarre.

Rappresentazioni significative e riconoscibili

La rappresentazione di un oggetto deve essere chiara, significativa (evocativa della funzione a cui l'oggetto e' preposto) e visivamente distinguibile dagli altri oggetti.

A volte puo' essere opportuno 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.

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

Consistenza dell'interfaccia

All'interno della singola interfaccia

Tra interfacce diverse

Importante la consistenza fra le interfacce di applicazioni diverse. Facilita l'apprendimento dell'utente.

Esempio: in applicazioni diverse la stessa funzione e' invocata tramite un elemento di interfaccia che ha apparenza e posizione analoga (es. menu' "file" con open - close - save).

Vantaggi della consistenza

Una progettazione consistente produce un'applicazione prevedibile nell'aspetto e nel comportamento per quanto concerne: Vantaggi:

Interazione

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

L'interazione avviene tramite

L'interazione consiste in azioni dell'utente che provocano reazioni (feedback) da parte dell'interfaccia. Tipiche azioni dell'utente: Feedback (risposta, riscontro) = segnale che l'interfaccia ha "recepito" l'azione dell'utente.

Tre principi di progettazione:

Scelta dello stile di interazione

Stile di interazione usato in un'interfaccia si riferisce a: Tre stili fondamentali:

Stile di interazione linguistico

Tipico delle interfacce NON grafiche. Interazione da command-line.

Input dell'utente consiste in comandi alfanumerici. Output consiste in messaggi alfanumerici.

CONTRO:
Per poter interagire con l'interfaccia, l'utente deve conoscere il linguaggio (sintassi/semantica).
Difficile (lungo) da imparare.

PRO:
L'utente esperto riesce ad interagire in maniera molto veloce.

Stile di interazione a menu'

Puo' essere realizzato sia da un'interfaccia grafica che da una non grafica.

In ogni momento l'utente puo' immettere una scelta in una lista che gli viene proposta. In base alla scelta dell'utente l'interfaccia compie un'azione oppure propone un'altra lista di scelte (es: serie di menu' gerarchici, cioe' in cascata).

PRO:
L'interfaccia guida (assiste) l'utente passo-passo.
Permette all'utente inesperto di navigare tra le funzionalita' dell'applicazione.
Impedisce di invocare operazioni non valide.

CONTRO:
Per l'utente esperto, lentezza nell'accesso alle funzionalita' (per ovviare a questo esistono shortcut = scorciatoie cioe' tasti funzione che portano direttamente ad una funzionalita' senza navigare nella gerarchia di menu').
Non supporta interazioni complesse.

Stile di interazione per manipolazione diretta

Tipico delle interfacce grafiche.

Mostra un insieme di oggetti sullo schermo e l'utente puo' interagire con ciascuno di essi. L'utente agisce direttamente su un oggetto (icona o simbolo) attraverso il mouse. Gli oggetti sono reattivi: il loro aspetto, posizione... cambia a seconda delle azioni dell'utente.

Esempio: ambiente per gestione dei file in cui per cancellare un file trascino l'icona nel cestino...

PRO:
Ricalca il modo naturale dell'utente di interagire con gli oggetti nel mondo reale.
Fornisce all'utente risultati visibili ed immediati (es. mediante animazione).

CONTRO:
L'interfaccia non fornisce assistenza passo-passo.

Coesistenza di piu' stili

I tre 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.

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

Manifestazioni di feedback da parte di interfacce utente:

Tolleranza agli errori

L'interfaccia riceve azioni da parte dell'utente che non sono conformi alle specifiche del sistema (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).