Upload
gregario-dessi
View
216
Download
0
Embed Size (px)
Citation preview
1
CorsoInterazione Uomo Macchina
Anno 2003-2004
Umano Calcolatore
Nel Contesto
Processo di Sviluppo
1. I sistemi interattivi
2. Modelli dell’umano e loro uso nel progetto e validazione del sistema
3. I fenomeni che caratterizzano la comunicazione digitale e il progetto di sistemi interattivi
-Ingegneria dell’usabilità
1. Stili di interazione
2. Progettazione, test e valutazione
2
Il processo di sviluppo di un sistema interattivoOgni caso è differente ma i tipi di attività sono costanti
Implementazione
Analisi del Task/Analisi Funzionale
Valutazione di UsabilitàComputationale e di Realizzabilità
Specifica deiRequisiti
Prototipazione
Uso &
Manutenzione
ProgettoConcettuale
Formale Fisico
Adattato da Hartson&Hix [HH93] in [BBM99b]
Motto: Il meglio è nemico del bene
3
- Apprendibilità. Facilità nell’apprendere il comportamento del sistema (l’utente lo usa subito per attività utili).
Efficienza d’uso. Il sistema deve essere efficiente da usare , cosicché quando l’utente lo ha appreso, sia possibile un alto livello di produttività
- Flessibilità. Rispetto alla molteplicità di modalità di interazione; facile da ricordare.
Robustezza (Pochi errori). Il sistema deve indurre un basso
tasso di errori, facili da correggere con basso impatto sul costo.
Soddisfazione. Il sistema deve essere gratificante da usare. [Nie93].
Usabilità di un sistema ha cinque dimensioni (Nielsen )
4
L’utente novizio del sistema ‘impara’. Non valida per sistemi walk-up-and-use ed upgrade
Curva di apprendimento
tempo
Abi
lità
d’u
so e
d ef
fici
enza
5
L’usabilità: è definita e misurata relativamente a certi utenti
che svolgono un compito in un ambiente.
L’usabilità si misura selezionando rappresentati dell’utenza designata e facendo prove (costoso) oppure …..(Il meglio è bnemico del bene!)
Per misurare occorre individuare le variabili da misurare: progetto e valutazione partono dalla definizione di un insieme di compiti da svolger in certe situazioni, relativamente a cui vanno stabiliti gli attributi di usabilità da tenere presenti nello sviluppo del progetto e poi da misurare ed eventualmente rivedere in ogni valutazione
Misura dell’usabilità
6
Conosci l’utente
Progetta per gli errori
Due necessarie premesse
7
Errore
“Atto, effetto di allontanarsi dalla verità o dalla norma convenuta”
dizionario Garzanti
Il concetto di “errore umano” è più complesso di quanto non sembri: non esiste una dicotomia semplice fra errore e comportamento corretto
8
La semantizzazione progressiva
• Ogni interazione uomo-macchina dovrebbe essere trattata come una procedura cooperativa, durante la quale possono nascere fraintendimenti da entrambe le parti. (D.Norman)
Designer
Designer's SA
User
User's SA
9
Tolleranza degli errori
“Un dialogo è “error-tolerant” nella misura in cui, a dispetto di evidenti errori nell’input, i risultati desiderati possono essere ottenuti senza (o con minime) azioni correttive.”
ISO 9241 - 10
10
11
Per un’azione corretta molte possibilità di errore
c’era laconsapevolezza
di agire?
c’era intenzionenell’azione?
NO
LAPSUSNO
ERRORE DA AZIONE consapevole MA ERRATA
NO
l’azione ha ottenuto l’effetto
desiderato?
SI
l’azione ha raggiunto il suo
scopo?
SI
AZIONE CORRETTASI
ERRORE INVOLONTARIO
NO
AZIONE SPONTANEA
SI
12
Progettare per l’errore1. Comprendere le cause di errore, e minimizzarle
(prevenzione)
2. Facilitare la scoperta degli errori che comunque accadono, e facilitarne la correzione
3. Rendere ogni azione reversibile, o rendere difficili le azioni irreversibili (undo)
4. Cambiare atteggiamento verso l’errore: non giusto/sbagliato, ma approssimazioni verso l’obbiettivo
13
L’usabilità secondo Nielsen
L’ingegneria dell’usabilità come processo – insieme di attività da adattare da caso a caso.
Individua alcune caratteristiche base dei sistemi usabili.
Deriva dieci principi, da usare nell’analisi
14
I 10 principi di Nielsen
1. Far vedere lo stato del sistema (feedback)
2. Adeguare il sistema al mondo reale (parla il linguaggio d’utente)
3. Controllo dell’utente e libertà (uscite indicate con chiarezza)
4. Assicurare consistenza (nell’applicazione, sistema,ambiente)
5. Riconoscimento piuttosto che uso della memoria
6. Assicurare flessibilità ed efficienza d’uso (acceleratori)
7. Visualizzare tutte e sole le informazioni necessari
8. Prevenire gli errori
9. Permettere all’utente di correggere gli errori e non solo rilevarli
10. Fornire aiuto e documentazione
15
1. Far vedere lo stato del sistema (feedback)
Sintetizzabilità: l’utente capisce l’effetto dell’azione passata sullo stato presente (sintesi modello mentale)
Concreto e nel tempo e per il tempo necessario (osservabilità)
Sulle attività sui malfunzionamenti (perché)
16
Un caso: sistema di automazione(cortesia CB&CJB automazione- Brescia)
La macchina originale: lo stato non è mostrato
Il prototipo proposto: lo stato è esplorabile
2
17
2
Nella macchina originale difficile comprensione segnalazioni (malinteso senso economia)
18
2. Adeguare il sistema al mondo reale (dell’utente)
(parla il linguaggio d’utente)
Familiarità: adotta le notazioni di utente: convenzione nomi(verbal disagreement phenomenon: ridotto x scienza e tecnica)
proiezione mondo reale->schermo –metafore(richiede capire l’utente ed il contesto : task analysis e modello concettuale
.
Affordance: legata alla cultura dell’utente: le icone microsoft sono poco suggestive per chi usa altri sistemi o nessun sstema
Permettere all’utente di sfruttare la sua esperienza nell’interagirecon il sistema
19
3. Controllo dell’utente e libertà
Predicibilità: supportare l’utente nel prevedere l’effetto delle azioni future in base alle interazioni passate. (modello mentale)(vs determinismo)
Vie di uscita ben individuate (undo)
Meccanismi ben visibili!! e comprensibilil’utente compie errori anche con strumenti ‘perfetti ’
20
Uscita
VIE DI USCITA BEN INDIVIDUATE
21
UndoL’utente deve sempre, per quanto è possibile, poter ripristinare lo stato precedente…
… e così via, all’indietro, “senza limitazioni”
- non sempre si individuano gli errori immediatamente
- il numero di funzioni di UNDO possibili deve essere almeno pari a quello dei comandi presenti.
(con le presone l’undo è spesso impossibile!!)
22
Non tutte le azioni sono “disfacibili”.
Alcuni comandi sono molto difficili da recuperare :• es nelle e-mail: dopo una SEND per l'invio della
posta elettronica, l'utente non può più recuperare lo stato precedente a tale comando
• i comandi tempo-dipendenti, in particolare, hanno SIDE EFFECTS: non si può tornare indietro nel tempo!
23
Esempi di gestione di UNDO
• Flip undo• Multiple step
• Checkpoint
• Registrazione traccia
24
Flip undo
• FLIP-UNDO: l'ultimo UNDO annulla l'effetto dell'UNDO precedentemente effettuato.
• Un FLIP UNDO ha senso se "tutti i comandi devono essere trattati in maniera uguale". Tutti i comandi devono essere recuperati compreso l'UNDO stesso.
• La ragione perché UNDO non venga trattato uniformemente è dovuta a scelte fatte dai progettisti che ritengono un UNDO relativo solamente all'ultimo comando immesso sufficiente perché è facile da realizzare. (Influenza nascosta delle tecnologie (grain)!)
25
Multiple step
• I meccanismi di UNDO del tipo MULTIPLE-STEP (al contrario del FLIP-UNDO) consentono di eseguire UNDO un numero indefinito di volte, o almeno fino a che il sistema ha informazioni disponibili sull’interazione passata.
Per poter correggere eventuali errori nell’utilizzo di UNDO viene inserito il comando REDO che consente di ripristinare l’azione annullata dall’ultimo comando di UNDO.
26
CHECKPOINT• Alcuni sistemi utilizzano CHECKPOINT o VIGILI
che consentono all’utente di riportare il sistema in una condizione precedente.Il numero di checkpoint e la scelta del momento in cui salvare un nuovo stato dipende molto dal tipo di sistema e dalle scelte dei progettisti.
Esempio di un programma di elaborazione delle immagini:
- si può pensare di salvare solo la situazione iniziale dell’immagine in questione,
- oppure di fare un checkpoint prima di eseguire una azione non disfabile (ad esempio l’applicazione di un filtro non reversibile),
- oppure ancora di eseguire un checkpoint dopo un intervallo di tempo prestabilito.
27
Registrazione traccia• La traccia è una sequenza di comandi registrati nel modo
in cui sono stati emessi
- possiamo compilare tale sequenza e fare degli UNDO su alcune componenti della sequenza.
Per una interfaccia grafica la traccia può essere di tipo testuale o grafico a seconda degli oggetti considerati.
Incrementa la sicurezza: se il sistema cade in crash, la sequenza registrata viene rieseguita ottenendo gli stessi risultati raggiunti.
Ovviamente l'ultimo comando, che ha provocato il crash, non deve essere eseguito.
28
4. Assicurare consistenza
L’eccesso può essere controproducente: il caso delle tastiere
Generalizzabilità: supportare gli utenti ad estendere la loroesperienza da situazioni note a situazioni mai incontrate
-Nell’ambito di una applicazione, tra applicazioni diverse, -Tra funzionalità di un sistema ,tra sistemi diversi.
-Nell’ambito di un compito, tra le aspettazioni dell’utente (modello mentale) e le prestazioni del sistema
Simiglianza nei pattern di interazione in situazioni similio perseguendo scopi simili
29
INCONSISTENZA : NEI BOTTONI, NEI TITOLI
30
Garantire la consistenzaDefinire gli standard con rigore
In questo caso si è definito un Linguaggio Visuale fondato sulla metafora dell’officina
La definizione dello stile di interazione e della metafora influenza l’organizzazione del sistema informatico soggiacente (modello concettuale)
31
-
5.. Riconoscimento piuttosto che uso della memoria
Rendere visibili gli elementi del processo
-Mostrare elementi del dialogo e permettere all’utente di scegliere
(menu)
-Facilitare la creazione di nuovi elementi mediante modifica di
elementi esistenti (nomi, definizioni, programmi)
-Usare comandi generici (overloaded- facilitano trasferimento conoscenza da
un sistema ad un altro- facilitano consistenza fra applicazioni)
- Mostrare troppi oggetti offusca la scelta
32
-
6. Assicurare flessibilità ed efficienza d’uso
Iniziativa del dialogo
Multithreading
Migrabilità del compito
Sostutività
Pari opportunità di I/O
Personalizzazione adattabile: è l’utente che adattaadattiva è il sistema che adatta
33
Acceleratori
tempo
Abi
lità
d’u
so e
d ef
fici
enza
-Adattabile in base alla capacità dell’utente
-Type-ahead
34
7. Visualizzare tutte e sole i dati necessari
Presentare l’informazione quando l’utente la vuole, come l’utente la vuole dove l’utente la vuole
Sia gli oggetti che rappresentano i dati che le azioni di calcolo siano accessibili in sequenze che riflettono i modelli mentali dell’utente.
Importanza del layout dello schermo (gestalt- meccanismi dell’attenzione)predicibilità
Less is more –l’utente deve leggere tutto-bilanciare il numero di strategie alternative
35
8. Prevenire gli errori
Individuare le situazioni di possibile errore e cercare di aiutare l’utente
Per azioni che possono portare ad errori con gravi conseguenze, chiedere conferma
Evitare i modi e se non puoi evitarli indicarli chiaramente
Errori dell’utente rilevati nell’uso portano al riprogetto
36
9. Permettere all’utente di correggere gli errori
e non solo rilevarli
Recoverability: capacità di raggiungere il risultato voluto, dopo aver commesso l’errore. Azioni difficili da correggeredovrebbero essere difficili da fare
Buoni messaggi di errore- in linguaggio chiaro e senza codici- indicazioni precise-indicare come risolvere il problema- gentili
37
10. Fornire aiuto e documentazione
Gli utenti non leggono i manuali
Help in linea con documentazione raggiungibile in modo preciso
Help minimalista