---
# System prepended metadata

title: Interazione Uomo-Macchina

---

# Interazione Uomo-Macchina

Questa disciplina si occupa della progettazione, valutazione e implementazione di sistemi di calcolo interattivo per uso umano e dello studio dei principali fenomeni che li circondano. 


Gli obiettivi di questo corso sono:
- Studiare i modelli, gli stili e i paradigmi dell'interazione
- Imparare a sviluppare prodotti usabili
- Imparare a coinvolgere gli utenti nel processo di design
- Apprendere tecniche di valutazione dell'usabilità di applicazioni interattive

![Screenshot 2024-04-15 171826](https://hackmd.io/_uploads/S1WUHpqlC.png)

---

## Le Interfacce Utente (LEZIONE 2)

Per realizzare una interfaccia utente funzionale bisogna rispettare una serie di obiettivi tratti dall'_analisi dei requisiti_.

- **Stabilire le necessità dell'utente**
    - Definire quali task devono essere eseguiti
    - Le funzionalità devono riflettere le necessità altrimenti gli utenti rifiuteranno il prodotto. 
- **Assicurare affidabilità, disponibilità, sicurezza e integrità**
    - Le azioni devono funzionare come specificato
    - I dati visualizzati devono riflettere la realtà
    - Il sistema non dovrebbe introdurre errori
    - Assicurare la privacy dell'utente
- **Promuovere la standardizzazione, l'integrazione, la consistenza e la portabilità**
    - _Standardizzazione:_ usare standard industriali pre-esistenti
    - _Integrazione:_ il prodotto dovrebbe essere eseguito all'interno di diversi strumenti e pacchetti.
    - _Consistenza:_ compatibilità fra le versioni, uso comune di sequenze, azioni, termini, colori, ecc.
    - _Portabilità:_ consentire all'utente di convertire dati tra diversi ambienti software e hardware. 

### Obiettivi della programmazione dell'interfaccia sistema-utente

Il primo passo è quello di definire la comunità utente 'target' associata all'interfaccia. Non dimentichiamoci però che le comunità evolvolo e cambiano. Ci sono 5 fattori fondamentali di cui tener traccia nella valutazione della comunità:

- Tempo di apprendimento
- Velocità di esecuzione
- Quantità di errori da parte degli utenti
- Ritenzione di tempo
- Soddisfazione soggettiva

### Requisiti di usabilità

L'usabilità richiede un'attenta cura dell'analisi dei requisiti, in relazione alla comunità target di utenti e al contesto in cui il sistema dovrà essere utilizzato, con un testing che miri ad avere obiettivi ben definiti.

L'usabilità è molto importante poichè, interfacce progettate male, portano l'utente ad abbandonare la piattaforma. 

**_NOTA: vedere le slide per una comprensione maggiore dei vari ambiti di applicazione https://elearning.informatica.unisa.it/el-platform/pluginfile.php/91287/mod_resource/content/1/Lezione2IUM.pdf_**

### Obiettivi della nostra professione

Tra i punti fondamentali troviamo sicuramento quello di aumentare la conoscienza del potenziale della IT nella gente comune. 
- Molti utenti novizi sono intimoriti a causa dell'esperienza con design di scarsa qualità
- Un buon deisgn aiuta i novizi ad apprendere più velocemente

Un altro punto molto importante riguarda la fornitura di strumenti, tecniche e conoscenza per gli implementatori di sistema
- La prototipizzazione è facile quando si usano strumenti moderni
- Usare documenti di linee guia automatici scritti per un pubblico specifico
- Per raffinare i sistemi, usare il feedback degli utenti

---
## Considerazioni Cognitive
### Modelli mentali

I modelli mentali sono le strutture di pensiero che le persone usano per comprendere il mondo che le circonda, interpretare informazioni e prendere decisioni. Sono sorta di "lenti" attraverso le quali osserviamo e interpretiamo la realtà. Essi consentono alle persone di fare previsioni su come funzioneranno le cose. 

#### Ciclo di Norman
Il "ciclo di Norman" è un modello che descrive il processo attraverso il quale le azioni umane interagiscono con i sistemi tecnologici. Questo modello è stato proposto da Donald Norman, uno psicologo cognitivo e designer, nel suo libro del 1986 "The Design of Everyday Things".
Il ciclo di Norman si basa sul concetto di azione umana, essa ha due aspetti:

- Esecuzione
    - Obiettivo
    - Intenzione
    - Sequenza di azioni
- Valutazione
    - Percepisce il mondo
    - Interpretà ciò che ha percepito
    - Confronta con le intenzioni di partenza

Alcuni sistemi sono più difficili da usare di altri, per misurare in un certo qual modo questa difficoltà utilizziamo:

- **Golfo dell'esecuzione:** la formulazione delle azioni da parte dell'utente può essere diversa dalle azioni permesse dal sistema.
- **Golfo della valutazione:** le aspettative dell'utente relativamente allo stato del sistema modificato possono differire dalla reale presentazione di questo stato. 

Il golfo dell'esecuzione quantifica il grado con cui il sistema risponde alle azioni dell'utente mentre il golfo della valutazione quantifica lo sforzo richiesto a una persona per interpretare lo stato fisico del sistema. 

---
## Stili e paradigmi di interazine (LEZIONE 3)

L'**ergonomia** nell'ambito della Human-Computer Interaction (HCI) si riferisce alla progettazione di sistemi informatici e interfacce utente in modo da adattarsi alle capacità e ai bisogni umani. Questo campo mira a creare interfacce che siano ergonomiche, ovvero facili e confortevoli da utilizzare, riducendo al minimo lo sforzo richiesto e massimizzando l'efficienza e la sicurezza dell'interazione.

L'ergonomia considera cose quali:

- Disposizione dei controlli e dei display
- L'ambiente circostante
- Questioni di salute
- L'uso dei colori

L'ergonomia è utile per definire degli standard e delle linee guida per la progettazione di alcuni aspetti del sistema. 

La **cognetica** considera la variabilità cognitiva degli esseri umani dal punto di vista statistico, come l'ergonomia per la variabilità fisica. E' una visione pragmatica ed empirica di ciò che la mente può fare e non può fare e delle circostanze che aumentano la probabilità di commettere errori.

### Inconscio cognitivo
I processi mentali inconsci sono quelli si compione senza che noi ne siamo consapevoli. Definiamo inconscio cognitivo il luogo della mente da cui possiamo recuperare all'occorrenza informazioni che vi giacevano inutilizzate. Uno stimolo può far si che un'informazione della nostra memoria passi dall'inconscio al conscio cognitivo.

#### Fuco dell'attenzione
Rappresenta ciò a cui stiamo pensando attivamente e consciamente. Le percezioni non diventano automaticamente ricordi, se vogliamo dare un'informazione all'utente, questa deve rimanere visibile per tutto il tempo necessario. Se l'attenzione dell'utente è fissa su qualcosa, possiamo apportare cambiamenti ad altre parti del sistema sapendo che ciò non arrecherà disturbo. Maggiore è il coinvolgimento dell'utente, maggiore è la difficoltà a cambiare fuoco dell'attenzione. 

### Gli stili di interazione 
L'interazione può essere vista come un dialogo fra il computer e l'utente. Alcune applicazioni hanno tipi di interazione molto diversi. Possiamo identificarne alcuni:

- **Interfaccia a linee di comando**: Questo stile di interazione richiede all'utente di inserire comandi di testo direttamente tramite una riga di comando. È spesso utilizzato in sistemi operativi e software di programmazione, dove gli utenti esperti possono beneficiare della velocità e della precisione offerte da questa modalità di input.
- **Menu**: Le interfacce basate su menu presentano una serie di opzioni organizzate in modo gerarchico o categorico. Gli utenti possono navigare tra le opzioni selezionando gli elementi desiderati da una lista. Questo stile di interazione è comune in molte applicazioni desktop e web, consentendo agli utenti di esplorare le funzionalità disponibili in modo strutturato.
- **Linguaggio naturale**: Le interfacce basate su linguaggio naturale consentono agli utenti di interagire con il computer utilizzando frasi e comandi simili a quelli che userebbero in una conversazione con un essere umano. Questo stile di interazione può richiedere tecnologie avanzate di elaborazione del linguaggio naturale per interpretare correttamente le richieste degli utenti.
- **Dialogo question/answer and query**: Questo stile di interazione coinvolge una serie di domande poste dal computer all'utente per raccogliere informazioni o guidarlo attraverso un processo decisionale. È spesso utilizzato in applicazioni di assistenza virtuale o in processi di compilazione di moduli online.
- **Form-fill e spreadsheets**: Questi stili di interazione si basano su moduli di input strutturati, in cui gli utenti inseriscono dati in campi specifici o cellule di una tabella. Le interfacce di form-fill sono comuni in applicazioni web e software per la gestione dei dati, mentre i fogli elettronici consentono agli utenti di organizzare e manipolare dati in un formato tabellare.
- **WIMP** (Windows, Icons, Menus, Pointers): Questo stile di interazione è caratterizzato da finestre, icone, menu e puntatori (come il mouse). È il paradigma dominante nelle interfacce grafiche utente (GUI) dei sistemi operativi moderni e di molte applicazioni software, consentendo agli utenti di interagire con il computer attraverso manipolazioni visive degli elementi sullo schermo.

### Paradigmi e principi di usabilità
Progettare al fine dell'usabilità massima è l'obiettivo della progettazione. 

_Domande:_
- Come può essere sviluppato un sistema interattivo così da assicurare l'usabilità?
- Come può essere dimostrata o misurata l'usabilità?

_Approcci:_
- Paradigmi per l'usabilità
- Principi di usabilità

#### Paradigmi per l'usabilità - Sistemi a finestre
Gli uomini possono portare avanti più di un lavoro alla volta, le finestre vengono partizionate per cambiare argomento quando si vuole. Icone, menu e puntatori, sono comuni meccanismi di interazione con questo sistema.

#### Paradigmi per l'usabilità - Le metafore
Mettere la computazione in relazione con altre attività del mondo reale è una tecnica di insegnamento effettiva. In questi sistemi, l'interfaccia è progettata in modo da essere simile a un'entità fisica ma ha anche delle caratteristiche proprie. Essa può basarsi su attività, su oggettio o su una combinazione di entrambi. Fa comparire l'essenza delle attività con cui gli utenti hanno familiarità.

#### Paradigmi per l'usabilità - Manipolazione diretta

Il paradigma della manipolazione diretta è un approccio nell'ambito dell'usabilità e del design delle interfacce utente che mira a rendere l'interazione con il sistema il più naturale e intuitiva possibile, consentendo agli utenti di manipolare direttamente gli oggetti digitali sullo schermo attraverso azioni fisiche come clic del mouse, trascinamenti e rilasciamenti.

#### Paradigmi per l'usabilità - Ipertesti

Il paradigma degli ipertesti è un approccio nell'ambito dell'usabilità e del design delle interfacce utente che si concentra sulla creazione di sistemi di navigazione non lineari, in cui gli utenti possono esplorare informazioni e risorse digitali collegando insieme documenti, pagine web o altre risorse attraverso collegamenti ipertestuali.

#### Paradigmi per l'usabilità - World Wide Web

Offre un'interfaccia prevalentemente grafica e facile da usare, nascondendo la complessità sottostante di protocolli di trasmissione.

#### Paradigmi per l'usabilità - Computer Supported Cooperative Work

Il CSCW si occupa dello studio e della progettazione di tecnologie informatiche che facilitano la collaborazione tra persone, consentendo loro di lavorare insieme, anche se distanti geograficamente o appartenenti a organizzazioni diverse.
 
#### Paradigmi per l'usabilità - Multimodalità

Le interfacce multimodali combinano molto modalità di input simultanee e possono rappresentare le informazioni usando una rappresentazione di molte modalità di output diverse. 

Abbiamo due prospettive:

- **Human centered**: comune in psicologia, spesso considera i canali di input umani, cioè modalità di output del computer. 
- **System centered:** comune in informatica, un modo per rendere i computer più adattabili.

Quando parliamo di multimodalità, possiamo parlare di due diversi paradigmi:

1. Il computer come strumento
    - In questo paradigma, le multiple modalità di input sono utilizzate per migliorare il modo in cui l'utente manipola direttamente il sistema. Il computer è visto come uno strumento passivo che cerca di comprendere l'utente attraverso tutte le modalità di input disponibili. L'utente è sempre responsabile dell'iniziativa nelle operazioni e segue i principi della manipolazione diretta, come descritto da Shneiderman negli anni '80.

2. Il computer come un partner di dialogo

    - In questo paradigma, le modalità multiple sono utilizzate per aumentare l'antropomorfismo nell'interfaccia utente, rendendo il computer più simile a un partner di dialogo. L'output multimodale è importante, con l'utilizzo di elementi "human-like" come teste parlanti e altre modalità che imitano il comportamento umano. Il riconoscimento del parlato è una modalità di input comune in questi sistemi, che spesso adottano un'interfaccia utente basata su agenti di tipo conversazionale.

### Nuovi paradigmi
#### Ubiquitous Computing

L'Ubiquitous Computing, o "computazione ubiqua", è un paradigma informatico proposto da Mark Weiser alla fine degli anni '80 presso il Palo Alto Research Center (PARC). L'idea fondamentale è che la tecnologia dovrebbe essere così integrata nella nostra vita quotidiana da diventare invisibile, operando in modo trasparente per migliorare le nostre attività senza richiedere la nostra attenzione diretta.

Questo concetto si basa sull'idea di un ambiente pervasivo di dispositivi informatici intelligenti, distribuiti in modo diffuso e invisibili agli utenti. Invece di interagire con dispositivi specifici, gli utenti possono accedere ai servizi e alle informazioni ovunque e in qualsiasi momento, attraverso una varietà di dispositivi e interfacce.

Un esempio classico di paradigma di Ubiquitous Computing è quello dei dispositivi indossabili, come gli smartwatch o i fitness tracker. Questi dispositivi integrano una varietà di sensori, come accelerometri, giroscopi, sensori di frequenza cardiaca e GPS, per monitorare le attività fisiche, la salute e il benessere degli utenti.

### L’uso dell'antropomorfismo nell' Interaction Design

Colore, icone, elementi grafici e animazioni sono usate per rendere attraente il look di un'interfaccia, essi comportanto un vero e proprio _stato emotivo._ Ciò può influire sull'usabilità. Le persone tendono ad accettare alcuni aspetti di una interfaccia, se il risultato finale è attraente. 

#### Espressività creata dagli utenti

Gli utenti hanno creato le emoticon per sopperire alla mancanza di espressività nella comunicazione testuale. 

Un altro tipo di interfaccia espressiva è l'agente di interfaccia amichevole. Tuttavia molti utenti non amano ciò. 

#### Antropomorfismo 
Attribuire qualità 'umane' a cose inanimate. Molto sfruttato nell'interazione uomo-macchina.

E' stato dimostrato che i computer che adulano e si complimentano con l'utente nei programmi per l'education, hanno un impatto positivo su di loro. Tuttavia bisogna essere cauti con l'utilizzo di questa tecnica, poichè potremmo creare ansia nell'utente. 

---

## Le personas (LEZIONE 4)

Una delle fasi fondamentali della progettazione è l'identificazione di un cast di personaggi rispetto ai quali testare concetti e design. Un personaggio si stabilisce definendo:

- Una mini-biografia di un utente fittizio.
- Informazioni precise sul personaggio e descrizione dei suoi obiettivi e motivazioni.

La definizione delle personas incoraggia il team a mettersi nei passni del cliente finale e a comprendere le sue motivazioni come persona.

### Il processo di definizione dei personaggi

- Identificare il range dei possibili utenti.
- Restringere la lista assicurandosi di interagire con tutta la gamma di potenziali utente. 
- Definire i personaggi, dando loro 'vita'.
- Definire gli obiettivi di ciascun personaggio:
    - Obiettivi di esperienza
    - Obiettivi finali
    - Obiettivi collegiali 
    - Obiettivi pratici
    - Falsi obiettivi

### Sorgenti per raccolta dati

#### Le informazioni da reperire

Il tipo di informazioni da raccogliere è un fattore rilevante per determinare come strutturare l'intervista o come formulare le domande. 

**Identificare i bisogni degli utenti:** ossia capire quale obiettivo vogliono perseguire attraverso l'applicazione che si vuole sviluppare.

**Identificare il loro modello di comportamente:** ossia capire quali azioni eseguono per realizzare i loro goal, quali sono le loro priorità e quali difficoltà incontrano.

#### Chi intervistare?

Gli utenti da intervistare sono gli **utenti finali del prodotto**, se lo scopo dell'intervista è determinare il modello di comportamento dell'utente. Le interviste possono essere *singole* o di *gruppo*. Il luogo delle interviste dovrebbe essere l'*ambiente di lavoro dell'utente*.

#### Raccolta di informazioni

Metodi appropriati per reperire informazioni utili in diverse fasi di sviluppo di un'applicazione. In questa fase si identificano:

- I modelli comportamentali degli utenti
- Le opinioni degli utenti su prodotti già esistenti
- Aspettative degli utenti sul prodotto che deve essere sviluppato
- Verificare il grado di soddisfazione degli utenti riguardo le varie versioni del sistema

Questo è un ottimo punto per iniziare la raccolta dei requisiti del sistema da sviluppare.

## Analisi dei requisiti utente (Lezione 5)

### Metodi di raccolta dei dati

- **Interviste e focus groups:** adeguate per esplorare questioni in profondità con un basso numero di soggetti.
- **Questionary e survey:** adeguati per raccogliere dati da un elevato numero di soggetti che rispondono.
- **Formulazione di domande**

### Metodi basati su osservazioni

- **Log di sistema:** attività di registrazione dettagliata ma spesso difficile da interpretare.
- **Registrazioni video**
- **Protocollo verbale:** svolto con un piccolo numero di utenti, aiuta a capire le osservazioni e i log di sistema.

### Studi pilota

Il loro scopo è quello di testare ogni approccio di raccolta dati con un piccolo numero di utenti potenziali e revisionare eventualmente i dati raccolti.

### Analisi dei compiti

**Obiettivo:** uno stato auspicato del mondo che l'utente vuole ottenere.

**Compito(*task*):** un'attività intrapresa da una persona per perseguire un obiettivo usando un particolare dispositivo.

**Dominio:** contesto in cui viene eseguito il task.

I task possono essere fisici e mentali, i primi riguardano la conoscenza di un insieme appropriato di azioni o comportamenti fisici; gli altri riguardano la conoscenza di un insieme appropriato di azioni o comportamenti mentali.

Per definire le competenze che ogni utente deve avere per eseguire un task, vengono elencati tutti gli oggetti e le azioni coinvolte nel task, per ogni azione, si specifica che conoscenza l'utente debba avere e il tutto si raggruppa in uno schema. Questo compito è fondamentale per evitare incompatibilità fra il modello mentale dell'utente e la rappresentazione data dal pc.

In genere gli utenti **NON** sono esperti nei task del mondo reale.

E' fondamentale concetrare lo sviluppo sugli obiettivi anziché sui task dell'utente.

## Situation awareness (Lezione 6)

La consapevolezza situazionale (SA), in italiano "conoscenza situazionale", è la capacità di percepire, comprendere e rispondere efficacemente a ciò che ci circonda. Si tratta di un processo dinamico e continuo che richiede di:

- Raccogliere informazioni da molteplici fonti, come i nostri sensi, le nostre esperienze passate e le comunicazioni esterne.
- Analizzare e interpretare queste informazioni per comprenderne il significato e le implicazioni.
- Prevedere come la situazione potrebbe evolversi nel tempo.
- Prendere decisioni e intraprendere azioni appropriate in base alla nostra comprensione della situazione.

### Schemi e modelli mentali

Nell'ambito dell'HCI, gli schemi e i modelli mentali svolgono un ruolo fondamentale nella comprensione e nella progettazione di interfacce utente efficaci.expand_more

#### Schema mentale:

Uno schema mentale è una rappresentazione cognitiva di come funziona un sistema o di come si svolge un'attività. Si forma attraverso l'esperienza e la conoscenza pregressa, e ci permette di interpretare e anticipare il comportamento di un sistema.expand_more

#### Modello mentale:

Un modello mentale è una rappresentazione astratta di come funziona un sistema o di come si svolge un'attività. È più complesso di uno schema mentale e include anche le nostre aspettative su come il sistema dovrebbe funzionare e su come dovremmo poterlo utilizzare.

#### Importanza nell'HCI:

- Usabilità: Gli schemi e i modelli mentali degli utenti influenzano direttamente la loro capacità di utilizzare un'interfaccia utente. Se l'interfaccia non è coerente con gli schemi mentali degli utenti, questi potrebbero avere difficoltà a comprenderla e ad utilizzarla in modo efficace.
- Apprendimento: Gli utenti imparano a utilizzare un sistema più velocemente e facilmente se l'interfaccia è coerente con i loro schemi mentali esistenti.exclamation
- Soddisfazione: Un'interfaccia utente che rispecchia gli schemi mentali degli utenti tende ad essere più soddisfacente e piacevole da utilizzare.

### Demons

I "demons" derivano da limiti cognitivi umani e possono manifestarsi in vari modi, come:

- Errori di percezione: L'incapacità di percepire correttamente gli elementi dell'interfaccia, come icone o testo.
- Errori di interpretazione: L'incapacità di comprendere correttamente il significato degli elementi dell'interfaccia o delle azioni disponibili.
- Errori di memoria: L'incapacità di ricordare informazioni precedentemente acquisite, come istruzioni o sequenze di passaggi.
- Errori di pianificazione: L'incapacità di pianificare correttamente il proprio percorso attraverso l'interfaccia per raggiungere un obiettivo.
- Errori di esecuzione: L'incapacità di eseguire correttamente le azioni desiderate, ad esempio a causa di problemi di coordinamento motorio o di difficoltà con i dispositivi di input.
- La comprensione dei "demons" cognitivi può essere utile ai designer HCI per identificare potenziali problemi di usabilità e progettare interfacce che siano più adatte alle capacità e ai limiti cognitivi degli utenti.

In generale, l'utilizzo del termine "demons" nell'HCI serve a sottolineare l'importanza di considerare i fattori umani nel design di sistemi e interfacce. Riconoscendo e affrontando i "demons", i designer possono creare esperienze utente più positive, efficienti e soddisfacenti.

## Regole di design - I principi (Lezione 7)

Regole il cui scopo è quello di ottenere la massima usabilità.

**Principi di usabilità**

**Standard e linee guida**

**Design pattern**

### Principi di usabilità

I principi di usabilità sono un mezzo più generale per comprendere l'usabilità, essi sono guidati teoricamente da conoscenza psicologica, computazionale e sociologica.

#### Principi di ausilio all'usabilità

**Capacità di apprendimento:** facilità con cui i nuovi utenti possono iniziare un'interazione effettiva e ottenere le massime prestazioni.

**Flessibilità:** molteplicità di modi in cui l'utente e il sistema scambiano informazioni.

**Robustezza:** il livello di sostegno fornito all'utente nel determinare un comportamento di successo rispetto ai suoi goal.

### Gli standard

Stabiliti da organismi nazionali o internazionali per assicurare la conformità da parte di una vasta comunità di progettisti. In particolare lo standard *ISO 9241* definisce l'usabilità come efficacia, efficienza e soddisfazione con cui determinati utenti eseguono compiti in un determinato contesto d'uso.

**Usabilità:** *misura in cui un prodotto può essere utilizzato da determinati utenti per raggiungere determinati obiettivi con efficacia, efficienza e soddisfazione in un determinato contesto di utilizzo.*

### Linee guida
 
Per quanto riguarda le linee guida, numerose sono le euristiche sulle quali ci si può basare, fra queste: 

- 10 euristiche di Nielsen
- 8 regole d'oro di Shneiderman
- 7 principi di Norman

#### Regole d'oro di Shneiderman

1. **Coerenza:** sequenze di operazioni simili dovrebbero essere effettuate sempre con lo stesso tipo di azioni. Usare stesse convenzioni, stili, comandi, ecc.
2. **Snellimenti:** Ridurre il numero di interazioni e aumentare la velocità.
3. **Feedback informativo:** ad ogni azione dell'utente dovrebbe corrispondere un feedback del sistema, mostrare semplicemente i cambiamenti.
4. **Chiusura:** organizzare le sequenze di azioni in gruppi, prevedendo feedback informativo alla fine di ciascun gruppo di azioni.
5. **Errori:** progettare l'interfaccia in modo che sia quanto più difficile effettuare errori, in presenza di un errore, il sistema dovrebbe riconoscerlo e offrire soluzioni chiare.
6. **Reversibilità:** Rendere le azioni reversibili il più possibile.
7. **Controllo:** dare all'utente esperto la sensazione di essere il responsabile del sistema, che non fa altro che rispondere alle sue azioni. Evitare reazioni sorprendenti, sequenze di azioni ripetitive, ecc.
8. **Memoria:** la memoria umana di breve termine può elaborare un limitato numero di informazioni (7+-2). Mantenere il display semplice, ridurre la frequenza di spostamenti di finestre.

### Alcuni dei 7 principi di Norman

1. Bisogna usare sia la conoscenza presente nel mondo sia la conoscenza mentale.
2. Si deve semplificare la struttura dei compiti.
3. Si rendano le cose visibili: bisogna gettare un ponte sul golfo dell'esecuzione e sul golfo della valutazione. 
4. I vincoli sono *chiarificatori* poiché chiariscono cosa si può fare.

## Empowerment – Potenziamento personale (Lezione 8)

L'obiettivo principale della lezione è insegnare agli studenti un metodo strutturato per analizzare e migliorare l'esperienza degli utenti in modo che possano sentirsi più capaci e autonomi nelle loro attività.

La metodologia inizia con l'associare ciascun compito a categorie comportamentali specifiche, come l'auto-efficacia, la conoscenza e le abilità, il controllo personale e la motivazione. Queste categorie aiutano a comprendere quali aspetti del comportamento umano sono influenzati durante l'esecuzione di un compito.

Una volta identificate le categorie rilevanti, si passa a determinare quali abilità sono influenzate da ciascuna di queste categorie. Per esempio, nel contesto di migliorare l'adesione alle cure mediche per pazienti cronici, si potrebbe considerare come le capacità decisionali, l'auto-gestione e l'engagement (coinvolgimento) influiscano sull'adesione a un piano terapeutico.

Il passo successivo è costruire un questionario che permetta di valutare gli indicatori di queste abilità per ciascun compito. Le domande del questionario sono progettate per misurare aspetti come la capacità di prendere decisioni informate, la gestione autonoma dei trattamenti, e il livello di motivazione e coinvolgimento degli utenti. Per ogni domanda, viene utilizzata una scala di valutazione da 1 a 5, dove 1 rappresenta un livello scarso e 5 un livello eccellente. È inoltre consigliato includere domande a risposta aperta per catturare eventuali bisogni o preoccupazioni non considerati nelle domande chiuse.

I dati raccolti dai questionari vengono poi analizzati calcolando la media delle risposte per ciascun indicatore di abilità. Questi risultati aiutano a identificare le aree in cui gli utenti percepiscono un basso livello di empowerment. Gli obiettivi di empowerment, evidenziati dai valori medi inferiori a 3, rappresentano le aree su cui concentrarsi per migliorare l'esperienza utente.

## Prototipazione e Desing (Lezione 9)

La lezione si concentra su vari aspetti della creazione e valutazione di prototipi, sottolineando l'importanza di coinvolgere gli utenti finali nel processo di design per garantire un prodotto che risponda efficacemente alle loro esigenze.

#### Prototipi
I prototipi sono descritti come specifiche o implementazioni parziali di un sistema, utili per esplorare e decidere le alternative di progettazione. Questi prototipi possono simulare alcune caratteristiche del sistema per ottenere un rapido feedback e sperimentare design alternativi, eliminando i problemi prima della scrittura del codice. La prototipazione è fondamentale per mantenere il design centrato sull'utente.

#### Sviluppo Iterativo e Approccio Partecipativo
Il documento enfatizza lo sviluppo iterativo e il design partecipativo, coinvolgendo gli utenti sin dall'inizio. Questo approccio aiuta a stabilire un processo di ingegnerizzazione del software che supporta uno sviluppo e una consegna incrementali, facilitando la condivisione di punti di vista tra utenti e sviluppatori.

#### Tipi di Prototipi
Sono presentati diversi tipi di prototipi:

- Throw-away: creati per esplorare idee e poi scartati.
- Incrementale: costruiti e migliorati progressivamente.
- Evolutivo: continuamente raffinati fino a diventare il prodotto finale.

#### Dettagli dei Prototipi
I prototipi possono variare nel livello di dettaglio, da mock-up semplici senza funzionalità a prototipi funzionali e sistemi pilota con funzionalità limitate. Sono costruiti con diversi strumenti come PowerPoint, Balsamiq, HTML, e Visual Studio.

#### Tecniche di Prototipazione
Le tecniche descritte includono:

- Paper Sketches: schizzi su carta che supportano il brainstorming e non richiedono abilità tecniche specifiche.
- Paper Mock-ups: modelli cartacei che mostrano sequenze di schermate, utili per verificare idee con gli utenti.
- Storyboarding: rappresentazioni grafiche di schermate chiave in sequenza, accompagnate da testo descrittivo.
- Scenari: narrazioni che illustrano le attività degli utenti nel sistema.
- Flowcharts: diagrammi che mostrano la struttura e la sequenza delle schermate.
- Simulazioni di Funzionalità Limitate: mock-up cartacei automatizzati su computer per testare sequenze di interazione.
- Low-Fidelity (Lo-Fi) vs High-Fidelity (Hi-Fi) Prototyping

Il documento confronta prototipi a bassa fedeltà (Lo-Fi) e alta fedeltà (Hi-Fi). I prototipi Lo-Fi sono rapidi da costruire, consentono di esplorare molte alternative e non richiedono competenze tecniche avanzate. I prototipi Hi-Fi, invece, sono più dettagliati, completamente interattivi e utili per test di usabilità e marketing, ma richiedono più risorse e tempo per essere sviluppati.

#### Tecnica del Mago di Oz
Questa tecnica prevede che un designer simuli le risposte del sistema durante i test utente, consentendo di valutare come gli utenti interagirebbero con il sistema completo senza dover implementare tutte le funzionalità in anticipo.


## Dal design concettuale a quello concreto (Lezione 10)

La lezione si concentra sui compromessi nella prototipazione, sullo sviluppo di modelli concettuali e sull'importanza di considerare le emozioni degli utenti attraverso strumenti come le mood board.

### Compromessi nella Prototipazione
La prototipazione implica sempre compromessi tra robustezza e modificabilità. I prototipi orizzontali offrono una vasta gamma di funzioni con pochi dettagli, mentre quelli verticali forniscono molti dettagli per poche funzioni specifiche. È fondamentale riconoscere questi compromessi e ingegnerizzare il prodotto di conseguenza.

### Design Concettuale
Il design concettuale consiste nel trasformare i requisiti degli utenti in un modello concettuale, che rappresenta ciò che gli utenti possono fare con il prodotto e quali concetti sono necessari per interagire con esso. Le mood board vengono utilizzate per catturare la sensazione e le emozioni degli utenti rispetto al prodotto. 

### Mood Board
Le mood board sono raccolte di risorse che comunicano lo stile, la voce e la direzione di un design o progetto, immaginando come dovrà sentirsi l'utente quando utilizza il prodotto. Ad esempio, una mood board per un prodotto di sicurezza personale potrebbe includere immagini che evocano sensazioni di protezione e sicurezza.

### Metafore e Analoghe
Le metafore e le analogie sono strumenti utili per comunicare agli utenti come comprendere e usare un prodotto. La scelta della metafora giusta coinvolge la comprensione della funzionalità del prodotto, l'identificazione delle aree problematiche e la generazione di metafore che siano facilmente comprensibili e rilevanti per il problema da risolvere.

### Esempi di Metafore
Un esempio pratico è un'app per l'organizzazione dei viaggi che utilizza la metafora del ristorante per rappresentare le scelte di vacanza. Questa metafora è facile da comprendere e rappresentare, poiché la scelta di una vacanza è simile alla scelta di un pasto in un ristorante, con menu per adulti e bambini che presentano foto e descrizioni dettagliate delle opzioni disponibili.

### Tipi di Interazione
Il documento esplora diversi tipi di interazione, come dare istruzioni, conversare, manipolare, esplorare e rispondere. Ogni tipo di interfaccia suggerisce idee differenti per l'interazione utente, come interfacce tangibili, realtà aumentata e interfacce condivise.

### Espansione del Modello Concettuale
La lezione discute anche l'espansione del modello concettuale iniziale, considerando quali funzioni eseguirà il prodotto, come sono correlate tra loro, e quali informazioni sono necessarie per svolgere le attività. Questi aspetti sono cruciali per creare un design coerente e funzionale.

### Uso degli Scenari
Gli scenari vengono utilizzati per esprimere situazioni proposte o immaginate e fungono da base per la progettazione complessiva, script per la valutazione utente dei prototipi, esempi concreti di compiti, e come mezzo di cooperazione tra professionisti di vari settori. Gli storyboard e i prototipi card-based sono generati dagli scenari e dai casi d'uso per esplorare l'esperienza dell'utente.

### Prototipi Hi-Fi e SDK
Il documento descrive anche la costruzione di prototipi ad alta fedeltà (Hi-Fi) utilizzando kit di strumenti come Arduino e SDK (Software Development Kit). Questi strumenti facilitano lo sviluppo di prototipi interattivi e funzionali, rendendo più agevole il passaggio dal design alla costruzione del prodotto finale.

## Progettare l'esperienza utente (Lezione 11)

Progettare l'esperienza utente richiede un approccio olistico che consideri non solo la funzionalità di un sistema ma anche il coinvolgimento emotivo e psicologico dell'utente.

L'esperienza utente va oltre la semplice capacità di usare un sistema; è fondamentale che gli utenti vogliano realmente utilizzarlo. Questo coinvolgimento emotivo si può ottenere esplorando la psicologia dell'esperienza, in particolare il concetto di "flow". In psicologia, il flow rappresenta uno stato di completo assorbimento in un'attività, un momento in cui l'esperienza diventa intrinsecamente gratificante. Le proprietà del flow includono la necessità di un'attività stimolante che richieda abilità, una perfetta combinazione di azione e consapevolezza, obiettivi e feedback chiari, una concentrazione totale sul compito, l'assenza di disagio e una trasformazione della percezione del tempo. Il piacere raggiunge il suo apice quando le capacità dell'individuo sono perfettamente allineate con le sfide presentate dall'attività.

Nella progettazione dell'esperienza utente, l'obiettivo è indurre momenti esperienziali simili al flow attraverso l'uso della tecnologia. Ciò implica creare condizioni in cui gli utenti possano impiegare le proprie abilità, mantenere consapevolezza del contesto, operare senza disagio e percepire una trasformazione del tempo durante l'interazione con il sistema. Questo approccio mira a rendere l'esperienza naturale e piacevole, tanto da far dimenticare agli utenti le competenze necessarie per completare il task.

Secondo lo standard ISO 9241 – Parte 210, l'esperienza utente comprende tutte le emozioni, convinzioni, preferenze, percezioni, risposte fisiche e psicologiche, comportamenti e conquiste dell'utente, prima, durante e dopo l'uso del sistema. Questo concetto include lo stato interiore e fisico dell'utente, risultato di esperienze precedenti, atteggiamenti, abilità, personalità e contesto d'uso.

Un esempio pratico di questo approccio è il progetto "Active Kids", il cui scopo è educare i bambini a uno stile di vita più salutare attraverso il gioco, coinvolgendo anche le loro famiglie. Il progetto prevede diversi punti di contatto: il sito web, che fornisce informazioni, consente la registrazione e funge da piattaforma per la condivisione delle esperienze tra genitori; il dispositivo "Imago", che tiene traccia dei punti e degli oggetti ottenuti dai bambini, con i genitori che possono trasferire punti tramite il cellulare; e la storia, dove il bambino può caricare gli oggetti comprati per il suo personaggio, che riflette le attività svolte incoraggiando ulteriori esercizi e acquisti.

Il processo di progettazione di "Active Kids" ha incluso una fase di brainstorming per identificare i punti di tensione tra bambini, genitori e oggetti. Questo ha permesso di mappare le attività giornaliere e identificare i punti di intervento. Sono stati sviluppati diversi concetti, come un gioco al computer influenzato dal comportamento reale del bambino, attività organizzate che permettono di accumulare punti, e una lavagna magnetica per collegare le attività svolte ai premi guadagnati.

Il testing ha rivelato che il coinvolgimento diretto dei genitori è cruciale per il successo del sistema. I genitori non solo decidono le attività e i premi associati, ma negoziano anche con i bambini per acquisire punti, rendendo il sistema interattivo e collaborativo.

## Information Design (Lezione 12)

Il design dell'informazione è una disciplina fondamentale che si occupa di definire e organizzare gli elementi visuali o multimodali di un'interfaccia utente. Questo include il layout dello schermo, la progettazione delle icone e la selezione del vocabolario, nonché la visione d'insieme o il modello globale dell'informazione. La psicologia gioca un ruolo cruciale in questo processo, guidando i modelli di percezione per assicurare che ciò che gli utenti vedono o sentono abbia senso per loro e li aiuti a perseguire obiettivi significativi. Questo processo è strettamente legato alla progettazione dei task interattivi.

Uno degli obiettivi principali del design dell'informazione è rendere la percezione delle informazioni sull'interfaccia rapida e accurata. Il ciclo esecuzione-valutazione di Norman è fondamentale per comprendere come gli utenti interagiscono con un'interfaccia, organizzando e codificando i dati percettivi nella mente. Gli elementi visuali come linee, forme e colori vengono rapidamente "estratti" senza pensiero conscio, influenzati dalle aspettative. Le unità di basso livello sono poi raggruppate e organizzate in righe, colonne, griglie e figure, permettendo di percepire le relazioni tra i diversi elementi.

I principi della percezione della Gestalt sono fondamentali in questo contesto. Questi principi includono prossimità, somiglianza, chiusura, area, simmetria, continuità e figura-sfondo. Ad esempio, il principio della prossimità suggerisce che elementi vicini tra loro tendono a essere visti come un gruppo, influenzando la navigazione, le gallerie, le liste e l'impaginazione. La somiglianza, invece, suggerisce che elementi che condividono caratteristiche visuali come forma o colore tendono a essere visti come un gruppo, applicabile ai link di navigazione, ai pulsanti e ad altri widget. Il principio della chiusura si riferisce alla tendenza a organizzare gli elementi in figure complete chiuse, mentre quello dell'area si riferisce alla tendenza a raggruppare elementi per creare la più piccola figura possibile.

Il design deve anche considerare i compromessi legati alla percezione. Ogni elemento del display aggiunge complessità al progetto dell'interfaccia. È importante offrire distinzioni visuali senza troppi livelli, poiché troppe variazioni possono rendere difficile distinguere gli indizi visuali, rallentando la percezione. Un design elegante sfrutta la posizione, la ripetizione tematica, schemi di colori a bassa gradazione e spazio bianco piuttosto che linee, riquadri ed etichette per organizzare le informazioni. L'uso di griglie è una raccomandazione standard per l'information design.

Il ciclo di esecuzione e valutazione di Norman prevede il riconoscimento dei risultati della codifica percettiva, come selezionare un'icona, premere un pulsante o editare un campo di testo. Il riconoscimento è un misto di elaborazione "bottom-up" e "top-down", più rapido e accurato quando si riconosce ciò che ci si aspetta. È importante scegliere vocaboli di interfaccia che le persone sono abituate a leggere e a vedere, evitando ambiguità e considerando attentamente l'audience.

Affordance è un altro concetto chiave, riferendosi all'aspetto di un oggetto che suggerisce l'uso che se ne può fare. Sono comuni nel mondo reale e nelle interfacce utente, come maniglie di porte o scrollbar. Devono essere visibili per essere efficaci, ma non devono distrarre l'utente. Il design deve aiutare gli utenti a collegare le informazioni sull'interfaccia con gli obiettivi dei task, facilitando il processo di decisione se continuare, elaborare, rivedere o sostituire l'obiettivo del task corrente.

La consistenza è fondamentale nel design dell'interfaccia, sia interna al sistema, tra diverse schermate e controlli UI, sia esterna, tra diversi sistemi come applicazioni Mac, Windows o web. Promuove un senso di unità e coerenza, facilitando l'apprendimento e l'uso dell'interfaccia.

Le metafore visuali sono strumenti potenti che aiutano il progettista e l'utente a comprendere il task. Tuttavia, è importante non applicare troppo alla lettera la metafora, poiché si rischia di limitare le potenzialità del mezzo computazionale. La progettazione di modelli informativi richiede la scelta di una struttura semplice e coerente, ma allo stesso tempo completa e flessibile. Le gerarchie di menu devono corrispondere agli obiettivi dell'utente e devono essere analizzate attentamente in termini di ampiezza e profondità.

Infine, l'information visualization può beneficiare di display animati, viste a lente di ingrandimento e filtri semantici, che promuovono una migliore percezione e interazione con i data set. 

## Design pattern (Lezione 13)

Nella lezione sui Design Pattern per l'HCI (Human-Computer Interaction), si discute l'importanza dei design pattern come prezioso patrimonio di conoscenze. Un design efficace e flessibile è difficile da ottenere al primo tentativo, ma i progettisti esperti realizzano buoni progetti riutilizzando soluzioni che hanno funzionato in passato. Questa esperienza può essere registrata come design pattern, consentendo di codificare la conoscenza del design. I progettisti esperti non risolvono tutti i problemi da zero, ma utilizzano soluzioni precedenti, cosa che li rende esperti.

Gli artisti visivi, i romanzieri e i giocatori di scacchi utilizzano tutti pattern nel loro lavoro. Le linee guida di design possono essere astratte o concrete, ma spesso non suggeriscono soluzioni specifiche come fanno i pattern. I pattern enfatizzano l'efficacia in un particolare contesto e sono strumenti utili per tradurre i requisiti in soluzioni software specifiche.

La storia dei design pattern risale all'architettura, con l'opera fondamentale di Christopher Alexander che definisce i pattern come regole che mettono in relazione un problema comune con la sua soluzione. Dalla metà degli anni '90, l'idea è stata adottata nell'ingegneria del software. I pattern formano un linguaggio condiviso per costruire e progettare città, quartieri, case, giardini e stanze, e nel campo dell'HCI, consentono ai progettisti di condividere competenze e migliorare il processo di design partecipativo.

Un linguaggio di pattern è un insieme di pattern che riempiono uno spazio di progettazione e sono scelti per completarsi a vicenda. I pattern devono essere organizzati in una struttura logica e intuitiva, aiutando il progettista a passare da un problema all'altro in modo logico. Nell'HCI, i pattern sono utilizzati per catturare l'essenza di una soluzione di successo a un problema di usabilità ricorrente nei sistemi interattivi. La struttura di un pattern HCI include nome, contesto, descrizione del problema, soluzione, esempi e riferimenti ad altri pattern.

Le 12 tesi di Borchers sui design pattern affermano che l'architettura è più vicina all'HCI che all'ingegneria del software e che i pattern HCI devono derivare la loro idea dalla fonte originale, essere leggibili dagli utenti e fornire prove empiriche della loro validità. I pattern possono migliorare la comunicazione nei team di progettazione interdisciplinare e mappare varie fasi del ciclo di vita dell'ingegneria dell'usabilità.

Nella lezione sui Design Pattern per l'HCI (Human-Computer Interaction), vengono presentati diversi design pattern specifici che aiutano a risolvere problemi comuni di usabilità nei sistemi interattivi. Ecco un discorso lineare che include i design pattern discussi:

Nella progettazione dell'interazione uomo-computer, i design pattern sono strumenti fondamentali che permettono di riutilizzare soluzioni collaudate per problemi ricorrenti. I progettisti esperti costruiscono buoni progetti grazie alla conoscenza e all'esperienza pregressa, codificando tali conoscenze in design pattern che possono essere riutilizzati in nuovi contesti. Questo approccio non solo semplifica il processo di design, ma permette di creare interfacce più intuitive e funzionali.

L'idea dei design pattern ha le sue radici nell'architettura, grazie all'opera di Christopher Alexander, che ha identificato pattern come regole che collegano problemi comuni a soluzioni efficaci. A partire dalla metà degli anni '90, questi concetti sono stati adottati nell'ingegneria del software e nell'HCI. I design pattern formano un linguaggio condiviso che permette ai progettisti di scambiarsi conoscenze e migliorare il processo di design partecipativo.

Un linguaggio di pattern è un insieme strutturato di pattern che si completano a vicenda, aiutando il progettista a navigare tra i vari problemi e soluzioni. Nella HCI, i pattern catturano l'essenza di una soluzione di successo per un problema di usabilità ricorrente. Ogni pattern è strutturato in modo da includere nome, contesto, descrizione del problema, soluzione, esempi e riferimenti ad altri pattern, garantendo una comprensione completa e applicabile.

Durante la lezione, vengono presentati diversi design pattern specifici per l'HCI. Ecco una panoramica dei pattern discussi:

1. **Go back to a Safe Place**:
   - **Contesto**: Navigazione complessa.
   - **Problema**: Gli utenti possono sentirsi persi o incerti durante la navigazione.
   - **Soluzione**: Fornire un modo per tornare a un punto di controllo sicuro scelto dall'utente, come una funzione di "home" o "back".

2. **Multi-Level Undo**:
   - **Contesto**: Azioni reversibili in un'interfaccia.
   - **Problema**: Gli utenti possono commettere errori e voler tornare indietro.
   - **Soluzione**: Implementare una funzione di annullamento multi-livello che permetta agli utenti di annullare una sequenza di azioni.

3. **Guided Tour**:
   - **Contesto**: Nuove interfacce o sistemi complessi.
   - **Problema**: Gli utenti potrebbero sentirsi sopraffatti o incerti su come utilizzare il sistema.
   - **Soluzione**: Fornire un tour guidato che spieghi le funzionalità principali e mostri come utilizzare l'interfaccia.

4. **Breadcrumbs**:
   - **Contesto**: Siti web o applicazioni con struttura gerarchica.
   - **Problema**: Gli utenti possono perdersi navigando tra le varie sezioni.
   - **Soluzione**: Utilizzare una navigazione a briciole di pane per mostrare il percorso seguito e permettere di tornare facilmente alle pagine precedenti.

5. **Form with Inline Validation**:
   - **Contesto**: Moduli di input.
   - **Problema**: Gli utenti possono commettere errori durante l'inserimento dei dati.
   - **Soluzione**: Implementare una validazione in linea che fornisca feedback immediato sugli errori.

6. **Progress Indicator**:
   - **Contesto**: Processi a più fasi.
   - **Problema**: Gli utenti potrebbero non sapere quanto tempo o quante fasi restano per completare un processo.
   - **Soluzione**: Fornire un indicatore di progresso che mostri chiaramente lo stato e le fasi rimanenti del processo.

7. **Responsive Disclosure**:
   - **Contesto**: Interfacce complesse con molte opzioni.
   - **Problema**: Gli utenti possono sentirsi sopraffatti da troppe informazioni.
   - **Soluzione**: Utilizzare la divulgazione reattiva per mostrare solo le informazioni rilevanti in base al contesto e alle azioni dell'utente.

## Accessibilità - LEGGERE LE SLIDE 

## La collaborazione (Lezione 14)

## Paradigmi e tecniche di valutazione dell'usabilità (Lezione 15)

La valutazione dell'usabilità ha l'obiettivo di stimare le funzionalità offerte dal sistema, stimare gli effetti dell'interfaccia sull'utente e identificare specifici problemi.

Esistono due stili di valutazione principali:

- Indagini di laboratorio
- Indagini sul campo

### Indagini di laboratorio

Il sistema viene studiato all'interno di un laboratorio, solitamente coinvolge il designer e i valutatori anche se gli utenti possono essere portati all'interno del laboratorio per prendere parte agli studi di valutazione. 

I **vantaggi** di questa modalità sono:

- Disporre di attrezzatura specifica
- Ambiente libero da interruzioni

Gli **svantaggi** invece riguardano:

- Perdita del contesto
- Difficoltà nell'osservare la cooperazione tra diversi utenti

### Indagini sul campo

La valutazione viene effettuata nell'ambiente di lavoro dell'utente per osservare il sistema in azione.

I **vantaggi** di questa modalità sono:

- Ambiente naturale
- Mantenimento del contesto
- Possibilità di studi che durano nel tempo

Gli **svantaggi** riguardano le distrazioni che ci sono in un ambiente così.

### Quanso si esegue la valutazione

La valutazione si esegue in fase di design, prima che sia iniziata la fase di implementazione. In questo modo possono essere evitati grandi sprechi di risorse. Possono essere applicati anche nel processo di sviluppo su prototipi o su una versione completa del sistema.

### 4 approcci alla valutazione del design 

- Cognitive Walkthrough
- Valutazione euristica
- Valutazione basata su revisioni
- Valutazione basata sull'uso di modelli

#### Cognitive Walkthrough

Basato sulla teoria dell'apprendimento esplorativo di Polson. Essa valuta quanto il design supporta l'utente nell'apprendimento dei task. Usualmente è effettuato da esperti in psicologia cognitiva, essi utilizzano i principi psicologici per analizzare il design e identificare potenziali problemi.

Per effettuare il Cognitive Walkthrough bisogna avere: 

1. Descrizione del prototipo del sistema
2. Descrizione di un task rappresentativo che l'utente effettua sul sistema
3. Lista completa delle azioni necessarie per completare il task
4. Indicazione di chi sono gli utenti del prodotto ed il loro tipo di esperienza.

I valutatori seguono il passo per passo la sequenza di azioni descritta e per ogni azione si chiedono:

- L'azione corretta, sarà sufficientemente evidente per l'utente?
- L'utente noterà che è disponibile l'azione corretta?
- L'utente assocerà correttamente la risposta dell'azione?

#### Valutazione euristica

Proposto da Nielsen e Molich, ha lo scopo di verificare se l'interfaccia del prodotto rispeta i principi fondamentali dell'usabilità. Si tratta di un metodo ispettivo che non prevede il coinvolgimento degli utenti finali, ma si basa sul giudizio degli esperti. Per effettuare questo tipo di valutazione, sono identificati i criteri di usabilità, basati su linee guida, il design è esaminato da esperti per vedere se i criteri sono violati. 

In media 5 esperi bastano per rilevare il **75%** dei problemi.

**Vantaggi e svantaggi**

- Poche questioni etiche e pratiche da considerare
- Può essere difficile e costoso trovare gli esperti
- Gli esperti migliori hanno conoscenza del dominio di applicazione e degli utenti
- Maggiori problemi
  - Problemi importanti possono essere trascurati
  - Vengono spesso identificati molti problemi banali

#### Valutazione basata su revisioni

Consiste nel basare la valutazione sul risultato di esperimenti analoghi già documentati e presenti in letteratura. Tuttavia è necessario tener presente che i risultati sperimentali non valgono in qualsiasi contesto.

#### Valutazione basata sui modelli

Alcuni modelli cognitivi e di design forniscono un mezzo per combinare specifiche di progetto e valutazione nello stesso framework. 

Il modello **GOMS** predice le prestazioni dell'utente con una particolare interfaccia e può essere usato per filtrare delle particolari scelte di progetto.

Il modello **keystroke-level** fornisce previsioni del tempo che l'utente impiegherà a eseguire task fisici di basso livello.












