facoltà di lettere e filosofia università di verona a.a...
TRANSCRIPT
1
Comunicazione ed interazione
Lezione 5Regole di design
Facoltà di Lettere e FilosofiaUniversità di Verona
A.A. 2006-07
2
Sommario
• Introduzione
• Progettare per l’usabilità– Principi– Standard– Linee guida– Regole euristiche– Design pattern
3
Introduzione • Le regole di design forniscono ai progettisti la capacità di
stabilire le conseguenze sull’usabilità delle loro decisioni di progetto
• Servono per limitare la gamma di opzioni di design tra cui scegliere
• Servono per applicare la teoria (psicologica, ergonomica, sociologica, informatica) alla pratica di progettazione (senza che il progettista sia esperto della teoria)
problema
opzione 1
opzione n...
opzione N
criterio i)criterio ii)
... criterio K)
... X
XX
4
• Le regole di design si differenziano in base a:– autorità: alta o bassa – generalità: alta o bassa (= regola di limitata applicabilità)– livello di astrazione: alto o basso (= regola specifica)– origine
• psicologica• cognitiva• ergonomica• sociologica• economica• computazionale
• devono essere prese in considerazione fin dalle prime fasi del ciclo di vita del sw
5
• In base a questa tassonomia, le regole vengono anche definite:
– Principi: bassa autorità, alta generalità, astratte• derivano dalla conoscenza di teorie psicologiche, computazionali,
sociali e sono indipendenti dalla tecnologia
– Standard: alta autorità, limitata applicabilità, pratiche• la teoria soggiacente è largamente accettata, ci si può limitare ad
attenervicisi
– Linee guida: bassa autorità, alta generalità, pratiche• orientate alla tecnologia• poiché generali, è importante conoscere il fondamento teorico
6
Principi
• suddivisi in principi di: – Apprendibilità: grado di facilità con cui l’utente impara– Flessibilità: molteplicità dei modi con cui l’utente e il
sistema si scambiano informazioni– Robustezza: livello di supporto per raggiungere e valutare
gli obiettivi
7
Apprendibilità
• Prevedibilità– Determinare effetto azione futura in base al passato
• Sintetizzabilità– Effetto delle operazioni passate sul presente
• Familiarità– Applicare conoscenze di altri domini
• Generalizzabilità– Estendere conoscenze di una interazione ad altre
• Coerenza– Similarità di comportamento in situazioni simili
T
T
8
Prevedibilità
• L’utente non risponde bene alle sorprese• Un’ interfaccia è prevedibile se:
– la conoscenza della storia delle precedenti interazioni è sufficiente per stabilire il risultato delle future interazioni
• Vari livelli:– contingente: data la schermata attuale– storica: date altre schermate precedenti
• Principio centrato sull’utente: la macchina è sempre deterministica
• Due forme:– Capacità di prevedere l’effetto delle azioni– Visibilità delle operazioni: capacità di individuare quali azioni
sono consentite
T
9
10
T Sintetizzabilità
• Capacità dell’utente di stimare l’effetto delle operazioni precedenti sullo stato corrente
• Serve alla creazione di un modello mentale della UI• -- > Trasparenza:
– fornire un rapporto informativo visibile del cambiamento di stato della macchina
• Può essere:– immediata
• Es.: spostamento file in interfacce WIMP– differita
• Es.: spostamento file in interfacce a linea di comando
11
• Esempio di trasparenza:– Azione predecente: login– Effetto: sono stato riconosciuto
12
Familiarità
• Anche i neofiti hanno esperienze di interazione in domini diversi:– col mondo reale– con altre interfacce
• La familiarità:– misura la correlazione tra la conoscenza precedente e la
conoscenza necessaria per iniziare l’interazione
• -- > Presumibilità• Sfrutta l’analogia.
– Es: word processor è familiare a chi ha esperienza con la macchina da scrivere.
• Le metafore generano interfacce familiari.
13
• Quale di queste due mp3 player è più familiare?
14
Affordance
• La familiarità è collegata alla nozione di affordance:– proprietà intrinseche di un oggetto che suggeriscono
come manipolarlo (- - >interagire)
• L’aspetto dell’oggetto stimola familiarità con il suo comportamento.
15
Generalizzabilità
• Generalizzabilità:– Misura in cui la conoscenza acquisita per il
raggiungimento di un obiettivo passato è applicabile al raggiungimento di un nuovo obiettivo contingente.
• La generalizzazione è una caratteristica naturale dell’uomo (ragionamento induttivo)
• Può essere presente– all’interno della stessa applicazione interattiva– tra applicazioni simili
• Es. Cut & paste
16
CTRL + C, copia
CTRL + V, incolla
17
Coerenza
• … rispetto a:– Modello concettuale (o metafora)– Esperienza passata del mondo reale (familiarità)– Esperienza passata con lo stesso sistema o simili
(generalizzabilità)• Non è un principio ben definito, qualcuno lo
vorrebbe porre su un livello diverso (metaprincipio)
• è il principio– più menzionato– più pervasivo, quindi difficile da definire
18
g
19
Flessibilità• Iniziativa di dialogo
– Chi guida l’interazione
• Multi- threading– Più di un compito alla volta
• Migrabilità dei compiti– Compiti che può svolgere il computer e/o l’utente
• Sostitutività– Equivalenza di valori in input e output
• Personalizzazione– Modificabilità dell’interfaccia
kglb
20
Iniziativa di dialogo
• Interazione come dialogo tra partner• Quale partner ha l’iniziativa dell’interazione?• Si differenzia in
– System pre- emptive• rigidità• sicurezza garantita
– User pre- emptive• flessibilità• aumenta la probabilità che l’utente si dimentichi dei compiti
che sono stati iniziati e non ancora completati
21
User pre-emptive
System pre-emptive
22
Multi-threading
• Thread (filo): interazione dedita ad un solo compito
• Multithreading: capacità di supportare interazioni relative a più compiti nello stesso momento – concorrente
• Comunicazione simultanea riguardante compiti separati (es. bip della posta mentre uso powerpoint )
– interfogliato• Sovrapposizione temporale dei compiti, ma in ciascun istante
uno solo è attivo (es. Finestre WIMP)
• --> Multimodalità
Interfogliare. 1 corredare un libro, un fascicolo e sim. di fogli bianchi inseriti nella rilegatura e destinati al lettore per annotazioni o correzioni 2 proteggere con fogli di carta velina tavole fuori testo di un volume | proteggere fogli freschi d�inchiostro impilati frapponendovi fogli bianchi o di carta velina per evitare macchie e controstampe.
23
Migrabilità dei compiti
• Possibilit�àdi trasferimento di compiti tra sistema e utente
• Un compito “interno” ad uno dei due partner può diventare interno all’altro oppure condiviso– Es.: controllo ortografico
24
Sostitutività
• Richiede che valori equivalenti possano essere sostituiti l’uno con l’altro
• si definisce rispetto:– all’input
• Unità di misura• Formule invece di valori
– all’output (--> molteplicità delle rappresentazioni)• Flessibilità nella presentazione dello stato• es. grafico + numero
• Pari opportunità: si perde la distinzione tra input e output: “se riesci a vederlo, lo puoi usare”– Es. Foglio elettronico
kglb
25Link interessante:http://www.cs.unb.ca/profs/ghorbani/ali/papers/sadath-aws-wi2004.pdf
Personalizzabilità
• Modificabilità dell’interfaccia – da parte dell’utente (adattabilità)– o del sistema (adattività)
26
Robustezza
• Osservabilità– Valutare lo stato interno dall’output
• Ripristinabilità– Correzione errori
• Velolcità di risposta– Velocità di comunicazione
• Conformità dei compiti– Le funzionalità sono adeguate al compito
27
Osservabilità
• Permette all’utente di valutare lo stato interno del sistema tramite la sua rappresentazione percettibile fornita dall’ l’interfaccia.
• Fase di valutazione del ciclo di Norman
• Può essere ottenuta attraverso altri principi– visibilità dell’operazione (già vista)– navigabilità– default– reggiungibilità– persistenza
esecuzione
valutazione
28
Osservabilità
• Navigabililità• consente all’utente di esaminare lo stato interno
del sistema tramite la visualizzazione parziale che ne fornisce l’interfaccia
• Lo stato interno del sistema è complesso: una visualizzazione globale non avrebbe senso
• Una buona navigabilità è ottenuta munendo l’interfaccia di comandi di visualizzazione relativi al compito che si sta svolgendo
29
Osservabilità�
• Default• assistono l’utente informandolo dello stato del
sistema con un ricordo passivo• di due tipi:
– statico: i valori di default vengono fissati in inizializzazione e non cambiano più.
– dinamico: i valori possono cambiare
30
Osservabilità
• Raggiungibilità• possibilità di visitare (raggiungere) tramite la UI
tutti gli stati osservabili del sistema
31
Osservabilità
• Persistenza• la durata dell’effetto di un atto comunicativo e la
capacità dell’utente di usare quell’effetto• Es. notifica con:
– segnale visivo (persiste)– suono (non persiste).
32
Ripristinabilità
• Capacità di raggiungere l’obiettivo desiderato dopo un errore
• Due direzioni di ripristino:– forward
• accettazione dello stato corrente• negoziazione dello stato verso l’obiettivo desiderato.
– backward• rifiuto della situazione attuale• annullamento all’indietro delle operazioni effettuate fino ad uno stato
sicuro.
• Principio di sforzo proporzionato:– se è difficile annullare un’azione, dovrebbe essere altrettanto
difficile eseguirla
Esempio diripristinabilità
backward
33
Velocità di risposta
• Misura la rapidità di comunicazione tra sistema e utente. • Tempo di risposta: intervallo di tempo necessario perché il
sistema manifesti i cambiamenti di stato. • Sono desiderabili durate brevi e tempi di risposta
immediati– per tempi di risposta non immediati, necessari feedback informativi
• Stabilità del tempo di risposta: tempi di risposta costanti a parità di risorse computazionali impegnate dal compito.
34
Conformità dei compiti
• Misura in cui i servizi offerti dal sistema supportano i compiti utente
• Fase di esecuzione del ciclo di Norman• Completezza dei compiti
– Il sistema implementa tutti i servizi necessari ai compiti previsti?
• Adeguatezza dei compiti– Lo fa come lo intende l’utente?– Grado di comprensione che l’utente ha dei servizi
esecuzione
valutazione
Principi: riassunto
Completezza dei compiti,Adeguatezza dei compiti.
Le funzionalità sono adeguate al compitoConformità dei comp.
StabilitàVelocità di comunicazioneVelocità di risposta
Ripristino backward/forwardRaggiungibilità, Sforzo proporzionato
Correzione erroriRipristinabilità
Visibilità delle op., navigabilità, default, raggiungibilità, persistenza,
Valutare lo stato interno dall’outputOsservabilità
Robustezza
AdattativitàAdattabilità
Modificabilità dell’interfacciaPersonalizzabililtà
Molteplicità delle rappresentazioni,Pari oppurtunità
Equivalenza di valori in input e outputSostitutività
Compiti che può svolgere il computer e/o l’utenteMigrabilità dei comp.
Concorrente/Interfogliata,Multimodalità
Più di un compito alla voltaMulti-threading
System/user pre-emptiveChi guida l’interazioneIniziativa di dialogo
Flessibilità
Similarità di comportamento in situazioni similiCoerenza
Estendere conoscenze di una interazione ad altreGeneralizzabilità
PresumilitàAffordance
Sfrutta conoscenze di altri dominiFamiliarità
Trasparenza immediata/differitaEffetto delle operazioni passate sul presenteSintetizzabilità
Visibilità delle operazioniDeterminare effetto azione futura in base al passatoPredicibilità
Apprendibilità
36
Standard
• Sono stabiliti da organismi nazionali e internazionali• sono relativi ad
– hardware • intersecano fisiologia, ergonomia • producono dettami ben precisi, applicabili
– software• intersecano psicologia, scienze cognitive • producono dettami vaghi, non facili da interpretare
• agenzie: – BSI (British Standard Institution)– ISO (International Organization for Standardization)– IEEE
37
• ISO 9241, specifica d’usabilità:– L’efficacia, l’efficienza e la soddisfazione con cui utenti specifici
raggiungono determinati obiettivi in particolari ambienti
• Efficacia: la precisione e la completezza con cui utenti specifici possono ottenere determinati risultati in particolari ambienti
• Efficienza: le risorse impiegate rispetto alla precisione e allacompletezza degli obiettivi raggiunti
• Soddisfazione: la comodità e l’accettabilità del sistema di lavoro per i suoi utenti e altre persone influenzate dal suo uso
38
Linee guida
• Vengono incontro alla difficoltà di produzione di standard di costruzione di prodotti software
• Rappresentano la maggior parte delle regole di design per i sistemi interattivi– coinvolgono tutte le fasi della progettazione dell’interazione
• le linee guida più astratte servono per i documenti dei requisiti• le linee guida più specifiche servono per la progettazione dettagliata
• Vastissima proliferazione, i capisaldi sono:– Smith and Mosier– Mayhew – Definiscono, tra l’altro, gli stili di interazione (che abbiamo visto)
39
• Esempio: linee guida di Apple – Le applicazioni efficaci sono coerenti
sia al loro interno che l’una con l’altra– Ordine “nome- verbo”: prima si selezione l’oggetto
(nome) e poi l’azione da compiere (verbo)– L’utente, non il computer, inizia e controlla tutte le
azioni
40
Le regole d’oro e le euristiche
• I principi e le linee guida enunciati sinora richiedono un certo impegno al progettista per tenere traccia delle linee guida o interpretare i principi.
• Alternativamente, si possono usare una serie di euristiche (lista di controllo, sintesi di consigli)– Norman, 7 principi– Shneidermann, 8 regole– Nielsen, 10 euristiche
41
Principi di Norman1. Bisogna usare sia la conoscenza presente nel mondo sia la
conoscenza mentale• Conoscenza incorporata in attività, processi, relazioni sociali, artefatti
fisici (affordance) del mondo reale• Modello mentale
2. Si deve semplificare la struttura dei compiti• Per evitare carico cognitivo e STM
3. Si rendano le cose visibili: colmare i golfi di esecuzione e valutazione
4. Le corrispondenze vanno chiarite (fornire corrisp. naturali)• Quale interruttore accende quale luce?
5. Si sfrutti il potere dei vincoli• Eseguire solo l’azione corretta nel modo corretto• Fisici, logici, culturali
6. Bisogna progettare per gli errori7. Quando tutto il resto non ha successo, si creino degli standard
• Se le corrispondenze sono arbitrarie, vanno standardizzate
The Design of Everyday Things
42
Le 8 regole d’oro di Shneiderman1. Preservare la coerenza in sequenze di azioni, formato, terminologia, uso dei
comandi e così via2. Consentire agli utenti abituali di usare comandi rapidi, come abbreviazioni,
speciali sequenze di tasti e macro3. Offrire un feedback informativo per ogni azione dell’utente, a un livello adatto
all’estensione dell’azione4. Progettare dialoghi provvisti di chiusura, in modo che l’utente sappia quando ha
finito un compito5. Offrire una prevenzione e una gestione semplice degli errori, in modo che si
impedisca la nascita di errori, e, se li fanno, si offrano loro istruzioni chiare per correggerli
6. Permettere un’inversione semplice delle azioni per tranquillizare l’utente e controllare il sistema, che risponde alle sue azioni
7. Supportare il controllo interno in modo che sia l’utente a controllare il sitema, che risponde alle sue azioni
8. Ridurre il carico della memoria a breve termine mantenendo semplici le visualizzazioni, sfruttando le visualizzazioni multipagina e fornendo all’utente il tempo necessario per imparare la sequenze delle azioni
43
Euristiche di Nielsen
1. Rendere visibile lo stato del sistema2. Creare relazioni tra il sistema ed il mondo reale3. Abilitare il controllo dell’utente e lasciargli libertà4. Essere coerenti e seguire gli standard5. Aiutare l’utente a riconoscere, diagnosticare e correggere gli errori6. Prevenire gli errori7. Aiutare il riconoscimento piuttosto che il ricordo8. Garantire flessibilità ed efficienza d’uso9. Adottare un design esteticamente accattivante e minimalista10. Fornire aiuti ed istruzioni
(per la valutazione)
44
I pattern d’interazione
• Sono dei metodi per poter trasformare i casi di successo in processi ripetibili
• Estraggono i dettagli essenziali dai progetti di successo in modo che possano essere applicati in nuove soluzioni
• Un pattern – è una soluzione parzialmente specificata a un problema ricorrente
all’interno di un contesto specifico– tratta un problema che i progettisti incontrano spesso e fornisce un
“inizio di soluzione”
45
• How to use Patterns– If you don't have years of design experience already, a
set of patterns may serve as a learning tool. – Each pattern description tries to capture the reasons
why the pattern works to make a UI easier or more fun to use.
– If you talk to users, engineers, or managers about UI design, or write specifications, then you could use the pattern names as a way of communicating and discussing ideas.
Da http://designinginterfaces.com/
46
Pattern: esempiohttp://www.cs.kent.ac.uk/people/staff/saf/patterns/gallery/illustrated-choices.html
47
FINE!