Questo libro fornisce
un’introduzione generale all’ingegneria dell’usabilità, per la progettazione di
prodotti facili da usare, in particolare sistemi interattivi ad alto contenuto
di software. È nato come libro di testo per corsi universitari di carattere
introduttivo per le discipline dell’interazione uomo macchina o
dell’interaction design, oggi presenti in quasi tutti i corsi di laurea in
Informatica, ma può essere letto anche da chi non si occupi specificamente di
informatica. Infatti, a parte una generica comprensione dei concetti generali
dell’informatica e del software, il libro non presuppone nel lettore
particolari nozioni di carattere tecnico. Può quindi essere usato senza
difficoltà anche da studenti di orientamento diverso, per esempio dei corsi di
laurea in Scienze della Comunicazione o Disegno Industriale, o da chiunque
desideri avere un inquadramento introduttivo a questi argomenti.
La disciplina dell’interazione
uomo macchina ha più di un quarto di secolo, ed è oggi vasta e diversificata. Attinge alle conoscenze di numerose
altre discipline, e si declina in molte specializzazioni diverse, alcune
orientate al “fare”, altre al “conoscere”. Questo libro è fortemente orientato al “fare”, ed ha un tema
molto specifico: si occupa della progettazione di sistemi interattivi che
possano dirsi usabili, cioè sistemi che supportino l’essere umano
nell’esecuzione delle sue attività quotidiane, rendendole più efficaci, meno
faticose e più gradevoli. In ultima analisi, sistemi che migliorino la qualità
della nostra vita. Il libro adotta un approccio elementare, anche se
concettualmente preciso e non riduttivo, cercando di focalizzarsi sulle idee
fondamentali e di arrivare al punto in un numero limitato di pagine. Per non
ridurre lo spessore della disciplina, che è notevole, ogni capitolo propone poi
alcuni approfondimenti, prevalentemente accessibili in rete, che sono lasciati
all’iniziativa del lettore.
Il sottotitolo di questo libro
è “Un’introduzione moderna all’ingegneria dell’usabilità”. La parola “moderna”
merita qualche spiegazione. Anche se l’ingegneria dell’usabilità ha un paio di
decenni di vita, il contesto è completamente cambiato da quando Jakob Nielsen,
con il suo testo Usability Engineering,
nel 1993 portò questo termine all’attenzione di un vasto pubblico –
almeno nell’ambito dell’informatica. Nel 1993 Internet era nella sua infanzia,
la telefonia mobile pure. Il cambiamento introdotto da questi due strumenti, e
dalle tecnologie che li hanno resi possibili, è di natura epocale, ed ha
modificato profondamente, da allora, non solo il modo con cui ci rapportiamo ai
sistemi interattivi, ma anche i nostri comportamenti quotidiani. Oggi – e
sempre di più con il passare del tempo – l’impatto della tecnologia è
pervasivo, ed ha profonde ripercussioni sulla vita di tutte le persone in tutti gli ambiti, dal lavoro al tempo libero.
Inoltre la tecnologia genera continuamente nuova tecnologia, e l’accelerazione
in questi ultimi anni si è fatta frenetica. Sul mercato vengono continuamente
immessi nuovi strumenti, che si propongono di modificare, a volte radicalmente,
le nostre abitudini e i nostri comportamenti.
Tutto ciò, se non cambia i
principi di base dell’ingegneria dell'usabilità, attribuisce a questa
disciplina un ruolo significativamente diverso dal passato, quando costituiva
una nicchia seguita da un piccolo numero di addetti. A chi progetta sistemi
interattivi, si richiede un atteggiamento molto più consapevole di quanto non
lo fosse in un passato non lontano, quando la tecnologia si rivolgeva a un
pubblico di utenti molto più ristretto, e relativamente specializzato. Il
progettista deve ora essere in grado di collocare i prodotti del suo lavoro nel
contesto in cui saranno utilizzati, e di valutarne gli effetti su chi li
utilizzerà. Deve essere in grado di scegliere le soluzioni migliori, non solo e
non tanto dal punto di vista tecnico – la tecnologia in molti casi è oggi
una commodity – quanto dal
punto di vista complessivo dell’impatto sulla qualità della vita degli
utilizzatori. Lo studio della tecnologia fine a se stessa può produrre mostri
o, nel caso migliore, gadget sofisticati. In un pianeta in cui la metà della
popolazione – più di tre miliardi di persone – vive con meno di 2,5
dollari al giorno, questo, semplicemente, non può essere accettato.
Sono convinto che la formazione
che i progettisti di sistemi interattivi ricevono tradizionalmente, nel nostro
Paese, nei corsi di laurea in informatica e in ingegneria sia fortemente
inadeguata per questo nuovo contesto, perché prescinde totalmente dallo studio
dell’uso dei sistemi. Ai progettisti
viene insegnato a trovare soluzioni tecniche a problemi tecnici. Non viene mai
insegnato a sollevare – sia pure per un momento – lo sguardo dal
codice dei programmi o dagli schemi tecnici, per riflettere sul senso di ciò
che stanno facendo, e di esaminare l’effetto delle loro scelte progettuali
sull’attività degli utenti. A essi non si chiede di pensare, ma solo di trovare
il modo migliore per realizzare ciò che altri hanno pensato, senza chiedersi
perché. Io non credo che questo sia un modello corretto per il mestiere del
progettista. La progettazione, nel senso più nobile del termine, è l’arte di
cambiare il mondo. Il progettista deve conoscere approfonditamente le
possibilità che la tecnologia offre, e le tecniche per utilizzarla nel modo più
appropriato. Ma questa conoscenza è soltanto strumentale, e non un obiettivo in
sé. Ciò che conta è lo scopo finale, una visione del futuro che si ritiene
desiderabile, e che il prodotto della progettazione rende più vicino.
Questo libro, pertanto –
sia pure con l’approfondimento limitato che può fornire un testo introduttivo
– invoca un radicale cambiamento di
paradigma nelle discipline della progettazione, che da progettazione
orientata ai sistemi si trasformi in progettazione orientata all’uso e,
possibilmente, all’uso universale.
Ciò significa – al di là delle differenze fra le metodologie proposte dai
diversi autori – una focalizzazione costante, consapevole, informata e
attenta sui bisogni degli utilizzatori dei sistemi che progettiamo, sui diversi
contesti del loro uso e sugli effetti che essi producono. Che il progettista
alzi, finalmente, lo sguardo dal tavolo di lavoro (o dallo schermo del
computer) e si guardi intorno. E che l’università, finalmente, lo aiuti in
questo cambiamento di prospettiva.
° °
°
Ogni libro porta dietro di sé
il mondo e l’esperienza del suo autore. La mia formazione di base è
l’ingegneria del software. Anche se mi sono a lungo occupato di problemi di
organizzazione e di comunicazione, è principalmente dal punto di vista di chi
progetta software che, inevitabilmente, affronto i temi dell’ingegneria
dell’usabilità e dell’interaction design. In particolare, il libro pone molta
enfasi sull’approccio iterativo alla progettazione, con l’utilizzo di prototipi
e di prove con gli utenti fin dalle primissime fasi del progetto. Non propone
alcuna specifica metodologia di progettazione, ma adotta l’approccio generale
alla progettazione human-centred
proposto dallo standard ISO 13407. I concetti base sono ispirati agli standard
ISO (dai quali si adotta anche la definizione di usabilità) e all’impostazione
dei primi libri di Donald Norman. Il libro evita di trattare temi soggetti a
una rapida obsolescenza (per esempio i diversi apparati di interazione) e
riduce al minimo indispensabile il trattamento dei concetti di psicologia
cognitiva e della percezione. Questo non perché io ne sottovaluti l’importanza
in relazione ai temi trattati, ma semplicemente perché, provenendo da una
formazione differente, ho voluto evitare le approssimazioni del dilettante. Ho
prestato molta attenzione – sia pure lasciandole inevitabilmente nel background
del testo – alle tendenze recenti del Web, che costituiscono attualmente
l’oggetto principale del mio interesse.
Detto questo, l’organizzazione
del libro in capitoli non richiede particolari spiegazioni. Dopo
un’introduzione generale sul concetto di interfaccia utente e sulla disciplina
della human-computer interaction (Capitolo 1), si prosegue con una rapida
rassegna dei principali paradigmi di interazione che si sono consolidati negli
anni. Segue una introduzione alla nozione di usabilità (Capitolo 3), alle
motivazioni alla base di una progettazione human-centred (Capitolo 4) e qualche
approfondimento sull’utente, che da concetto astratto deve incarnarsi, e
diventare il fulcro della progettazone. I capitoli 6,7,8 e 9 approfondiscono i
metodi dell’ingegneria dell’usabilità, descrivendo inizialmente l’approccio
iterativo alla progettazione dei sistemi (Capitolo 6), quindi i metodi
utilizzati per la definizione dei requisiti (Capitolo 7), e la costruzione di
prototipi (Capitolo 9). Il Capitolo 8 discute il rapporto fra ingegneria e
creatività, mostrando esempi delle tecniche utilizzate nell’invenzione di nuovi
prodotti. I quattro capitoli successivi discutono, con numerosi esempi, i
principi e le linee guida da seguire nella progettazione dei sistemi usabili.
In particolare, il Capitolo 10 descrive dettagliatamente i sette principi del
dialogo proposti dallo standard ISO 9241-Parte 110; il Capitolo 11
approfondisce le linee guida per il trattamento degli errori dell’utente; il Capitolo
12 si concentra in particolare sulla progettazione grafica e, infine, il Capitolo
13 indica come progettare testi dotati di buona leggibilità. Il Capitolo 14
tratta le principali tecniche per la valutazione dell’usabilità e, in
particolare, i test di usabilità. Il libro non riporta una bibliografia estesa,
che spesso serve solo a dimostrare la cultura dell’autore, e non è di aiuto a
chi vuole approfondire. Per evitare questo
problema, mi sono limitato a
indicare alcuni libri che ritengo utili per approfondire i temi trattati. L’appendice
descrive la notazione degli state-chart,
strumenti formali molto utili per la descrizione non ambigua dei dialoghi fra utenti e sistema.
° °
°
Il libro nasce dall’esperienza
di dieci anni d’insegnamento del corso di Interazione uomo-macchina per la
laurea in Informatica dell’Università degli Studi di Milano Bicocca. Questo
corso ha l’obiettivo di trasmettere agli studenti (in buona parte futuri
progettisti di sistemi) una sensibilità alle problematiche della costruzione di
sistemi usabili - e in particolare di prodotti software, o con un significativo
contenuto di software. A questo scopo, insiste sui concetti di usabilità, di
progettazione human-centred e sui metodi di valutazione dell’usabilità che
coinvolgono l’utente.
Un corso con quest’obiettivo
deve dare spazio consistente a esperienze pratiche di progettazione, senza le
quali non sarebbe di alcuna utilità. Infatti, l’esperienza mostra che gli
studenti tendono a sottovalutare questi concetti, considerandoli quasi banali,
nel contesto degli altri corsi a orientamento più tecnico e formale presenti
nei curriculum delle lauree in Informatica, senza soffermarsi a esaminarne con
la necessaria attenzione il senso profondo, che banale certamente non è. Per
superare questa difficoltà, è indispensabile affiancare alla presentazione dei
concetti un laboratorio di tipo pratico, in cui gli studenti possano vederne le
applicazioni e le implicazioni concrete. Secondo la mia esperienza, il modo più
proficuo è organizzare gli studenti in piccoli gruppi di lavoro che progettino,
con l’impostazione iterativa descritta nel testo, il prototipo di un semplice
sistema, sottoponendolo, a ogni ciclo d’iterazione, a test con gli utenti o a
valutazioni di usabilità effettuate assieme al docente.[1]
Anche con questa impostazione,
si scopre ben presto che trasmettere, nell’ambito di un corso della durata di 6
o 8 crediti formativi, una ragionevole capacità di impostare consapevolmente l’interfaccia di un
semplice sistema interattivo, è compito didattico non banale. Naturalmente, non
mancano gli studenti in grado di produrre prototipi eccellenti. Questo deriva
quasi sempre dalla disponibilità di prodotti interattivi di qualità, che
vengono presi a modello o che comunque costituiscono precise fonti di
ispirazione. Ma non basta che il progettista software sia in grado di
progettare una buona interfaccia copiandola dal suo cellulare o dal suo iPhone:
così non produrrà mai innovazione. Il buon design è la risultante
dell’applicazione consapevole di
principi generali e ben noti, e dell’applicazione, ancora una volta consapevole,
di un processo di progettazione pianificato per questo specifico scopo. Questo
il progettista inesperto non lo sa fare, e non serve che, qualche giorno prima,
il docente gli abbia spiegato, in astratto, come si fa. La difficoltà sta nel
fatto che i principi del buon design sono molto generali, e per riconoscerli e
applicarli nelle situazioni specifiche serve molta esperienza. Il principiante
vedrà le difficoltà, ma non sarà in grado di individuarne le cause, cioè le
decisioni di progetto sbagliate che, spesso, producono conseguenze negative che
si manifestano molto più avanti.
Il bravo designer sa che una deroga a un principio importante produrrà
inevitabilmente, prima o poi, dei problemi, ed eviterà di farla. Lo studente
non riconosce queste trappole, per le quali serve un occhio allenato. In
pratica è necessario che il docente, seguendo da vicino ogni singolo progetto,
gli mostri di volta in volta le conseguenze delle sue scelte e lo aiuti a
dipanare le situazioni più complicate, spiegandogli perché si sono verificate e mostrandogli che, con scelte diverse,
l’usabilità del prodotto migliora.
In conclusione, un corso
sull’ingegneria dell’usabilità deve dare uno spazio consistente ad attività di
laboratorio, senza le quali non sarebbe di alcuna utilità. Ecco perché questo
libro, da solo, non è sufficiente. I concetti illustrati devono essere “fatti
vivere” nella pratica della
progettazione e della valutazione critica di specifici sistemi. La relativa snellezza di questo libro – al confronto
con i testi più noti di Interazione Uomo Macchina, sempre molto corposi –
è stata concepita proprio per lasciare spazio alla sperimentazione di
laboratorio. In pratica, ciascun capitolo può essere svolto in una o due
lezioni di due ore ciascuna, secondo il livello di approfondimento scelto, per
un totale di circa 35-40 ore di lezione, corrispondenti a 4 o 5 crediti
formativi. Questo lascia ampio spazio alle attività di progettazione (e,
soprattutto, al confronto periodico con il docente) e, a seconda dell’ampiezza
del corso, ad approfondimenti o complementi che potranno essere scelti a discrezione
del docente.
° °
°
Questo
libro è pubblicato in due edizioni: una edizione a stampa, acquistabile in
libreria, e una edizione elettronica. Per la edizione a stampa, tutti i diritti
sono riservati, a norma di legge, all’editore. La edizione elettronica è resa
disponibile, gratuitamente, sul Web con licenza Creative Commons “Attribuzione
- Non commerciale - Condividi allo stesso modo - 2.5 Italia”:[2]
Questo significa, in
pratica, che il testo può essere liberamente modificato, aggiungendo o eliminando
delle parti per adattarlo a specifiche esigenze didattiche, a patto che il
prodotto risultante sia reso disponibile gratuitamente con lo stesso tipo di
licenza, e che ne sia citata la fonte e l’autore originale. La versione è
elettronica è raggiungibile a partire dal sito dell’autore www.rpolillo.it o dell’editore www.apogeonline.com.
° °
°
Nella
stesura di questo libro ho usato diverso materiale pubblicato in miei
precedenti lavori. In particolare, il libro è un ampliamento del mio capitolo
sull’Introduzione all’Ingegneria
dell’Usabilità, contenuto nel libro Human
Computer Interaction – Fondamenti e prospettive, a cura di Alessandro
Soro, pubblicato nel 2008 dalla casa editrice Polimetrica, anche accessibile
gratuitamente in rete. Questo
testo, composto da una serie di rassegne monografiche a scopo didattico sui
principali temi della HCI, può essere adottato come utile complemento al
presente libro. Inoltre, l’appendice sugli state-chart
è tratta dal mio precedente Plasmare il
Web – Road map per siti di qualità, edizioni Apogeo, 2006. Da
quest’ultimo testo, che adotta un approccio e una terminologia completamente
coerenti con questo libro, sono state tratte anche diverse pagine del capitolo
relativo alla stesura dei requisiti.
Devo
molto agli studenti dei miei corsi di Interazione Uomo Macchina e di
Laboratorio Internet all’Università di Milano Bicocca. Non solo perché mi hanno
costretto, negli anni, ad approfondire meglio i concetti esposti a lezione ma
soprattutto perché mi hanno fornito, con i loro progetti - molte centinaia,
ciascuno un piccolo caso di studio – un gran numero di esempi concreti di
progettazione di sistemi interattivi. Ciò mi ha permesso di comprendere le
difficoltà che un progettista alle prime armi incontra nella progettazione
della user experience, e quindi di
identificare le priorità dei vari argomenti dal punto di vista didattico.
Diverse illustrazioni del libro sono tratte da questi progetti. In particolare,
il prototipo delle Errore. L'origine riferimento non è stata
trovata.è stato realizzato da Stefano Berbenni, Regina Fantucci e
Debora Gerini. Quello della Figura 13 del Capitolo 9 da
Marco Brenna, Domenico Pierro Domenico e Simone Songia. Il prototipo di Figura
10 del Capitolo 9 è stato realizzato da Simone Mandelli, Marco Pelucchi e
Marianna Riceputi. Il prototipo di Errore. L'origine riferimento non è stata
trovata. 9 del Capitolo 9, e le relative registrazioni video dei dei
test di usabilità (Figure 4 e 5 del Capitolo 14) sono stati realizzati da
Giuseppe Pogliani, Giuseppe Ragno e Giuseppe Maggi, e si riferiscono al
prototipo. A tutti vanno i miei ringraziamenti.
I
commenti e i suggerimenti di Luca Colombo, e la sua tesi di laurea magistrale
sulla New Web Typography (da cui ho
tratto diverse figure) mi sono stati molto utili per il capitolo sulla
tipografia e la usabilità dei testi.
Devo
molto anche all’amico Piero Schiavo Campo, che ha condiviso con me, per molti
anni, il compito di esaminare e commentare i progetti di entrambi i corsi,
durante le revisioni nelle esercitazioni e negli esami di fine corso. Il fatto
che, in queste revisioni, i nostri commenti su uno stesso progetto fossero
spesso del tutto differenti, mi ha costretto ad accettare il fatto che, anche
in questa disciplina, le certezze assolute non esistono, e la qualità nasce
sempre dalla discussione e dal confronto delle diverse opinioni.
Infine,
sono molto grato a mia moglie Patricia Caprotti la quale, anche in questo
libro, si è sobbarcata il compito di rivedere il testo per renderlo più
scorrevole ed eliminare i termini gergali che il mondo dell’ingegneria del
software produce a getto continuo.
Sarò molto grato a chi volesse
ampliare o produrre versioni successive di questo testo.
Roberto
Polillo
[1] Nel caso specifico del corso citato, i prototipi vengono realizzati prima su carta e quindi con PowerPoint (o altro prodotto simile), che permette di definirne in modo piuttosto preciso l’aspetto visivo, e di ottenere rapidamente un prototipo navigabile, collegando fra loro le varie schede con link ipertestuali. Anche se questo strumento non è stato concepito per attività di prototipazione, i risultati sono eccellenti, e sicuramente superiori rispetto all’uso di altri strumenti che, oltre a richiedere un addestramento specifico, risultano troppo “invasivi”, orientando in modo eccessivo le soluzioni di design (Flash, generatori di pagine Web, ecc.).
[2] Per il significato dei simboli, si
veda http://creativecommons.org/licenses/by-nc-sa/2.5/it/. Il testo della licenza si trova
in
http://creativecommons.org/licenses/by-nc-sa/2.5/it/legalcode.