Questo capitolo introduttivo ha lo scopo di collocare
i temi di questo libro nello scenario dell’evoluzione degli strumenti
dell’uomo, e in particolare di quelli interattivi, dotati di elevata intelligenza. Dopo avere definito il concetto
d’interfaccia d’uso, si osserva come, con la crescita della complessità dei
sistemi, il ruolo dell’interfaccia sia diventato sempre più importante, non
solo come mezzo di governo, ma anche come strumento di semplificazione, per
trasmettere all’utente una visione del sistema coerente con le sue specifiche
necessità. Promuovere la nozione di semplicità e facilità d’uso fra chi
progetta e produce sistemi complessi può allora contribuire in modo
significativo a migliorare la qualità della nostra vita e a ridurre il divario
digitale derivante dalle differenze di età, istruzione e censo degli
utilizzatori della tecnologia. Comprendere come si possano progettare sistemi
facili da usare è uno dei compiti della disciplina della Human-Computer
Interaction, di cui si menzionano gli obiettivi e alcune tappe fondamentali.
L’essere
umano, nella sua storia, si è sempre dotato di strumenti che gli permettessero di svolgere compiti che con il solo
impiego delle sue doti di natura sarebbero stati impossibili. Gli utensili (e,
fra questi, anche le armi) gli hanno permesso di vivere con i proventi della
caccia, dell’allevamento e della coltivazione della terra. Gli hanno permesso
di preparare cibi e indumenti, costruire abitazioni confortevoli, difendersi
dai nemici, o aggredirli, creare musica. Armi e utensili hanno costituito,
negli ultimi millenni, delle protesi
artificiali, che hanno permesso all’homo
sapiens di superare le limitazioni
fisiche del suo corpo e di aumentarne le capacità.
Fino a
un passato non lontanissimo, queste protesi erano di natura relativamente
semplice. Il coltello, l’aratro, la spada, le frecce, il tamburo, pur
potenziando enormemente le possibilità del corpo umano, permettevano di svolgere
compiti ancora strettamente legati alle sue capacità meccaniche, e che da
queste non potevano prescindere. L’uso di questi strumenti richiedeva
l’acquisizione di abilità manuali specifiche, che non di rado presupponevano un
lungo addestramento. Negli ultimi secoli, l’evoluzione della tecnologia, e
soprattutto la scoperta delle tecniche per la produzione di energia (la
trazione animale, la macchina a vapore, l’elettricità, …) hanno radicalmente
cambiato questo scenario. Sono
stati progettati strumenti capaci di svolgere compiti sempre più complessi e,
soprattutto, capaci di operare in modo autonomo,
alimentati da fonti di energia non provenienti dal corpo umano. Non più protesi
del nostro corpo, quindi, ma sistemi da governare attraverso appositi meccanismi
di vario tipo (leve, pulsanti, quadri di controllo).
Ma è
soltanto da pochi decenni che la situazione è, ancora una volta, profondamente mutata.
L’informatica ha permesso di dotare questi sistemi non solo di autonomia, ma
anche di intelligenza, attraverso una
componente software che, negli anni, è divenuta sempre più evoluta e pervasiva.
Essa permette a questi sistemi di eseguire procedure complesse e prendere
decisioni in modo autonomo, sulla base delle diverse condizioni che si
verificano durante il loro funzionamento.
L’utilizzo
di questi sistemi non richiede più l’acquisizione di abilità manuali
specifiche, ma avviene attraverso la mediazione di interfacce d’uso appositamente progettate, che permettono una
interazione anche molto stretta con il suo utilizzatore. Il governo di questi sistemi da parte
dell’uomo prende sempre più la forma di un dialogo
fra due partner intelligenti (Figura 1). L’interazione, che nei sistemi più
semplici richiedeva all’utente abilità motorie di carattere elementare (premere
un pulsante, alzare una leva), nei sistemi più evoluti avviene sempre più
spesso a livello cognitivo. In altre parole, il dialogo fra utente e sistema
implica sempre più, da parte di entrambi gli interlocutori, l’esecuzione di
ragionamenti complessi.
I
termini “sistema interattivo”, “interfaccia d’uso”, “dialogo”, “interazione” in
questo libro saranno usati molto spesso: è quindi opportuno definirli con
precisione. Adotteremo le definizioni dell’ISO 9241, lo
standard principale relativo all’usabilità dei sistemi interattivi, di cui
parleremo più diffusamente nel capitolo Errore. L'origine riferimento non è stata
trovata..[1]
Per sistema interattivo intendiamo, in modo
del tutto generale, qualsiasi “combinazione di componenti hardware e software
che ricevono input da un utente umano, e gli forniscono un output, allo scopo
di supportare l’effettuazione di un compito”.
Questa definizione è molto ampia, e comprende tutti i sistemi che possono
interagire con un utente umano, da quelli più semplici (come un frullatore o un
robot da cucina) a quelli più complessi, come un telefono cellulare, il
cruscotto di un aereo, un sistema di realtà virtuale (Figura
2). In
pratica, la definizione esclude solamente quei sistemi che interagiscono
esclusivamente con altri sistemi, senza alcun intervento umano, come i sistemi
di controllo di processo “a ciclo chiuso”, che intervengono sul processo
controllato senza alcun intervento dell’operatore.
Per interfaccia d’uso (o interfaccia utente, user interface)
intendiamo l’insieme di “tutti i
componenti di un sistema interattivo (software o hardware) che forniscono
all’utente informazioni e comandi per permettergli di effettuare specifici
compiti attraverso il sistema.”
Con il
termine compito (in inglese, task), di uso molto frequente in questo
contesto, si intende infine qualsiasi “insieme di attività
richieste per raggiungere un risultato.” [2]
Figura 2. Esempi
di sistemi interattivi
(a) Cruscotto aereo; (b) realtà virtuale immersiva; (c) Apple iPhone; (d) Robot
da cucina
L’ISO
9241 preferisce usare il termine dialogo,
al posto del più generico – ma equivalente - termine interazione definendolo come “l’interazione fra un utente e un
sistema interattivo, intesa come una sequenza di azioni compiute dall’utente
(input) e di risposte del sistema (output), allo scopo di raggiungere un certo
obbiettivo” (Figura 3).
Figura 3. Il dialogo utente-sistema
Il
dialogo fra un utente e un sistema interattivo può essere realizzato attraverso
svariati dispositivi d’interazione, come
suggeriscono gli esempi di Figura 2. Da un lato, il sistema può utilizzare una
varietà di dispositivi di output, i
cui messaggi sono raccolti dai
sensi dell’utente (vista, udito, tatto). Dall’altro, l’utente può governare il
sistema utilizzando vari dispositivi di
input: digitando i dati su tastiere o utilizzando dispositivi di
manipolazione di vario tipo, la sua voce o, più raramente, lo sguardo o la
postura del suo corpo (Figura 4).
Figura 4. Alcuni dispositivi di interazione
Si è detto più volte che i sistemi interattivi oggi possono
essere molto complessi. È ora opportuno precisare questo concetto. Infatti, un
sistema può essere considerato complesso per aspetti diversi: perché composto
da molti componenti che interagiscono fra loro in modo complicato, oppure
perché è destinato a supportare numerose attività. In altre parole, perché
permette al suo utilizzatore di fare molte cose diverse. Per il primo caso,
possiamo usare il termine di complessità
interna (o strutturale), per il
secondo quello di complessità esterna,
o funzionale. Per esempio, un
coltello da lancio è molto semplice, sia dal punto di vista interno che da
quello funzionale: è composto soltanto da una lama e da un manico, e serve a un
solo scopo, quello di colpire un bersaglio lontano. Una sega elettrica da
boscaiolo è più complessa dal punto di vista interno, perché costituita da
numerosi componenti fra loro interagenti: un motore, un meccanismo di
trasmissione del movimento, due lame mobili, un interruttore. Mantiene tuttavia
una relativa semplicità funzionale: il suo scopo è pur sempre quello di
tagliare, anche se, data la complessità interna, deve permettere di compiere
alcune semplici funzioni collaterali, quali per esempio l’avvio e l’arresto del
motore. Infine, un iPhone, col suo
ricco corredo di funzionalità, realizzate attraverso tecnologie sofisticate, è
molto complesso sia funzionalmente sia strutturalmente.
Queste due dimensioni della complessità dei sistemi non sono
necessariamente fra loro correlate: esistono sistemi internamente semplici ma
funzionalmente complessi (per esempio, un temperino da tasca multi-uso, con il
suo corredo di lame e di arnesi estraibili), ed esistono sistemi internamente
complessi ma funzionalmente semplici. Per esempio, un orologio da parete:
dentro è molto complicato, ma ha l’unico scopo di indicare l’ora. D’altro
canto, la complessità interna genera spesso una certa complessità funzionale.
Infatti, se un oggetto è internamente complesso, potrebbero verificarsi molti
possibili malfunzionamenti di diverso tipo. Questi malfunzionamenti si
renderanno, in ultima analisi, visibili all’utente, che dovrà intraprendere le
opportune azioni correttive.
Possiamo mettere a confronto la complessità funzionale e
strutturale di un insieme di prodotti utilizzando un semplice diagramma come in
Figura 5.
Figura 5. Complessità funzionale e strutturale a confronto
I manufatti complessi non richiedono necessariamente una
tecnologia avanzata, e quindi non sono propri della nostra epoca. Basti pensare
alla complessità di certi strumenti musicali (Figura 6), alle macchine di
Leonardo da Vinci, alle macchine a vapore. Tuttavia questi, per quanto
complessi, non possono raggiungere la complessità dei sistemi che usano le
tecnologie del software. Le moderne applicazioni software possono raggiungere
complessità strutturali e funzionali elevatissime. Per misurarle, sono state
definite varie metriche. Tipicamente, la complessità strutturale di un
programma può essere misurata contando le linee di codice sorgente che lo
costituiscono. Per misurarne la complessità funzionale, invece, è stato
definito il concetto di punto funzione
(function point), unità di misura
delle funzionalità visibili all’utente, indipendente dalla particolare
tecnologia utilizzata per realizzarle.[3]
Figura 6. Un organo rinascimentale
Non è questa la sede per approfondire questi concetti, che
ci porterebbero lontano. Ci limitiamo a fornire, nella tabella di Figura 7, il numero dei punti
funzione e delle linee di codice sorgente di alcuni noti sistemi software. [4] Da queste analisi si vede
chiaramente che il rapporto fra i due valori è molto variabile, dipendendo dal
linguaggio di programmazione utilizzato, dall’intrinseca complessità degli
algoritmi e dalla produttività media dell’organizzazione in cui il sistema
viene sviluppato.
Figura 7. Linee di codice sorgente (source lines of code, SLOC) e punti funzione (function points, FP) di alcuni sistemi software (fonte: Capers Jones, cit.)
Consideriamo
ora la complessità d’uso di un
sistema, cioè la maggiore o minore facilità con cui siamo in grado di
utilizzarlo. Diremo che la sua complessità d’uso è bassa se esso è facile da
usare. Preciseremo meglio questo concetto nel capitolo 3, con la definizione
della nozione di usabilità: per ora, accontentiamoci del significato che tutti
noi, intuitivamente, attribuiamo a queste locuzioni.
Anche
se la cosa può sembrare contro-intuitiva, complessità funzionale e complessità
d’uso sono concetti diversi, e largamente indipendenti. Un sistema può
realizzare molte funzioni, ma essere facile da usare. D’altro canto, esistono
sistemi funzionalmente semplici che creano grosse difficoltà a chi li usa. Per
esempio, un sistema elementare come il coltello da lancio in Figura 5 richiede, per essere usato con
precisione, grande destrezza, ottenibile solo con un lungo allenamento. Invece,
l’iPhone, funzionalmente molto ricco, è considerato di solito molto facile da
usare.
La Figura 8 confronta i quattro oggetti già visti in Figura 5 dal punto di vista della complessità funzionale e d’uso. In questo
diagramma, il temperino multi-funzione è stato considerato difficile da usare,
poiché chi scrive ne possiede uno che non si riesce ad aprire senza spuntarsi
le unghie. Ovviamente, altri prodotti di questo tipo potrebbero non avere
questo difetto, ed essere quindi valutati diversamente.
Figura 8. Complessità funzionale e d’uso a confronto
In
sintesi, esistono quindi tre dimensioni, fra loro largamente indipendenti,
della complessità di un sistema: la complessità strutturale, la complessità
funzionale e la complessità d’uso (Figura 9).
Figura 9. Le tre dimensioni della complessità di un sistema
Finora abbiamo esaminato
i vari aspetti della complessità dei sistemi interattivi, senza mai soffermarci
sulla natura dell’utente. In tutte le nostre figure, l’utente è stato sempre
rappresentato nello stesso modo, con la stessa immagine astratta di Figura 1.
Ma nella realtà non è così. Tutti gli utenti sono diversi. Nonostante le tendenze
all’uniformità prodotte dalla globalizzazione, le diversità presenti fra gli
abitanti del pianeta sono – fortunatamente – molto numerose. Basti
pensare alla diversità linguistica: nella sola Unione Europea, anche se le
lingue ufficiali sono “solo” 23, si parlano fra le 30 e 40 lingue native (il
numero varia secondo la nozione di lingua che si utilizza). Fra queste, i
parlanti nativi della lingua a diffusione massima, il tedesco, non superano il
20% dell’intera popolazione. Anche
all’interno di ogni singolo Paese la frammentazione culturale è in aumento, a
causa dell’immigrazione. In Italia, dove pure il fenomeno dell’immigrazione è
relativamente recente, gli stranieri sono oggi più del 6% della popolazione
italiana, e in continua crescita.
Gli utenti non sono solo
diversi nelle loro caratteristiche individuali (lingua, cultura, scolarità,
abitudini, preferenze, ecc.), ma anche nei rapporti con il sistema. Ogni utente
chiede al sistema cose diverse, e si rapporta con esso in modo specifico,
differente da quello di altri utenti. Lo stesso word processor è utilizzato
dallo studente per scrivere la tesi di laurea, dal giornalista per i propri
articoli, dal romanziere, dal saggista, dall’impiegato che lo usa per compilare
le fatture della propria ditta. Ciascuno parla la propria lingua e utilizza il
lessico specifico della sua professione, utilizza i caratteri del proprio
alfabeto, possiede cultura e abitudini derivanti dalla propria specifica
formazione. Alcuni sono mancini, altri no. Alcuni hanno difficoltà nella
lettura di caratteri molto piccoli, altri ci vedono bene. Ciascuno chiede al
sistema di supportarlo nell’esecuzione di compiti specifici, che non sono gli
stessi di altri utenti. Alcuni utilizzano il prodotto con un computer potente,
altri dispongono soltanto di una macchina obsoleta, che può avere delle
limitazioni. Alcuni sono giovani, e abituati fin da piccoli all’utilizzo degli
strumenti dell’informatica, altri sono anziani, e possono avere nei confronti
dello strumento un atteggiamento di diffidenza o di paura.
Lo stesso temperino
multi-uso della Figura 8,
che chi scrive ha giudicato difficile da usare, potrebbe essere valutato
diversamente da utenti con un diverso livello di manualità.
In definitiva, la
diversità degli utenti pone altri problemi di complessità d’uso, che non sono
intrinseci allo strumento, ma derivano dall’interazione fra lo strumento e il
suo utente. Interazione che deve avvenire con modalità diverse a seconda delle
caratteristiche e delle necessità di ogni particolare utilizzatore.
In un mondo di apparati
semplici e di esigenze uniformi, la semplicità delle interfacce d’uso può
essere considerata un problema minore. Nel mondo di oggi, caratterizzato da
un’enorme varietà di strumenti funzionalmente ricchi, progettati per risolvere
problemi complessi di utenti fra loro molto differenti, il problema di disporre
di interfacce d’uso adeguato diviene, come vedremo meglio nel seguito, assolutamente
critico.
L’ambiente della nostra esistenza
quotidiana si fa sempre più complesso. Nel lavoro e nel tempo libero dobbiamo interagire
con prodotti tecnologici sempre più sofisticati, il cui uso richiede spesso
capacità e competenze non banali. Capacità
e competenze che, peraltro, divengono rapidamente obsolete, perché i prodotti
della tecnologia evolvono di continuo e in modo sempre più rapido.
Chi ha consolidato le proprie
abitudini di vita con l’utilizzo di certi strumenti deve continuamente
modificarle, per imparare a usare gli strumenti delle generazioni tecnologiche
successive. Questi sono spesso radicalmente differenti, non soltanto dal punto
di vista delle modalità di interazione, ma anche perché inducono comportamenti
del tutto diversi nei loro utilizzatori. Basti pensare a come è cambiato l’uso
del telefono in Italia nei dieci anni a cavallo della fine del secolo scorso.
Fino al 1995, il telefono era sostanzialmente disponibile solo da postazioni
fisse, in ufficio, a casa, nei locali pubblici o nelle cabine telefoniche in
strada. Oggi, in Italia, il numero medio di abbonamenti al telefono cellulare
pro-capite è addirittura superiore all’unità. In strada, la gente telefona
mentre cammina, guida o viaggia nei mezzi pubblici. Gli sms sono stati
introdotti nel 1993, e oggi non ne possiamo fare a meno. Secondo Wikipedia,
solo dieci anni dopo, in tutto il mondo, ne venivano inviati circa 500 miliardi
ogni anno. Dopo altri 5 anni, si stima che fossero 2500 miliardi. Parallelamente
all’evoluzione del telefono, a partire dai primi anni ’90, la posta elettronica
ha modificato radicalmente le modalità della comunicazione scritta. Più
recentemente, con i siti di social network e con il microblogging, altri canali
di comunicazione hanno acquisito enorme diffusione, affiancandosi agli altri
senza sostituirli. Oggi tutti noi comunichiamo con modalità sostanzialmente
differenti da quelle di solo due decenni fa. Questa forte accelerazione del
cambiamento è sotto gli occhi di tutti, ed è sofferta, a volte in modo
drammatico, soprattutto dalle persone più anziane, che spesso non sono in grado
di adattare i loro comportamenti al nuovo contesto tecnologico.
La Figura 10 mostra tre gruppi di strumenti tipici, del lavoro e del tempo libero, del
1920, 1965 e 2010: un riproduttore di musica, un apparecchio telefonico e un
sistema per scrivere. Ciascun gruppo appartiene a un mondo totalmente diverso
da quello degli altri, eppure non è difficile trovare, ancora oggi, chi è
entrato in contatto con tutti e tre. Per esempio, l’autore di questo libro (che
appartiene alla generazione formatasi negli anni ’60), lo ha digitato su un
laptop molto evoluto, ma ha imparato a dattilografare, da bambino, sulla
macchina per scrivere del nonno (classe 1883), molto simile a quella del 1920
in figura.
La distanza temporale fra il primo e
il secondo gruppo e fra il secondo e il terzo è la stessa: 45 anni, ma la
complessità funzionale è molto diversa. Fra il primo e il secondo gruppo la
tecnologia si perfeziona, ma le funzioni sono, sostanzialmente, le stesse. Il
telefono serve sempre per telefonare, la macchina per scrivere per comporre
testi. Il fonografo serve per riprodurre dei suoni registrati, anche se il
supporto fisico e la tecnologia di riproduzione sono completamente cambiati.
Fra il secondo e il terzo gruppo, invece, è avvenuto il passaggio all’era
digitale, e i cambiamenti sono incommensurabilmente più profondi. La forma degli strumenti non ce ne
suggerisce più l’uso. La musica, il testo, la voce si sono digitalizzate, e
vengono gestite dal software, che mette a disposizione dell’utente una varietà
di funzioni del tutto nuove. L’iPhone in figura può servire per telefonare, ma
è sostanzialmente un computer general purpose, come il netbook che gli sta
accanto, ma più piccolo e più mobile. È geolocalizzato e in grado di percepire
il proprio orientamento. È sensibile al tocco e può connettersi a reti di
tecnologie diverse: la rete cellulare a larga banda e internet. Entrambi gli apparati
possono essere utilizzati per riprodurre musica e comporre un testo da stampare
su carta con l’uso della stampante laser. Ma le possibilità sono molte di più.
Per esempio, entrambi permettono l’accesso alle informazioni e ai molteplici
servizi disponibili in rete. Si tratta di cambiamenti drastici, che richiedono
capacità di adattamento molto maggiori, e che inducono comportamenti nuovi.
Figura 10. Accelerazione dell’evoluzione degli strumenti quotidiani
Le cause di questa accelerazione
così evidente dell’evoluzione dei prodotti tecnologici sono molteplici, e
indicate schematicamente nella Figura 11. Innanzitutto, i
bisogni degli utenti fanno nascere nuovi prodotti, i quali a loro volta
inducono nuovi bisogni: l’esperienza d’uso ne suggerisce sempre delle modifiche
migliorative, che si concretizzano in nuove versioni o in prodotti nuovi (ciclo
a in Figura 11). Poi l’evoluzione
della tecnologia offre continuamente nuove possibilità. Anche in questo caso
c’è un ciclo di feedback: i prodotti esistenti stimolano la ricerca di
innovazioni tecnologiche, e queste permettono miglioramenti ai prodotti (ciclo
b). Questo fa sì che i prodotti esistenti siano continuamente rimpiazzati da
prodotti che utilizzano tecnologie di nuova generazione. Rimpiazziamo la
televisione analogica con quella digitale, e poi ancora quest’ultima con quella
ad alta definizione. Rimpiazziamo le automobili con nuovi modelli meno
inquinanti, e così via.
Figura 11. Le cause dell’evoluzione dei sistemi
La
situazione dei personal computer è emblematica. È noto che l’evoluzione
della tecnologia ha permesso di raddoppiare il numero di transistor per
circuito integrato approssimativamente ogni due anni (legge di Moore, Figura 12). Poiché le prestazioni
di molti componenti elettronici sono correlate alla densità dei transistor su
un chip, questo ha prodotto, negli
ultimi trent’anni, un enorme miglioramento delle prestazioni dei processori e delle
capacità di memoria (Figura 13). Ciò ha permesso una continua e
rapidissima diminuzione del rapporto costo/prestazioni. Per esempio, nel periodo
1993-2008, il costo delle memorie di massa si è quasi dimezzato ogni anno.[5] Il rovescio della medaglia è una continua
e rapidissima obsolescenza dei sistemi, che impone agli utilizzatori un continuo
ricambio dei prodotti. I PC devono, in pratica, essere sostituiti ogni 3-4 anni
al massimo, perché obsoleti.
L’evoluzione dei telefoni cellulari è anche più rapida: secondo alcune
statistiche, la vita media di un cellulare, cioè l’intervallo di tempo dopo il
quale l’utente lo sostituisce con uno nuovo, è di 23 mesi.
Figura 13. Crescita della
capacità degli hard disk
(elaborazione di H-K Nienhuys per Wikipedia)
Un’ulteriore,
imponente spinta verso un’evoluzione rapida e continua è data dalla forte
competitività del mercato dei prodotti hi-tech, che obbliga i produttori a
fornire versioni sempre più sofisticate di un prodotto per battere la
concorrenza. Ogni prodotto stimola la concorrenza a superarne le prestazioni, e
deve a sua volta superare i prodotti che nascono da questa competizione (Figura 11, ciclo d). Questi processi di
competizione sono ulteriormente accelerati dall’evidente necessità dei
produttori di mettere sul mercato versioni sempre più aggiornate dei loro
prodotti, per alimentare un mercato di sostituzione che permetta di conservare
– e di accrescere – i livelli di ricavi già raggiunti.
Infine,
i prodotti dell’informatica e delle telecomunicazioni costituiscono un vero e
proprio ecosistema, in perenne
evoluzione. L’evoluzione di un prodotto produce la necessità di cambiamento nei
prodotti a esso correlati, che devono adattarsi alle sue nuove caratteristiche,
in un complesso sistema di condizionamenti reciproci (Figura 11, ciclo c). Ciò vale sia per le componenti
hardware che per quelle software. I sistemi operativi devono poter supportare
le nuove periferiche lanciate sul mercato, e le nuove periferiche devono essere
compatibili con le nuove versioni dei sistemi operativi. Hardware e software
devono conformarsi ai nuovi standard elaborati dai gruppi di lavoro dedicati a
questo scopo, e i nuovi standard devono tener conto dei vincoli posti dai
prodotti già sul mercato. Tecnologie nuove sono continuamente messe a punto e
rendono possibili l’inserimento di funzionalità prima non realizzabili.
Tecnologie vecchie divengono obsolete e sono sostituite dalle tecnologie di
nuova generazione. E così via. Agli ecosistemi naturali abbiamo affiancato
ecosistemi tecnologici, le cui “specie” sono in continua e rapida
co-evoluzione. Questi ecosistemi costituiscono l’ambiente di tutte le nostre
attività, e da essi non possiamo più prescindere.
Questa tendenza all’evoluzione accelerata dei prodotti
software e all’iperfunzionalismo potrebbe ridursi, almeno in parte, con la
trasformazione, in atto da tempo, del software da prodotto a servizio, erogato
attraverso la rete (software as a service,
SaaS). In questo caso, infatti,
l’adattamento del software ai cambiamenti dell’ecosistema sarebbe effettuato a
cura del fornitore del servizio, senza che l’utente debba necessariamente
esserne consapevole. D’altra parte, i ricavi del fornitore del servizio non
derivano più dalla vendita delle licenze per l’uso delle nuove versioni, più
aggiornate e funzionalmente più ricche (come nel mercato tradizionale dei
prodotti software), ma dal pagamento dei canoni del servizio, secondo il
modello pay per use, o dalla
pubblicità veicolata attraverso di esso. Non sarà quindi più costretto a
proporre al mercato versioni sempre nuove di ogni prodotto, per mantenere
costante o in crescita il flusso dei ricavi, ma sarà più interessato alla
fidelizzazione degli utenti e alla crescita del loro numero.
W.
Brian Arthur, economista e pioniere delle scienze della complessità, ha
descritto molto bene, nel suo libro The
Nature of Technology, i
meccanismi che determinano l’evoluzione della tecnologia:
Non
appena nuove tecnologie individuali sono prodotte, esse divengono potenziali building
block per la costruzione di altre nuove tecnologie. Il risultato è una forma di
evoluzione combinatoria, il cui meccanismo di base differisce da quello
dell’evoluzione darwiniana standard. Le nuove tecnologie sono create da building
block che sono essi stessi tecnologie, e diventano potenziali building block
per la costruzione di ulteriori nuove tecnologie. Ciò che alimenta questa
evoluzione è la conquista e lo sfruttamento di fenomeni nuovi, ma ciò richiede la
disponibilità di tecnologie che ne permettano la conquista e lo sfruttamento.
Da queste due affermazioni possiamo dire che la tecnologia crea se stessa a
partire da se stessa. In questo modo l’insieme delle arti meccaniche
disponibili a una cultura si autoalimenta, generando da pochi building block
iniziali molti building block, e da elementi semplici elementi più complicati.
[…]
Al
cuore di questo processo vi è la combinazione di parti e funzionalità adatte a
formare una soluzione, concettuale o fisica. Ma questa non è l’unica forza che
guida l’evoluzione della tecnologia. L’altra è la necessità, la richiesta di
nuovi modi di fare le cose. E le necessità, a loro volta, nascono più dalla
tecnologia che direttamente dai desideri umani; esse derivano principalmente
dalle limitazioni delle tecnologie stesse e dai problemi da esse generati.
Questi devono essere risolti mediante ulteriori nuove tecnologie, cosicché, nella
tecnologia, la necessità deriva dalla soluzione tanto quanto la soluzione
deriva dalla necessità.
L’evoluzione combinatoria consiste nel costituirsi dei bisogni tanto
quanto delle soluzioni agli stessi. Il processo complessivo con cui tutto
questo avviene non è né uniforme né piano. In ogni momento, il collettivo della
tecnologia evolve aggiungendo o eliminando tecnologie, creando nicchie di
opportunità per ulteriori tecnologie, e scoprendo nuovi fenomeni. Interi corpi
di tecnologie evolvono, nel senso stretto di un continuo sviluppo: essi
emergono, cambiano costantemente il loro “vocabolario”, e sono assorbiti dalle
industrie dell’economia. E anche le singole tecnologie evolvono –
sviluppandosi. Per fornire migliori prestazioni, esse cambiano continuamente le
loro parti interne, sostituendole con assemblaggi più complessi. Il risultato è
un continuo modificarsi a tutti i livelli. A tutti i livelli appaiono nuove
combinazioni, vengono aggiunte tecnologie nuove, e le vecchie scompaiono. In
questo modo la tecnologia esplora costantemente l’ignoto, crea costantemente
nuove soluzioni e nuovi bisogni e, con questi, una perpetua novità. Il processo
è organico: strati nuovi si formano sopra quelli vecchi, e creazioni e
rimpiazzi si sovrappongono nel tempo. Nel suo significato collettivo, la
tecnologia non è semplicemente un catalogo di parti individuali. È una chimica
metabolica, un collettivo quasi illimitato di entità che interagiscono e
costruiscono da quello che c’è, per produrre nuove entità – e nuovi
bisogni.[6]
Il complesso sistema di cicli di feedback, schematizzato in Figura
11, ha generato tradizionalmente una forte tendenza all’iperfunzionalismo dei prodotti
tecnologici: i prodotti sul mercato tendono a fornire prestazioni in eccesso
rispetto alle esigenze degli utenti. Questa tendenza è particolarmente visibile
nei prodotti software (e in quei prodotti che contengono una componente
importante di software), che sono i manufatti evolutivi per eccellenza:
modificare il software non richiede modifiche a impianti di produzione, e le nuove
versioni possono essere distribuite, attraverso la rete, a costi
sostanzialmente nulli.
Donald Norman, nel suo libro Il computer invisibile, ha presentato un
modello dell’evoluzione tipica dei prodotti ad alta tecnologia, in cui si
mettono a confronto, da un lato, le prestazioni del prodotto durante la sua
evoluzione e, dall’altro, le necessità degli utenti che il prodotto è in grado
di soddisfare (Figura
14).
Figura 14. Evoluzione dei prodotti high-tech secondo D.Norman
Secondo questo modello, nella prima
fase di vita di ogni prodotto le sue prestazioni sono inadeguate rispetto ai
bisogni degli utenti. In questa fase il prodotto è ancora immaturo: si tratta,
per così dire, di una tecnologia che cerca, senza ancora riuscirci appieno, di
soddisfare le esigenze dei suoi utenti (fase centrata sulla tecnologia). In
seguito all’evoluzione del prodotto, esso – ammesso ovviamente che
sopravviva nel mercato – raggiunge il “punto di pareggio”, nel quale le
prestazioni eguagliano i bisogni del suo utente tipico, quello a cui si rivolge
prioritariamente. In seguito a ulteriori evoluzioni, il prodotto entrerà in una
fase in cui le prestazioni eccedono i bisogni di questo utente, perché cercherà
via via di soddisfare le esigenze di tutti
i possibili utenti (fase centrata sull’utente). Il livello di iperfunzionalismo conseguente può essere più o
meno spinto. Nel caso dei prodotti software la tendenza all’iperfunzionalismo è
esasperata. Oggi esistono prodotti in cui l’utente tipico usa solo una piccola
– o piccolissima – parte delle funzioni disponibili. Appartengono a
questa categoria le tradizionali suite software di office (dai word processor
ai fogli elettronici) e di elaborazione grafica, presenti sul mercato fin
dall’inizio dell’era dei personal computing e ciononostante ancora in continua
trasformazione, dopo essersi evolute attraverso numerose versioni.
Il modello di Figura 14, che Norman ha applicato ai singoli prodotti, può essere applicato anche a
interi ecosistemi tecnologici. Pensiamo, per esempio, al gran numero di
prodotti “ancillari” che vengono messi sul mercato a complemento di specifici
prodotti di largo successo.
Pensiamo, solo per fare due esempi noti, alle 100.000 (centomila!)
applicazioni software disponibili agli utenti di iPhone dopo soli tre anni dal
suo lancio sul mercato, e all’indotto di applicazioni software installabili
sulle pagine di Facebook.
Questa ricchezza funzionale può indubbiamente essere
considerata un vantaggio per l’utente, che può trovare sul mercato soluzioni
adeguate per le esigenze più varie, anche quelle più sofisticate. A fronte di
questi evidenti vantaggi, tuttavia, gli svantaggi sono numerosi.
Innanzitutto,
la continua e accelerata evoluzione delle soluzioni nel tempo crea numerosi e
significativi problemi. L’utente, selezionando un certo prodotto, sa che il suo
ciclo di vita sarà breve – e sempre più breve col passare del tempo.
L’evoluzione della tecnologia lo renderà presto obsoleto, e probabilmente non
più compatibile con gli altri prodotti del suo ecosistema. Sarà quindi forzato
ad acquistare nuove versioni del prodotto, anche al di là delle sue reali
necessità, a causa della non compatibilità delle versioni vecchie con il nuovo
contesto operativo. Anche senza
considerare lo svantaggio di carattere economico, che può essere rilevante, ciò
lo costringe a imparare di nuovo, almeno in parte, un sistema già noto. D’altra
parte, l’accumulo continuo di nuove funzionalità produce versioni sempre più sofisticate
e complesse, progettate per rispondere alle esigenze di tutti i possibili
utenti o, più semplicemente, per superare le prestazioni della concorrenza.
Questa complessità funzionale mette a dura prova chi ha esigenze “normali”, che
deve districarsi fra mille funzioni a lui non necessarie.
A
questi svantaggi si aggiunge il rischio di instabilità del prodotto: la
crescita della complessità strutturale aumenta inevitabilmente la probabilità
di errori nel software. D’altro canto, la frequenza dei rilasci, che si
susseguono a distanza ravvicinata, rende difficile al produttore stabilizzare
il software, che può contenere malfunzionamenti anche gravi.
L’utente
è costretto, per risolvere i suoi problemi, a ricorrere all’assistenza di
tecnici specializzati i quali, d’altra parte, non sono sempre adeguatamente
aggiornati: anche per loro non è facile mantenere una competenza
adeguata su sistemi in costante evoluzione. Come conseguenza inevitabile,
assistiamo alla proliferazione di comunità di utenti che, comunicando in rete
attraverso forum, blog o social network, condividono le loro esperienze per
aiutarsi reciprocamente a fronteggiare i problemi posti dall’uso dei prodotti
della tecnologia.
Nonostante
una generalizzata tendenza all’eccesso, che ci fa spesso percepire la frequenza
del ricambio tecnologico come un’imposizione forzata e non necessaria, noi non
siamo in grado di isolarci dalla tecnologia. Le possibilità di comunicare con i
nostri simili, di operare negli ambienti di lavoro, di acquistare le merci e i
servizi di cui abbiamo bisogno, di informarci e di studiare, di ricrearci, di
viaggiare e di curarci ci impongono in modo sempre più massiccio l’uso di
sistemi tecnologici di vario tipo. La società odierna si basa sulla tecnologia,
ed è fondamentale che essa sia egualmente accessibile a tutti coloro che ne
possano beneficiare, pena la discriminazione fra chi è in grado di usufruirne e
chi non lo è, e l’isolamento di questi ultimi dal contesto sociale ed economico.
In un contesto in cui gli strumenti di uso quotidiano sono
funzionalmente abbastanza semplici e soggetti a un’evoluzione lenta, come
avveniva nell’era pre-digitale, il problema della complessità d’uso può essere
considerato relativamente marginale. La semplicità funzionale e, soprattutto,
la stabilità nel tempo permettevano all’utente di sfruttare a lungo le
conoscenze acquisite per il loro utilizzo. L’utilizzo di un telefono fisso
degli anni ‘60, come quello al centro della Figura 10, si imparava in poco
tempo, e questa conoscenza era utilizzabile molto a lungo. Oggi, come si è
visto, la situazione è profondamente mutata. In questo nuovo contesto, il
problema della complessità d’uso diventa potenzialmente drammatico.
Il
cosiddetto divario digitale (digital divide), che separa chi può accedere alle tecnologie utili e ai
conseguenti vantaggi da chi non può farlo, ha molte cause e molte facce. La
discriminante non è solo di natura economica. Vengono “tagliati fuori” anche
tutti coloro che, per motivi di età, di cultura, di formazione, di lingua, di
geografia non hanno accesso ai sistemi indispensabili per la vita di oggi.
Secondo uno studio dell’Unione Europea condotto nel 2005 in 14 Paesi membri, il
divario digitale è primariamente legato all’età e al livello di istruzione. In
percentuale, i giovani scolarizzati che utilizzano i computer o Internet sono
molti di più degli anziani non scolarizzati: la percentuale fra i giovani dai
16 ai 24 anni è tre volte maggiore di quella degli anziani dai 55 ai 74 anni.
Una differenza analoga si osserva quando si confrontano persone con alto e
basso livello di istruzione. Inoltre, il divario digitale è maggiore nelle aree
rurali scarsamente popolate.
Gli
anziani o, più in generale, tutti coloro che non sono “nativi digitali”, hanno
notevoli difficoltà ad avvicinarsi agli strumenti dell’informatica, che i più
giovani utilizzano con naturalezza anche senza uno specifico addestramento.
Questo gap generazionale non è
destinato a risolversi spontaneamente con la scomparsa delle generazioni più
anziane, come si potrebbe ottimisticamente – anche se alquanto
cinicamente - pensare. Come abbiamo visto nelle pagine precedenti, il tasso di
cambiamento è tale che, con ogni probabilità, la situazione attuale si
riprodurrà – in modo sempre più drammatico – nelle generazioni
future. I nativi digitali di oggi saranno gli anziani di domani, alle prese con
tecnologie sempre più lontane dalla loro esperienza e formazione.
Chi
scrive ha tentato invano, per anni, di convincere la madre ottantenne a
utilizzare sistematicamente un telefono cellulare per restare in contatto con
la famiglia. Anche se il dispositivo era fra i più semplici presenti sul
mercato, l’impresa si è rivelata pressoché impossibile, per la presenza di numerose
difficoltà. Queste difficoltà sono innanzitutto di tipo culturale. La
“distanza” fra il dispositivo e gli apparecchi telefonici tradizionali, ai
quali l’anziano è abituato fin da bambino, non è solo relativa alla forma.
Tutta l’interazione è profondamente diversa, e questa diversità si rivela a
volte molto più difficile da superare di quanto si potrebbe aspettare chi ha
già “metabolizzato” l’uso dello strumento.
Prima
difficoltà. Sul telefono tradizionale si compone il numero e poi si alza la cornetta. Sul telefono
cellulare questa non esiste, è esso stesso, se così si può dire, cornetta, e
l’avvio della conversazione si fa premendo il tasto verde, prima o dopo aver composto il numero. Seconda difficoltà. I tasti
di un cellulare non sono protetti, ed è facile che siano premuti
inavvertitamente durante il trasporto, generando chiamate spurie all’ultimo
numero in memoria. Occorre allora bloccarli, con una manovra che richiede la
pressione sincronizzata di due tasti lontani, con una manovra che l’anziano può
trovare difficile. Un apparecchio che a volte produce, non richiesto, delle
telefonate “fantasma” verrà allora considerato inaffidabile. Terza difficoltà.
Gli apparecchi più semplici sono spesso i più piccoli, e tendono a sfuggire di
mano. La tastiera è piccola, ed è facile premere i tasti sbagliati. L’anziano
ha spesso difficoltà di udito, ma l’altoparlante non è visibile, a
differenza delle vecchie cornette,
e può essere posizionato male vicino all’orecchio. D’altro canto, il tasto di
regolazione del volume può essere poco evidente e operabile con difficoltà.
Quarta difficoltà. La pratica di operare attraverso menu, che nei nativi
digitali è acquisita fin dai primi anni di vita, è del tutto estranea
all’anziano, che non sa districarsi fra le numerose opzioni previste anche nei
cellulari più semplici. Un banale errore nella navigazione, o la pressione
involontaria di un tasto, può portare il telefono in uno stato indesiderato,
non facilmente riconoscibile dalle informazioni presenti su uno schermo troppo
piccolo o troppo poco luminoso per chi non ha una buona vista. A volte, per
riconoscere lo stato dell’apparecchio bisogna effettuare una navigazione
specifica, facile solo per chi possiede un modello mentale del suo
funzionamento. Tutto questo – e sarebbe facile continuare –
contribuisce a farlo percepire come un oggetto estraneo, se non addirittura
ostile.
D’altro canto, non è possibile segregare gli anziani dalla tecnologia. Per
esempio, gli strumenti che permettono di comunicare e di informarsi, come il
telefono cellulare, la televisione e Internet, sono oggi indispensabili per
mantenersi in contatto con la comunità. Si è fatto l’esempio del cellulare, ma
sarebbe facile descrivere le difficoltà nell’accesso a Internet, con i browser
funzionalmente sempre più complessi. Anche la televisione, prodotto
culturalmente già da molti anni metabolizzato dalla grande maggioranza della
popolazione, nel processo di digitalizzazione si modifica drasticamente.
L’anziano ha oggi a che fare con uno o più decoder, telecomandi con numerosi
tasti e, ancora una volta, menu di navigazione con opzioni sempre più numerose.
Come è noto, in Italia il passaggio al digitale terrestre ha dovuto superare
notevoli difficoltà.
Il
problema dell’accesso degli anziani alla tecnologia è di vasta portata,
considerato la continua tendenza all’invecchiamento della popolazione dei paesi
sviluppati, conseguenza delle migliorate condizioni di vita e dell’assistenza
sanitaria. Nell’Unione Europea, le persone di almeno 65 anni di età, che erano il 17%
della popolazione nel 2008, diventeranno il 30% nel 2060. Quelle di almeno 80 anni
passeranno dal 4,4% al 12% nello stesso periodo. Il processo di invecchiamento è ancora più rilevante
in Italia, dove il tasso di natalità è basso. Secondo l’ISTAT, a fine 2008 un
italiano su cinque aveva almeno 65 anni, con una crescita di 5 punti
percentuali rispetto a 10 anni prima. Gli ultraottantenni rappresentavano
invece il 5,6% della popolazione italiana, con una crescita di 2,5 punti
percentuali nello stesso periodo. Sempre in Italia, l’aspettativa di vita superava,
nel 2008, gli 83 anni per le donne e i 77 anni per gli uomini, con un
incremento superiore ai 10 anni, per entrambi, rispetto al 1960.
Anche per le persone di età intermedia (oggi due terzi degli italiani hanno
dai 15 ai 64 anni), la complessità d’uso degli strumenti può costituire una
barriera importante al loro utilizzo. Chi non ha preso familiarità con la
tecnologia fin dall’età scolastica, e non deve utilizzarla nel lavoro
d’ufficio, è facile che ne rimanga lontano. Significativamente, la presenza di
bambini in famiglia stimola
fortemente l’accesso alle tecnologie dell’informazione: secondo lo studio del
2005 più sopra citato, la percentuale di famiglie che possiedono un personal
computer è del 50% più alta se ci sono bambini. Lo stesso vale per le
connessioni internet e la banda larga.
Oltre a
coloro che hanno difficoltà nell’accesso alle tecnologie per motivi economici,
di età o di istruzione, occorre considerare coloro che soffrono di particolari
disabilità che possono in qualche modo impedirne l’utilizzo: sordità,
ipovisione, daltonismo, cecità, disabilità motorie, disabilità cognitive e così
via. Oppure coloro che dispongono di tecnologie obsolete o, in un mondo in cui
l’utilizzo della rete è sempre più pervasivo, di connessioni internet particolarmente
lente.
La riduzione del divario digitale può essere affrontata da più punti di
vista. Innanzitutto, garantendo con ogni mezzo a tutti i cittadini la
possibilità di accesso alla tecnologia, in particolare a Internet e alla banda
larga, e promuovendo una diffusa alfabetizzazione informatica. A questo, per
esempio, sono dedicati i programmi di e-inclusione
promossi dall’Unione Europea:
L’E-Inclusione
(“e” per elettronica) punta ad assicurare che le persone svantaggiate non siano
escluse per mancanza di alfabetizzazione digitale o accesso internet.
E-inclusione significa anche trarre vantaggio dalle nuove opportunità offerte
dai servizi tecnici e digitali per l’inclusione delle persone socialmente
svantaggiate e delle aree meno favorite. La Società dell’Informazione ha la
possibilità di distribuire la conoscenza più equamente e di offrire nuove
opportunità di lavoro, superando le barriere tradizionali alla mobilità e alla
distanza geografica.[7]
Queste
iniziative considerano, sostanzialmente, la complessità d’uso della tecnologia
una variabile indipendente. In altre parole, se la tecnologia pone delle
difficoltà, si opererà in primo luogo sui suoi utenti, istruendoli e avvicinandoli
a essa in ogni modo possibile. Un approccio diverso, e complementare, è quello,
per così dire, di modificare la tecnologia dall’interno, promuovendo fra chi la
progetta e la produce una cultura della semplicità,
che consideri la facilità d’uso non come una semplice caratteristica fra le
altre (il peso, il prezzo, il colore, …) ma come un prerequisito
indispensabile.
Secondo
questa filosofia, la facilità d’uso non deve essere considerata solo dal punto
di vista economico, come un mezzo per vendere di più i prodotti in un mercato
di massa o per aumentare la produttività di chi li usa. Il suo scopo principale
è di permettere l’accesso a strumenti che semplificano – o rendono
possibili - i compiti quotidiani, facendoci risparmiare tempo e migliorando la
qualità della nostra vita. Da questo punto di vista non può e non deve essere
considerata un optional, ed è precisa
responsabilità dei progettisti acquisire le conoscenze, i metodi e gli
strumenti per la progettazione di sistemi che siano utilizzabili senza problemi
da tutti i loro potenziali utenti. Progettare per tutti significa allora tenere conto di queste diversità e
preservarle, facendo sì che ciascuno possa accedere in modo naturale agli
strumenti che gli servono, senza difficoltà o forzature. La disciplina della progettazione,
tradizionalmente centrata sulla risoluzione dei problemi tecnologici e della
produzione industriale dei prodotti, deve trasformarsi, e considerare, come
punto di partenza e arrivo, le necessità dell’utente.
In
questo contesto, l’interfaccia d’uso dei sistemi riveste un ruolo fondamentale.
Essa ha il
compito di “filtrare” la complessità, presentando all’utente un’immagine
semplificata del prodotto, e congruente con i compiti che egli deve svolgere (Figura 15). Una buona interfaccia non solo nasconde
la complessità interna del sistema, ma ne riduce la complessità funzionale,
mettendo a disposizione dell’utente funzioni di più alto livello, in grado di
effettuare compiti complessi con un grado di automatismo maggiore. Ciò viene
realizzato integrando numerose funzionalità semplici in funzionalità più
potenti, con il risultato di semplificare il dialogo fra l’utente e il
sistema. Per esempio, i primi word
processor non avevano funzioni di controllo ortografico, che erano invece
realizzate da programmi separati. L’utente doveva quindi imparare a usare
questi programmi, e attivarli dopo avere composto il testo. In seguito, queste
funzioni furono integrate nei word processor, che fornirono nuovi comandi
dedicati allo scopo. I word processor odierni realizzano un ulteriore livello
di semplificazione: il controllo ortografico può essere effettuato
automaticamente dal sistema, durante la digitazione del testo, senza che
l’utente lo debba richiedere esplicitamente.
Figura 15. L’interfaccia utente come filtro semplificatore
È
interessante osservare che questo ruolo di semplificazione svolto
dall’interfaccia, a fronte della sempre crescente complessità funzionale dei
sistemi, produce come conseguenza una significativa crescita quantitativa del
software che la gestisce. Già nel 1992, uno studio relativo a una settantina di
sistemi software di ogni tipo e dimensione mostrava che, in media, il 48% del
codice era dedicato alla gestione dell’interfaccia con l’utente. I costi di progettazione, di sviluppo e
di manutenzione di tale codice incidevano, rispettivamente, per il 45%, il 50% e il 37% sui costi
complessivi di ciascuna di queste tre attività. [8]
Oggi,
molto più di ieri, il progettista ha di fronte a sé una sfida non eludibile:
conciliare complessità (strutturale e funzionale) e semplicità d’uso – per tutti. La sfida è difficile, poiché
richiede un modo di progettare del tutto nuovo rispetto al passato. Come
vedremo nei prossimi capitoli, essa può essere vinta soltanto a patto di
modificare completamente l’approccio tradizionale alla progettazione dei
sistemi. Un vero e proprio nuovo paradigma
nell’ingegneria, che richiede di
cambiare le metodologie di progettazione e sviluppo, la composizione dei gruppi
di progetto e la formazione stessa dei progettisti. Da una progettazione
sistema-centrica è necessario passare a una progettazione centrata sull’essere
umano, che consideri le esigenze dell’utente prima di ogni altra cosa. Questa
trasformazione può apparire banale, ma è di vasta portata. Anche se di
progettazione centrata sull’essere umano si parla da una ventina d’anni, le
pratiche tradizionali nelle attività di progetto, molto lontane da questa
filosofia, sono ancora ben radicate. Non si comprende che la facilità d’uso è
un attributo che si deve conquistare faticosamente, durante tutta la durata di
un progetto, attuando interventi e pratiche specifiche, e non un facile slogan
da scrivere sulle brochure commerciali.
Questo
nuovo ruolo dell’interfaccia, che da strumento di controllo diviene strumento
di semplificazione, assume importanza rilevante con la diffusione dei prodotti
tecnologici sui mercati di massa, e in particolare dei personal computer, a
partire dai primi anni ’80 del secolo scorso. Nel 1981 l’IBM lancia sul mercato il suo personal computer,
avviando una rivoluzione che in pochi anni modificherà radicalmente il panorama
dell’informatica. I nuovi prodotti
software dell’informatica personale, che sono sviluppati in quegli anni, non si
rivolgono più a un mercato di specialisti, come le applicazioni degli anni
precedenti, ma a una massa di utilizzatori senza competenze di informatica.
Questi pretendono strumenti di facile uso, e ciò promuove le ricerche sui
metodi legati alla realizzazione di “buone” interfacce utente. Proprio in
quegli anni nasce allora una disciplina nuova, subito denominata Human-Computer Interaction (abbreviata
con la sigla HCI).
Il
SIGCHI, lo Special Interest Group on
Computer-Human Interaction dell’ACM, l’associazione dei professionisti
americani dell’informatica, nasce nel 1982. Le principali conferenze del
settore nascono anch’esse in quegli anni: nel 1983 la Computer-Human Interaction Conference dell’ACM (CHI), organizzata
annualmente dallo stesso SIGCHI; nel 1984 l’Interact
Conference dell’IFIP, nel 1985 la HCI
Conference della British Computer Society, e così via. Alcune università
iniziano a offrire corsi di HCI all’interno dei curriculum di informatica.
Un anno
simbolicamente importante nella storia dell’HCI è il 1992, quando il SIGCHI
pubblica un’articolata proposta per un curriculum di studi universitari sulla
Human-Computer Interaction, che viene così definita:
HCI è una disciplina che si occupa della
progettazione, valutazione e realizzazione di sistemi interattivi basati su
computer destinati all’uso umano e dello studio dei principali fenomeni che li
circondano.[9]
Come si
vede, si tratta di una definizione molto ampia, che colloca l’HCI
all’intersezione di più discipline molto diverse: l’ingegneria, le scienze
dell’uomo, le scienze dei computer. Infatti, come recita ancora il documento
del SIGCHI:
L’HCI
nel suo complesso è un’area interdisciplinare. Sta emergendo come una
specializzazione all’interno di parecchie discipline, con enfasi differenti: la
scienza dei computer (la progettazione delle applicazioni e l’ingegnerizzazione
delle interfacce umane), la psicologia (l’applicazione delle teorie dei
processi cognitivi e l’analisi empirica dei comportamenti degli utenti), la
sociologia e l’antropologia (le interazioni fra la tecnologia, il lavoro e
l’organizzazione), e l’industrial design (i prodotti interattivi).
Questa
disciplina, seppur nuova, non nasceva dal nulla. Da un lato, infatti, faceva
riferimento all’ergonomia, la scienza sviluppata, soprattutto a partire dagli
anni successivi alla seconda guerra mondiale, per studiare il fit fra le persone e il loro ambiente di
lavoro. Dall’altro, s’ispirava alle idee di alcuni pionieri dell’informatica,
che già dagli anni 60 avevano iniziato a studiare nuove e più strette modalità
di interazione fra uomo e calcolatore.
Inizialmente, l’ergonomia (dalle parole
greche ergon, lavoro
e nomos, legge) studiava soprattutto le compatibilità fra le caratteristiche fisiche
dell’uomo e della macchina, studiando la disposizione ottimale dell’ambiente e
delle apparecchiature di lavoro in funzione dei compiti da svolgere (Figura 16), e mettendo spesso in evidenza l’esistenza di situazioni problematiche,
che potevano portare a varie forme di disabilità. A questo scopo, gli ergonomi
utilizzavano i risultati di varie discipline, quali l’antropometria, la
biomeccanica, l’ingegneria, la fisiologia e la psicologia. Successivamente, con
l’aumento della complessità dei compiti, l’ergonomia ha spostato sempre più la
propria attenzione sullo studio dei processi cognitivi e di elaborazione delle
informazioni sottostanti ai processi del lavoro umano e, in particolare,
all’interazione fra essere umani e tecnologia (ergonomia cognitiva).
Figura 16. Postura ergonomica al posto di lavoro (da Wikipedia)
Secondo la definizione dell’AIE
(Associazione Italiana di Ergonomia),
L'Ergonomia (o scienza del Fattore Umano) ha come oggetto
l'attività umana in relazione alle condizioni ambientali, strumentali e
organizzative in cui si svolge. Il fine è l'adattamento di tali condizioni alle
esigenze dell'uomo, in rapporto alle sue caratteristiche e alle sue attività.
Nata per studiare e far rispettare nella progettazione una serie di norme che
tutelano la vita del lavoratore e accrescono l'efficienza e l'affidabilità dei
sistemi uomo-macchina, l'ergonomia ha allargato il proprio campo di
applicazione in funzione dei cambiamenti che sono sopravvenuti nella domanda di
salute e di benessere. L'obiettivo attuale è quello di contribuire alla
progettazione di oggetti, servizi, ambienti di vita e di lavoro, perché
rispettino i limiti dell'uomo e ne potenzino le capacità operative. L'ergonomia
si alimenta delle acquisizioni scientifiche e tecnologiche che permettono di
migliorare la qualità delle condizioni di vita, in tutte le attività del
quotidiano.[10]
Gli
uomini della HCI venivano tuttavia, in buona parte, dalla scienza dei computer.
Molti di loro sperimentavano da tempo nuove modalità di interazione con la
macchina, nella convinzione che i calcolatori non servissero solo a elaborare e
gestire grandi quantità di dati aziendali o scientifici, ma potessero diventare
delle vere e proprie protesi cognitive,
utilizzabili dalle persone per eseguire compiti complessi. Nel 1962, in un
famoso rapporto relativo a una ricerca per “aumentare l’intelletto umano”
attraverso gli strumenti dell’informatica[11], Douglas Engelbart scriveva:
Aumentare l’intelletto umano significa per noi incrementare le capacità di una persona di affrontare una situazione problematica complessa, di raggiungere la comprensione necessaria a scopi particolari e di trovare soluzioni ai problemi. Per incremento delle capacità, in questo contesto, intendiamo una miscela delle cose seguenti: comprensione più rapida, comprensione migliore, possibilità di ottenere un livello di comprensione utile in una situazione precedentemente troppo complessa, soluzioni più rapide, soluzioni migliori, e la possibilità di trovare soluzioni a problemi che prima sembravano insolubili. E tra le situazioni complesse includiamo i problemi professionali dei diplomatici, dei manager, degli scienziati sociali, degli scienziati della vita, dei fisici, degli avvocati, dei progettisti – che la situazione problematica esista per venti minuti o per venti anni. Non stiamo parlando di trucchi intelligenti e isolati che sono di aiuto in situazioni particolari. Ci riferiamo a un modo di vivere in un dominio integrato dove le intuizioni, i tentativi, le cose intangibili e il “senso della situazione” dell’uomo coesistano utilmente con concetti potenti, con terminologie e notazioni efficienti, con metodi sofisticati e con ausili elettronici di grande potenza.
Le
ricerche pionieristiche di Engelbart presso lo Stanford Research Institute
produssero molte invenzioni fondamentali, fra cui mouse e puntatori, display editor,
outline processing, finestre, ipertesti, video conferenze, help contestuale. La
sua visione influenzò profondamente tutti gli sviluppi successivi del personal
computing. In particolare, i ricercatori del Palo Alto Research Center (PARC) della Xerox, che svilupparono le
sue idee e produssero già negli anni ’70 i primi prototipi di workstation
personali. Con il personal computer, lanciato sul mercato di massa fra la fine
degli anni ’70 e l’inizio degli anni 80, nascono numerosi strumenti di nuova
concezione: il word processor, lo spreadsheet e gli altri strumenti di
elaborazione personale che, a partire
da quegli anni, generano la nuova industria dei pacchetti software per
il mercato di massa.
Dai
progetti pionieristici dei primi anni, molte cose sono successe. Il personal
computer, da strumento “da scrivania” si è evoluto in strumento portatile, e la
successiva evoluzione delle reti ha prodotto una nuova enorme crescita delle
possibilità – e della complessità – degli strumenti. Abbiamo
costruito strumenti che ci permettono di elaborare idee e informazioni
enormemente complesse, e che ci permettono di gestirle e di comunicarle
istantaneamente e massivamente a interlocutori sparpagliati negli angoli più
remoti del pianeta. La diffusione della telefonia mobile (dalla fine degli anni
’80) e della rete Internet (dall’inizio degli anni 90) hanno dato
un’accelerazione formidabile a questi processi. Questa situazione è davanti agli
occhi di tutti, e non è necessario fornire esempi. Si pensi soltanto alla
complessità dei mercati finanziari di oggi, che non potrebbero esistere senza
l’informatica evoluta degli ultimi anni. Reti di operatori che, dalle varie
piazze del mercato globale, effettuano compravendite non di prodotti tangibili,
ma di oggetti astratti costituiti da certificati azionari, debiti e crediti,
impegni, scommesse.
Da
allora la disciplina della Human-Computer Interaction si è sviluppata in modo
considerevole, in molte direzioni, come si vede dalla Figura 17, che riporta i 50 termini più
frequentemente citati negli atti delle conferenze CHI tenute nei primi 23 anni
(dal 1983 al 2006).[12]
Figura 17. Frequency cloud dei termini usati negli atti delle CHI Conference tenute dal 1983 al 2006
Oggi, gli
argomenti principali considerati dalla disciplina della HCI, secondo Wikipedia,
sono i seguenti:
· metodologie e processi per la progettazione delle interfacce;
· tecniche per l’implementazione delle interfacce (per esempio, algoritmi, strumenti e librerie software);
· tecniche per valutare e confrontare le interfacce;
· sviluppo di nuove interfacce e di nuove tecniche di interazione;
· sviluppo di modelli descrittivi e previsionali, e di teorie dell’interazione.
Questi
obiettivi non sono sostanzialmente diversi da quelli enunciati nel curriculum
del 1992 dell’ACM. È però profondamente cambiato l’oggetto di studio: dallo
studio dell’interazione con i computer in senso stretto, essa si rivolge oggi a
quello dell’interazione con oggetti interattivi di ogni tipo. Il nome Human-Computer Interaction è
rimasto, ma, con l’evoluzione delle applicazioni, il computer in molti casi si
è reso “invisibile”, inserito come componente interno di oggetti intelligenti
di varia foggia, specializzati nello svolgimento dei compiti più disparati. Il
computer c’è sempre – anzi è sempre più pervasivo – ma, come nel
titolo di un famoso libro di Donald Norman dedicato all’argomento, è sempre più
“invisibile”.
1. Spiega che cosa s’intende per interfaccia d’uso.
2. Costruisci due diagrammi come quelli di Figura 5 e Figura 8 utilizzando quattro prodotti diversi da quelli utilizzati nel libro.
3. Identifica e descrivi sinteticamente i cambiamenti più importanti avvenuti negli ultimi 5 anni nelle tue attività quotidiane, a seguito dell’adozione di nuovi prodotti di natura tecnologica.
4. Riassumi le cause principali dell’evoluzione accelerata dei prodotti software per personal computer, e sintetizza vantaggi e svantaggi di questa accelerazione.
5. Che cosa s’intende con accessibilità?
6. Analizza e descrivi le cause e il livello del divario digitale, se esiste, fra te e gli altri membri della tua famiglia.
7. Di che cosa si occupa la disciplina della Human Computer Interaction? Elencane le principali aree d’interesse.
8. Quali sono le principali differenze fra ergonomia e HCI?
1. Approfondisci il concetto di digital divide, prendendo le mosse dalle voci (in italiano e in inglese) di Wikipedia.
2. Esaminando il portale tematico della Commissione Europea sulla e-inclusion (http://ec.europa.eu/information_society/activities/einclusion/index_en.htm), individua le politiche avviate su questo tema.
3.
Il seguente
articolo contiene una sintesi interessante della storia della HCI. S.Bagnara,
S.Pozzi, Fondamenti, Storia e Tendenze
dell’HCI, in A.Soro (ed.), Human Computer Interaction – Fondamenti
e prospettive, pagg. 17-42, Ed.Polimetrica, 2009 (disponibile anche in
rete).
4.
Uno dei principali
convegni scientifici nel campo della HCI è il convegno CHI, organizzato
annualmente dal SIGCHI dell’ACM.
Gli atti di questo convegno sono disponibili in rete, in http://www.acm.org (in questo sito, selezionare
Proceedings, poi CHI). Esamina gli atti dell’ultimo convegno, per farti un’idea
del tipo di temi affrontati.
[1] L’ISO 9241 è composto da un insieme di documenti molto ampio, in evoluzione
da una ventina d’anni. Inizialmente, esso trattava essenzialmente gli aspetti
ergonomici dei terminali video utilizzati per il lavoro di ufficio, ed aveva
come titolo Ergonomic requirements for
office work with visual display terminals (VDTs). Da allora, gli obiettivi
si sono ampliati, ed è in corso un processo di revisione dell’intero standard,
rinominato di recente, più genericamente, Ergonomics of Human-System
Interaction.
[2]
Le definizioni di interactive system, task, user interface, dialogue sono
tratte (in nostra traduzione) dal documento ISO
9241 Part 110: Dialogue principles.
[3]
I punti funzione misurano
la dimensione di un sistema software quantificando le funzionalità fornite
all’utente sulla base solamente del progetto logico e delle specifiche
funzionali, indipendentemente dal linguaggio di programmazione usato per
l’implementazione. Il conteggio dei punti funzione può avere diversi obiettivi: misurare la complessità funzionale del
sistema; stimarne i costi di sviluppo e di manutenzione; fornire una misura
normalizzata che permetta di confrontare progetti e organizzazioni di sviluppo
diversi (cfr. il sito dell’International Function Point User Group, in http://www.ifpug.org/).
[4]
Da
Capers
Jones, A New Business Model for Function Point Metrics, Version 7.0, maggio 2008, disponibile in rete
[5] Cfr. http://www.mattscomputertrends.com .
[6] W.Brian Arthur, The Nature of Technology – What it is and how it evolves, Free Press, 2009, pagg.204-205 (nostra traduzione dall’inglese).
[7] Da http://ec.europa.eu/information_society/activities/einclusion/index_en.htm (nostra
traduzione). Il documento i2010, Strategy for an innovative and inclusive
European Information Society, approvato dalla Commissione Europea 2005 (http://ec.europa.eu/12010),
forniva un insieme di linee guida generali, di tipo politico e strategico, per
la Società dell’Informazione nell’Unione Europea, fino all’anno 2010.
[8] B.A.Myers,
M.B.Rosson, Survey on User Interface
Programming, in ACM CHI 92 Conference Proceedings, pp.195-202.
[9] ACM SIGCHI, Curricula for Human Computer
Interaction, 1992, vedi http://www.acm.org/sigchi/cdg/.
[11] D.Engelbart, Augmenting Human Intellect: A Conceptual
Framework, Stanford Research Institute, Ottobre 1962 (reperibile in rete).
[12] Da N.Henry, H.Goodell, N.Elmqvist, J.-D. Fekete, 20 Years of Four HCI Conferences: A Visual
Exploration, International Journal of Human Computer Interaction, 23(3),
pagg.239-285, disponibile anche in rete.