Paola Magillo, Univestita' di Genova, Corso di Interfacce Utente per Informatica, a.a. 2007-8.

INTRODUZIONE ALLE INTERFACCE UTENTE

Che cosa e' un'interfaccia

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.

Il concetto di interfaccia e' "orientato": interfaccia della macchina "verso" l'utente.

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:

Look and feel di un'interfaccia

Come l'interfaccia si presenta visivamente e come si lascia usare dall'utente.

Interazione con l'utente

Attraverso l'interazione l'utente controlla il sistema o l'applicazione sottostante l'interfaccia.

L'interazione consiste in azioni dell'utente che provocano reazioni da parte dell'interfaccia.

Le azioni avvengono tramite i dispositivi di input:

Le reazioni avvengono internamente, e sono manifestate all'utente tramite i dispositivi di output (schermo, altoparlante).

Programmazione guidata da eventi
(o Event-driven programming)

Il comportamento di un programma dotato di interfaccia utente grafica e' di tipo inter-attivo.

Sono le azioni compiute dell'utente sui dispositivi di input a determinare il flusso di esecuzione del programma. Contrariamente ai programmi batch in cui il flusso e' predefinito nel codice.
Compito dell'interfaccia e' raccogliere le azioni e scatenare le reazioni corrispondenti.

+------+         azione su                        +------------+     +--------+
|      |--(1)--> dispositivo --(2)-->  evento --->|    (3)     |     | (3bis) |
|      |         di input                         |interfaccia |     |        |
|utente|                                          |della       |<--->|appli-  |
|      |         feedback su          reazione    |applicazione|     |cazione |
|      |<--(5)-- dispositivi <--(4)-- (cambio <---|            |     |        |
+------+         di output            di stato)   +------------+     +--------+

(1) L'utente compie azioni sui dispositivi di input (mouse, tastiera).

(2) Le azioni sono tradotte in eventi. Evento = pacchetto di informazioni che descrive che cosa e' avvenuto.

(3) L'evento viene elaborato dal codice dell'interfaccia, per decidere che cosa fare (come reagire).
La reazione cambia lo stato dell'interfaccia (es. aumenta lo zoom con cui viene mostrato un testo che sto editando) e/o del programma applicativo sottostante (es. modifica il testo).

(4) La reazione (avvenuto cambio di stato) viene comunicata all'utente come feedback sui disposiviti di output (schermo, altoparlante).

(5) L'utente riceve il feedback e in base a questo decidera' la prossima azione...
Il feedback e' molto importante!

Stili di interazione

Lo stile di interazione riguarda il modo in cui l'interfaccia

Stili fondamentali:

  1. linguistico
  2. a menu'
  3. a scheda
  4. per manipolazione diretta

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.

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'operazione oppure propone un'altra lista di scelte (serie di menu' gerarchici, cioe' in cascata).

Stile di interazione a scheda

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 fra alternative, 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' (che non sono in grado, per esempio, di richiedere dati in input).
Spesso abbiamo voci di menu' che, se scelte, portano a una finestra di dialogo (es. impostazioni di stampa).

Stile di interazione per manipolazione diretta

Tipico delle interfacce grafiche.

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

Usabilita' di un'interfaccia

L'interfaccia non solo deve rendere possibile all'utente utilizzare il programma sottostante, ma deve anche far si' che utilizzarlo risulti facile, efficiente e gratificante.

Esistono vari aspetti che saranno trattati fra poche lezioni dalla dott.ssa Papaleo, fra cui:

Vediamo l'usabilita' degli stili di interazione

Esempio: cancellare un file.

Ogni stile ha pro e contro:

Per venire incontro alle diverse esigenze, gli stili si possono combinare tra loro.

Consistenza (o coerenza)

Alcuni obiettivi di usabilita' sono raggiunti mediante consistenza (o coerenza):

Vantaggi della consistenza: