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
© Copyright 2024 ExpyDoc