Interazione Uomo-Macchina - Ingegneria

Progettare il Modello Concettuale
Interazione Uomo-Macchina
Progettazione concettuale
Occorre progettare esplicitamente
Corsi di Laurea Magistrale in:
Metafora
Gli stili di interazione
tenendo conto della cultura e dell’esperienza
dell’utente
Ingegneria Informatica
Università degli Studi di Brescia
(e non solo del punto di vista del progettista e del cliente)
Docente: Daniela Fogli
Daniela Fogli – Interazione Uomo-Macchina
Usare metafore adeguate
Tipi di metafore
Le metafore facilitano l’apprendimento
Smith (1987) definisce
literal le interfacce che aderiscono correttamente e
Problemi di completezza e correttezza:
completamente a certe metafore
Metafore incomplete possono confondere l’utente (es. file
protetti da password, documenti “cross-referenziati” in cartelle
diverse)
Mettere il floppy nel cestino per espellerlo non corrisponde a
ciò che si farebbe nel mondo reale
magical le interfacce che violano opportunamente le
metafore adottate sfruttando le potenzialità del calcolatore
external le interfacce che violano le metafore senza
aggiungere però funzionalità (esterne perché dipendono da
vincoli esterni)
Esser troppo legati a una metafora può limitare lo
sfruttamento delle potenzialità del calcolatore
Daniela Fogli – Interazione Uomo-Macchina
2
3
Daniela Fogli – Interazione Uomo-Macchina
4
Osservazioni
Dall’analisi dei requisiti al progetto
Si supponga di aver condotto l’analisi dei requisiti, aver fatto
dunque:
Ricerca o osservazione sul campo
Condotto l’analisi dei compiti
Sviluppato degli scenari, attraverso dei modelli di utente
(persona)
Individuato la metafora più adeguata
Attraverso esperimenti con gli utenti Smith ha
osservato che:
Le interfacce literal vengono in generale imparate più
velocemente (non c’è necessità di spiegazioni)
Gli utenti esperti imparano un po’ più lentamente le interfacce
literal perché si aspettano che siano più magic
Gli utenti novizi (in particolare i bambini) si aspettano meno
magic e più literal
Ma come si arriva al progetto iniziale?
Come si individuano le soluzioni ai problemi individuati?
Come si mette tutto assieme perché il progetto funzioni?
In conclusione: combinare un po’ di magic con una
buona dose di literal: facilità di apprendimento
combinata con facilità di uso (che sfrutta capacità del
calcolatore)
Daniela Fogli – Interazione Uomo-Macchina
5
Daniela Fogli – Interazione Uomo-Macchina
Approccio tradizionale:
adottare design rules
Principi
Regole “codificate” che un progettista può seguire per
garantire l’usabilità di un prodotto
Usate per applicare la teoria in pratica, alcune possono
essere in conflitto
Hanno due dimensioni: autorità e generalità
Si distinguono in:
Formulati per promuovere usabilità
Derivano dalla conoscenza degli aspetti psicologici,
cognitivi, sociologici (si basano su teoria)
Sono indipendenti dalla tecnologia
Esempi di principi:
Apprendibilità (predicibilità, familiarità,
consistenza, …)
Flessibilità (customizability, multi-threading, …)
Robustezza (osservabilità, recoverability, task conformance,
…)
Principi: regole astratte, alta generalità, bassa autorità
Standard: regole specifiche, alta autorità, applicazione
limitata
Linee guida: un po’ meno astratte dei principi, ma più
orientate alla tecnologia, bassa autorità, applicazione generale
Guide di stile: regole specifiche per un certo ambiente
(aziendale o commerciale)
Daniela Fogli – Interazione Uomo-Macchina
6
7
Daniela Fogli – Interazione Uomo-Macchina
8
Standard
“Regole d’oro” ed Euristiche
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Ne esistono per hardware e software: quelli hardware basati su
comprensione fisiologia o ergonomia; quelli software basati su
psicologia o scienze cognitive, meno formalizzati, tuttora in
evoluzione
Shneiderman’s eight golden rules
Nielsen’s ten heuristics
Visibility of system status
Match between system and the
real world
User control and freedom
Consistency and standards
Error prevention
Recognition rather than recall
Flexibility and efficiency of use
Aesthetic and minimalist design
Help users recognize, diagnose
and recover from errors
Help and documentation
1.
2.
3.
4.
5.
6.
7.
1.
2.
3.
4.
5.
6.
7.
8.
Strive for consistency
Enable frequent users to use shortcuts
Offer informative feedback
Design dialogs to yield closure
Offer error prevention and simple error
handling
Permit easy reversal of actions
Support internal locus of control
Reduce short-term memory
Quindi si basano sulla teoria, anche se chi li applica può non
conoscerla
Esempio ISO 9241: Ergonomic Requirements for Office Work with
Visual Display Terminals poi rinominato Ergonomics of Human
System Interaction (include parte su usabilità, comprese metriche)
Norman’s seven principles
La forza: sta nel “costringere” una grande comunità a sottostare a
una qualche autorità
Use both knowledge in the world and
knowledge in the head
Simplify the structure of tasks
Make things visible
Get the mappings right
Exploit the power of constraint
Design for error
When all else fails, standardize
Daniela Fogli – Interazione Uomo-Macchina
9
Daniela Fogli – Interazione Uomo-Macchina
Gli standard dell’HCI
Missione del TC 159/SC 4
Standard ISO (International Standard Organization)
preparati da diversi comitati - Technical Commitee (TC)
“Standardizzazione ergonomica della interazione fra i
sistemi (spesso basati su computer) e le persone che li
progettano, fabbricano, usano e mantengono. Le aree
di standardizzazione comprendono l’ergonomia
dell’hardware (inclusi gli strumenti di input, i monitor e
gli apparati interattivi), l’ergonomia del software
(inclusa la progettazione del dialogo e l’interaction
design) e i metodi e processi dello human-centred
design (inclusa l’ingegneria dell’usabilità e i metodi di
progettazione partecipativa) “
Quelli relativi all’ingegneria dell’usabilità fanno capo al
TC 159 – Ergonomics, suddiviso in Sub-Commitee (SC)
TC
TC
TC
TC
159/SC
159/SC
159/SC
159/SC
1
3
4
5
–
–
–
–
General ergonomics principles
Anthropometry and biomechanics
Ergonomics of human-system interaction
Ergonomics of the physical environment
Daniela Fogli – Interazione Uomo-Macchina
11
Daniela Fogli – Interazione Uomo-Macchina
10
12
Standard prodotti dal TC 159/SC 4
ISO 9241-110 Dialogue principles
1. Adeguatezza al compito
(suitability for the task)
Sono numerosi, ma i principali sono:
ISO 13407: Human-centred design processes for interactive
systems
2. Auto-descrizione (self-descriptiveness)
ISO 9241: Ergonomics of Human system interaction, include
documenti organizzati in serie tematiche
ISO 14915: Software ergonomics for multimedia user
interfaces, diviso in:
3. Conformità alle aspettative dell’utente
(conformity with user expectations)
4. Adeguatezza all’apprendimento
(suitability for learning)
Part 1: Design principles and framework
Part 2: Multimeda navigation and control
Part 3: Media selection and combination
5. Controllabilità (controllability)
6. Tolleranza verso gli errori (error-tolerance)
7. Adeguatezza all’individualizzazione (suitability for
individualization)
da [R. Polillo, Facile da usare, 2010]
Daniela Fogli – Interazione Uomo-Macchina
13
Modello di qualità
Alcune sono astratte, vanno bene per specifica requisiti; altre sono
più specifiche, sono adatte per progetto di dettaglio
Adeguatezza al
compito
Esempio di linea guida astratta: “effective applications are both
consistent with themselves and consistent with one another” (da
Apple’s Human Interface Guidelines. The Apple Desktop Interface)
4
3,5
3
2,5
14
Linee guida
I principi del dialogo dell’ISO definiscono un modello di qualità
Adeguatezza alla
individualizzazione
Daniela Fogli – Interazione Uomo-Macchina
Autodescrizione
2
1,5
Esempio di linea guida concreta (noun-verb ordering guideline):
l’utente prima seleziona un oggetto (il nome) da un insieme visibile
sul desktop e poi seleziona l’operazione (il verbo) da applicare
all’oggetto
1
0,5
0
Conformità alle
aspettative dell’utente
Tolleranza verso
gli errori
Controllabilità
Alcune hanno come argomento gli stili di interazione (vedi
Guide di Stile)
Adeguatezza
all’apprendimento
da [R. Polillo, Facile da usare, 2010]
Daniela Fogli – Interazione Uomo-Macchina
15
Daniela Fogli – Interazione Uomo-Macchina
16
Esempio
Guide di stile
GUI style guides: insiemi di regole di progetto su cui gli
sviluppatori si basano (commerciali e aziendali)
Solitamente scritte in un manuale
PRO
Garantiscono Look & Feel consistente
CONS
Sono influenzate dalle tecnologie (grain)
Sono in genere basate su toolkit standard
Sono transitorie! Cosa succede se cambia il toolkit? (es. da Win
98/2000 a Vista a Win 7)
L’espressività è limitata da ciò che offre il toolkit: il numero di
tools, i modi di usarli, le convenzioni
Da [Mac OS X User Interface Guidelines]
Daniela Fogli – Interazione Uomo-Macchina
17
Esempio
Daniela Fogli – Interazione Uomo-Macchina
18
Problemi delle design rules
The Text Box control displays content and
allows the user to type or edit the contents.
Le design rules non si combinano bene con l’esigenza di
coinvolgere l’utente nell’attività di progetto
Text boxes may display a single or multiple lines. Multiple line
text boxes will wrap text to the size of the control.
Text boxes may be set to read only, but
should generally be used for editable
text.
non aiutano a superare il divario comunicazionale
Alcune design rules ci guidano nel realizzare le idee di
progetto (how) ma non nel formulare le idee stesse,
ovvero cosa bisogna fare e perchè (what)
The on-screen keyboard appears
automatically when focus is set in the
text box unless the phone has a
hardware keyboard.
Gestures supported:
• Tap – for focus and selection
• Tap and hold – for precise caret insertion
Tratto da [UI and Interaction Guide for Windows Phone 7]
Daniela Fogli – Interazione Uomo-Macchina
19
Daniela Fogli – Interazione Uomo-Macchina
20
Il progetto dell’interazione
(interaction design)
Cambia il modo di concepire il progetto
Creare esperienze d’uso che migliorino e potenzino il modo in
cui le persone lavorano, comunicano, interagiscono
Il progetto viene visto come un processo in cui un’idea iniziale
di spazio (reale o virtuale) viene progressivamente raffinata
mediante uno sviluppo ‘per parti’ fino a portare al progetto finale
Interaction design come “la progettazione di spazi per la
comunicazione e l’interazione umana” Winograd (1997)
“Every one is motivated by the needs of people and the desire to
create habitable information systems” Reenskaug (2003)
Progettazione attraverso design pattern
Differenza rispetto a ingegneria del software un’analogia: la
differenza fra architetti e ingegneri civili
Approccio contrapposto al combinare parti predefinite
Include riuso di parti, ma in un senso diverso da quello
tradizionale
Daniela Fogli – Interazione Uomo-Macchina
Daniela Fogli – Interazione Uomo-Macchina
21
Design Pattern
22
Approcci basati sui design pattern
Pattern: modello, esempio, schema (di
Architettura
Alexander
comportamento), configurazione
Design pattern: una descrizione strutturata testuale
o grafica di una soluzione comprovata a un problema
di progetto ricorrente in un certo contesto
Pattern language: una gerarchia di design pattern
ordinati in base al loro raggio d’azione
Ing. del software
HCI
Interaction Design
The gang of four
Pattern di alto livello problemi di progettazione su larga
scala
Pattern di basso livello descrivono soluzioni più specifiche
Tidwell
Borchers
… e svariati altri (per il web, per sistemi
mobili, etc.)
Daniela Fogli – Interazione Uomo-Macchina
23
Daniela Fogli – Interazione Uomo-Macchina
24
Design pattern per superare il
gap comunicazionale
I pattern di progetto di Alexander
Un design pattern è un documento strutturato secondo un certo
schema che individua un problema di architettura urbana e
descrive una soluzione “user friendly”
I design pattern descrivono problemi a grande scala
(COMMUNITY OF 7000), a media scala (STREET CAFE’), fino a
problemi a piccola scala (CASCADE OF ROOFS, SITTING WALL)
I design pattern non sono isolati e indipendenti: la struttura
prevede di descrivere le loro relazioni
I design pattern costituiscono una struttura organizzata
(gerarchica) chiamato linguaggio dei pattern
Un linguaggio di design pattern evolve per l’azione dei membri
di una comunità e riflette un modello comune
Alexander propone di rendere espliciti i design pattern
in forma di documenti, che possono essere annotati,
testati, migliorati gradualmente
Patterns are for users: sono documenti che devono
essere comprensibili dagli utenti ed architetti
Costituiscono un linguaggio di comunicazione che
permette a non esperti di parlare, esprimere le proprie
idee e progettare i propri spazi
Daniela Fogli – Interazione Uomo-Macchina
25
Esempio: SITTING WALL
Daniela Fogli – Interazione Uomo-Macchina
Daniela Fogli – Interazione Uomo-Macchina
26
Esempio: SITTING WALL (cont.)
27
Daniela Fogli – Interazione Uomo-Macchina
28
Il linguaggio dei design pattern di
Alexander
I design pattern nell’ingegneria del
software
La struttura (il formato) è rimasto simile a quello di Alexander,
ma… sono cambiati gli obiettivi!
Linguaggio:
“Software design patterns are considered a useful language for
communication among software designers, and a practical vehicle
for introducing less experienced designers into the field. The idea
of end users designing their own (software) architectures has not
been taken over” [Borchers, 2001]
È più di un semplice catalogo, perché indica come i
pattern possono essere usati insieme sinergicamente
(l’intero è più della somma delle parti). E’ una
struttura unificata che cattura la ‘saggezza’
accumulata in un dominio in una maniera pratica e
apprendibile
(per comunicazione e documentazione)
Sono scritti per programmatori professionali (obiettivi: riuso,
standardizzazione)
Non costituiscono un linguaggio
Daniela Fogli – Interazione Uomo-Macchina
29
I design pattern come nuovo tipo di
“design rules” per l’HCI
Daniela Fogli – Interazione Uomo-Macchina
30
Un linguaggio di design pattern
di HCI come soluzione
Catturano la design practice, includono conoscenza su soluzioni
di successo (provengono dalla pratica piuttosto che dalla teoria)
“… patterns are structural and behavioral features that improve
the ‘habitability’ of something, a user interface, a web site, an
object-oriented program, or even a building” [Tidwell, 2005]
Catturano le proprietà comuni del buon progetto (cosa occorre
fare e perché)
Possono essere visti come una descrizione della best practice in
un certo dominio
Rappresentano conoscenza di progetto a diversi livelli di
Non sono componenti off-the-shelf: ogni implementazione di un
pattern di progetto può differire da un’altra
astrazione
Non sono neanche semplici regole o euristiche di progetto
Intuitivi e leggibili dai vari stakeholder
Non sono ricette che guidano il progettista passo-passo nell’attività
di progettazione, che rimane comunque un processo creativo
Catturano soluzioni comuni (anche in domini applicativi diversi)
ai conflitti di design (le “forze”)
Daniela Fogli – Interazione Uomo-Macchina
31
Daniela Fogli – Interazione Uomo-Macchina
32
Varietà di sistemi
Aspetti comuni
Software interattivo tradizionale (GUI)
Siti web
Palmtop e handheld
Controllo di processi industriali
Video games
Documentazione in linea
Software multimediale per e-learning
Strumenti per le arti visuali e la grafica
Visualizzazione scientifica
Co-laboratori (spazi multimediali per il lavoro di molte persone)
Le metafore adottate:
molti si rifanno alle situazioni del mondo reale – il software
interattivo è giovane e stiamo ancora imparando a sfruttare le sue
caratteristiche
Le mete di usabilità:
1.
2.
Variano per scopo, grado di interattività, stili di interazione – verbali, non
verbali, contesti di uso etc.
Ma il loro progetto ha aspetti comuni
Daniela Fogli – Interazione Uomo-Macchina
3.
33
Perché un linguaggio di
design pattern di HCI
Daniela Fogli – Interazione Uomo-Macchina
34
Perché un linguaggio di
design pattern di HCI (cont.)
Per aiutare i singoli progettisti a costruire interfacce
migliori:
Per aiutare la comunità di HCI:
Con un vocabolario comune e significativo per parlare
delle caratteristiche che rendono una interfaccia “vincente” o
meno
Ad essere più metodici nell’utilizzare l’esperienza nei campi
collegati (elettronica di consumo, libri, progetto di pannelli di
controllo per auto e/o aerei, video games)
A isolare le qualità che fanno il successo di certe metafore,
di certi widget, etc.
A produrre una solida base su cui costruire nuovi strumenti
e concetti, per esempio per la realtà virtuale o aumentata,
applicazioni web di prossima generazione, …
Ricorrendo all’esperienza collettiva degli altri progettisti
Permettendo di pensare “outside the toolkit”
Aiutando a focalizzarsi su aspetti essenziali (semplicità,
fedeltà a un modello consistente, estetica, conforto
emozionale)
Esprimendo degli invarianti di progetto (anche per la
codifica successiva)
Daniela Fogli – Interazione Uomo-Macchina
permettere all’utente di crearsi un appropriato modello mentale del
sistema attraverso una presentazione stilizzata che sveli
progressivamente il contenuto del mondo virtuale
permettere all’utente di svolgere un compito, svelando
progressivamente all’utente le possibilità di azione ad una velocità
adeguata alla capacità di apprendimento dell’utente durante
l’interazione
permettere all’utente di concentrarsi sul compito da eseguire
focalizzando i pattern spaziali e di navigazione che gli servono
35
Daniela Fogli – Interazione Uomo-Macchina
36
Go Back to a Safe Place
Pattern di progetto di SE e di HCI
Esempio (da [Tidwell 1999])
Examples:
•
The "Home" button on a Web browser
•
Turning back to the beginning of a chapter in a physical book or magazine
•
The "Revert" feature on some computer applications
Pattern di progetto nell’ingegneria del software:
Context: The artifact allows a user to move through spaces (as in Navigable Spaces), or steps (as in Step-by-Step
Instructions), or a linear Narrative, or discrete states; the artifact also has one or more checkpoints in that set of spaces.
“A problem is stated in terms of desiderable qualities of the
internal structure of behavior of software, and the solution si
stated in terms of suggested code structures”
Problem: How can the artifact make navigation easy, convenient, and psychologically safe for the user?
Forces:
•
A user that explores a complex artifact, or tries many state-changing operations, may literally get lost.
•
A user may forget where they were, if they stop using the artifact while they're in the middle of something and don't
get back to it for a while.
•
If the user gets into a space or a state that they don't want to be in, they will want to get out of it in a safe and
predictable way.
•
The user is more likely to explore an artifact if they are assured that they can easily get out of an undesired state or
space; that assurance engenders a feeling of security.
•
Backtracking out of a long navigation path can be very tedious.
Pattern di progetto di HCI:
“A problem is stated in the domain of human interaction issues,
and the solution is stated in terms of suggested perceivable
interaction behavior”
Solution: Provide a way to go back to a checkpoint of the user's choice. That checkpoint may be a home page, a saved
file or state, the logical beginning of a section of narrative or a set of steps. Ideally, it could be whatever state or space a
user chooses to declare as a checkpoint.
[Dearden & Finlay 2006]
Daniela Fogli – Interazione Uomo-Macchina
37
Approccio di Jenifer Tidwell
Resulting Context: Go Back One Step is a natural adjunct to this pattern, and is often found along with it. For nonNarrative use, Interaction History is useful too, almost to the point of making Go Back to a Safe Place unnecessary: it may
actually help a "lost" user figure out where they are, for instance, or remind an interrupted user of where they are and what
Daniela Fogli – Interazione Uomo-Macchina
they've done.
38
I design pattern di Tidwell
Cattura l’idea
Tidwell propone il suo primo linguaggio di design pattern di HCI
nel 1999
che un design pattern pone in relazione gli elementi fisici con
ciò che accade
che un “linguaggio” descrive un ambiente interattivo
che l’ambiente determina pattern di comportamento negli
utenti che sono all’interno dell’ambiente (grain)
Si veda http://www.mit.edu/~jtidwell/interaction_patterns.html
Contiene più di 50 design pattern, molti però non dettagliati
Il lavoro è incompleto (l’autrice stessa suggerisce di riferirsi a
una versione – diversa – pubblicata in una prima edizione del
suo libro nel 2005 – vedi poi)
Ambiente reale (architettura) e ambiente virtuale
(sistema interattivo)
In entrambi i casi: ciò che è importante non è tanto la
forma degli ambienti ma piuttosto ciò vi accade
Daniela Fogli – Interazione Uomo-Macchina
39
Daniela Fogli – Interazione Uomo-Macchina
40
I design pattern proposti da Tidwell
Pattern di contenuto
Documenti ipertestuali che descrivono artefatti virtuali e
gli eventi associati cercando di rispondere alle richieste
base di usabilità
Permettere all’utente di crearsi un appropriato modello mentale del
sistema attraverso una presentazione stilizzata che sveli
progressivamente il contenuto del mondo virtuale
Modellano l’apparenza (presentazione)
3 tipi di design pattern (che corrispondono alle mete
di usabilità…):
L’ “unfolding” ovvero lo “svelare progressivamente” è presente in
tutti i tipi di pattern: in quelli di contenuto può essere “top-down”,
da una presentazione generale ai dettagli su richiesta dell’utente
Pattern di contenuto (content)
Pattern di azione
Pattern di attenzione, layout delle aree di lavoro, navigazione
Daniela Fogli – Interazione Uomo-Macchina
41
Daniela Fogli – Interazione Uomo-Macchina
42
Pattern di attenzione, layout delle aree
di lavoro, navigazione
Pattern di azione
Permettere all’utente di svolgere un compito, svelando
progressivamente all’utente le possibilità di azione ad una velocità
adeguata alla capacità di apprendimento dell’utente durante
l’interazione
Permettere all’utente di concentrarsi sull’attività da svolgere senza
perdere l’orientamento all’interno dell’ambiente interattivo
E’ un insieme di pattern di vario tipo, tenuti separati da quelli di
contenuto e di azione (anche se la separazione può risultare in
certi casi discutibile)
Modellano il comportamento (possibilità di interazione)
L’ “unfolding” può consistere nel presentare dapprima un piccolo
insieme di azioni disponibili, e poi, quando l’utente ne sceglie una,
presentare un nuovo insieme di azioni possibili
Daniela Fogli – Interazione Uomo-Macchina
43
Daniela Fogli – Interazione Uomo-Macchina
44
Go Back to a Safe Place
Struttura dei design pattern
Esempio 1
Examples:
•
The "Home" button on a Web browser
•
Turning back to the beginning of a chapter in a physical book or magazine
•
The "Revert" feature on some computer applications
Ogni pattern definisce:
Context: The artifact allows a user to move through spaces (as in Navigable Spaces), or steps (as in Step-by-Step
Instructions), or a linear Narrative, or discrete states; the artifact also has one or more checkpoints in that set of spaces.
Esempi: sia buoni che cattivi (cioè che mostrano usi
Problem: How can the artifact make navigation easy, convenient, and psychologically safe for the user?
inappropriati del pattern)
Un contesto d’uso
Un problema che il progettista ha bisogno di risolvere
Un insieme di “forze” che spingono il progettista in diverse
direzioni
Una soluzione: o regola primaria su come tali forze
possono essere tenute in conto per risolvere il problema
A volte alcune regole secondarie addizionali
A volte un disegno stilizzato della soluzione
Dei riferimenti ad altri pattern
Daniela Fogli – Interazione Uomo-Macchina
Forces:
•
A user that explores a complex artifact, or tries many state-changing operations, may literally get lost.
•
A user may forget where they were, if they stop using the artifact while they're in the middle of something and don't
get back to it for a while.
•
If the user gets into a space or a state that they don't want to be in, they will want to get out of it in a safe and
predictable way.
•
The user is more likely to explore an artifact if they are assured that they can easily get out of an undesired state or
space; that assurance engenders a feeling of security.
•
Backtracking out of a long navigation path can be very tedious.
Solution: Provide a way to go back to a checkpoint of the user's choice. That checkpoint may be a home page, a saved
file or state, the logical beginning of a section of narrative or a set of steps. Ideally, it could be whatever state or space a
user chooses to declare as a checkpoint.
45
Resulting Context: Go Back One Step is a natural adjunct to this pattern, and is often found along with it. For nonNarrative use, Interaction History is useful too, almost to the point of making Go Back to a Safe Place unnecessary: it may
actually help a "lost" user figure out where they are, for instance, or remind an interrupted user of where they are and what
they've done.
Daniela Fogli – Interazione Uomo-Macchina
46
L’evoluzione dei design pattern
di Tidwell
Go Back One Step
Examples:
•
The "Back" button on a Web browser
•
The "Back" button on a wizard
•
Turning back a page in a physical book or magazine
•
The "Undo" feature on some computer applications
Principio 3. Controllo
dell’utente e libertà
Esempio 2
COMMON GROUND: A Pattern Language for Human-Computer
Interface Design
Context: The artifact allows a user to move through spaces (as in Navigable Spaces), or steps (as in Step-by-Step
Instructions), or a linear Narrative, or discrete states.
Problem: How can the artifact make navigation easy, convenient, and psychologically safe for the user?
http://www.mit.edu/~jtidwell/interaction_patterns.html
Forces:
•
Users tend to explore a navigable artifact in a tree-like fashion, going down paths that look interesting, then back out of
them, then down another path.
•
The user may want to temporarily look back at the previous space or state they were in.
•
If the user gets into a space or a state that they don't want to be in, they will want to get out of it in a safe and predictable
way.
•
The user is more likely to explore an artifact if they are assured that they can easily get out of an undesired state or
space; that assurance engenders a feeling of security.
Una collezione (nota la parola “collezione”!) più recente nel libro
J. Tidwell, Designing Interfaces – Patterns for Effective Interaction
Design, O’Reilly, 2005.
http://designinginterfaces.com/firstedition/
Solution: Provide a way to step backwards to the previous space or state. If possible, let the user step backwards
multiple times in a row, thus allowing them to backtrack as far as they want.
Nel 2010 è uscita la seconda edizione del libro (ma i design
pattern non sono tutti disponibili in rete)
Resulting Context: Having a "back" function implies having a "forward" function; it's more of a convenience than a distinct
pattern, but Web browsers have set up this expectation, so your users may be unpleasantly surprised if it's not there. Also, Go
Back to a Safe Place is a logical pattern to use inDaniela
addition
to –this
one.
Fogli
Interazione
Uomo-Macchina
http://designinginterfaces.com/
47
Daniela Fogli – Interazione Uomo-Macchina
48
La struttura dei design pattern
della versioni 2005 e 2010
Classificazione dei design pattern della
versioni 2005 e 2010
Ogni pattern è costituito (oltre che dal nome e da
un’illustrazione che mostra un esempio d’uso) da:
Organizing the Content
Getting Around
What: breve descrizione della soluzione
Use when: presenta i casi in cui va bene applicare il pattern
Why: descrive le ragioni per cui è bene applicare tale pattern
How: spiega la soluzione in dettaglio, con eventuale cenno
alle forze che spingono il progettista in diverse direzioni e
riferimenti ad altri pattern
Examples: mostra esempi da interfacce note
Organizing the Page
categorie dell’
edizione 2005
Commands and Actions
Showing Complex Data
Getting Input from Users
Builders and Editors
Making It Look Good
Using Social Media
Going Mobile
categorie aggiunte
nell’edizione 2010
Daniela Fogli – Interazione Uomo-Macchina
Daniela Fogli – Interazione Uomo-Macchina
49
Un confronto
50
Suggerimenti per il vostro progetto
La struttura dei pattern del 1999 è più simile a quella suggerita
da Alexander
Con riferimento ai prototipi realizzati per la ri-progettazione
dell’applicazione indicare i design pattern che si intendono
adottare (utilizzare la collezione che si preferisce)
I design pattern di HCI proposti da Tidwell nel 1999 sembrano
più generali e meno legati al look-and-feel delle interfacce, ai
widget e ai componenti che i linguaggi di programmazione
mettono a disposizione
l’autrice afferma che i design pattern di HCI del libro funzionano per
applicazioni desktop, siti web, applicazioni web, e altri strumenti come
palmari, cellulari, registratori digitali… vero, ma molte soluzioni di
progetto appaiono slegate fra loro, basate sui componenti oggi
disponibili nei sistemi di sviluppo, meno generali
I pattern (soprattutto quelli dalla seconda versione in poi) non
costituiscono un linguaggio
da [Galvani, Gelfi, Vido, 2007]
Daniela Fogli – Interazione Uomo-Macchina
51
Daniela Fogli – Interazione Uomo-Macchina
52