Tratto in parte dal capitolo 1 del libro di Marcus & C. La parte su stili di interazione dal capitolo 12 del libro di Newman & Lamming]
Interazione Uomo Macchina ha come scopo la collaborazione fra utente e computer per svolgere un certo lavoro.
Interfaccia utente o Graphical User Interface (GUI): strumento attraverso il quale il computer comunica con l'utente e viceversa, per realizzare (facilitare) questa collaborazione.
In generale interfaccia e' anche fra due strati software: da strato di basso livello verso strato di alto livello. Infatti occorre specificare: interfaccia "utente".
Per interfacce utente distinguere tra:
Per interfaccia dell'intero sistema, vedremo: metafora della scrivania, window managament systems (finestre, eventi...).
Per interfaccia della singola applicazione, vedremo: dispositivi di interfaccia, layout e contenitori, comportamenti.
Per entrambe, si applicano: look and feel, stili di interazione, consistenza.
Come l'interfaccia si presenta visivamente e come si lascia usare dall'utente.
Interazione: modalita' attraverso la quale l'utente controlla il sistema o l'applicazione sottostante l'interfaccia.
L'interazione avviene tramite
L'interazione consiste in azioni dell'utente che provocano reazioni da parte dell'interfaccia.
Tipiche azioni dell'utente:
Tipici feedback da parte di interfacce utente:
Lo stile di interazione riguarda il modo in cui l'interfaccia
Stili fondamentali:
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 ottenere cio' che vuole in maniera molto veloce.
Richiede poche risorse macchina.
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'operazione 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 (es. immissione di un parametro
numero reale).
Puo' essere realizzato sia da un'interfaccia grafica che da una non grafica. Nelle interfacce grafiche di solito reso con finestre di dialogo.
All'utente si chiede di compilare dei campi con informazioni di tipo vario (una scelta, un valore numerico, una stringa, un booleano...). Idea del modulo da compilare. Alcune parti possono essere pre-compilate con valori di default.
Sopperisce alla carenza dei menu' riguardo alle interazioni complesse. Voci di menu' che, se scelte, portano a una finestra di dialogo (es. impostazioni di stampa).
PRO:
Completezza (tramite scheda posso immettere di tutto: comandi, valori...).
CONTRO:
L'utente si sente "interrogato" dalla macchina.
Puo' disorientare utente inesperto.
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.
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.
Ambiente per gestione dei file.
I tre stili si possono combinare tra loro nella stessa interfaccia per ottenere maggior facilita' d'uso.
Consistenza a due livelli:
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).