Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
1. UNIVERSITA’ DEGLI STUDI DI CAGLIARI
FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di Laurea in Informatica
Implementazione hardware/software di
un sistema multitouch per l’interazione
uomo-computer.
Docente di riferimento Candidato:
Prof. Salvatore M. Carta Pier Giuliano Nioi mat.39831
ANNO ACCADEMICO 2008-2009
2. Indice
Indice
Corso di Laurea in Informatica..........................................................................................1
Implementazione hardware/software di un sistema multitouch per l’interazione
uomo-computer. .................................................................................................................1
ANNO ACCADEMICO 2008-2009..................................................................................1
Introduzione................................................................................................................................5
Introduzione alle interfacce....................................................................................................5
Obiettivi della tesi..................................................................................................................5
Attività della tesi....................................................................................................................5
Schema della tesi....................................................................................................................6
Human-Computer Interaction.....................................................................................................7
Dall’ergonomia fisica all’ergonomia cognitiva.....................................................................7
Nascita dell’ HCI...................................................................................................................8
HCI oggi...............................................................................................................................10
HCI e dinamiche sociali.......................................................................................................11
Futuro dell’HCI....................................................................................................................12
Interfaccia..................................................................................................................................15
Interazione............................................................................................................................15
Progettazione di interfacce utente........................................................................................18
Evoluzione delle interfacce e dei paradigmi di interazione.................................................20
1945: Memex...................................................................................................................20
1962: SketchPad...............................................................................................................21
1963: Mouse.....................................................................................................................21
1967: NLS .......................................................................................................................21
1969: ARPAnet ...............................................................................................................22
1970: Xerox Alto.............................................................................................................22
1981: WIMP-Paradigm....................................................................................................22
1984: First popular GUI-System......................................................................................22
1994: Web Browsing.......................................................................................................22
Tendenze future del design dell’interazione........................................................................23
Multitouch.................................................................................................................................25
Caratteristiche......................................................................................................................25
Cronistoria di device multitouch .........................................................................................28
Progetto.....................................................................................................................................31
Ispirazione ...........................................................................................................................32
2
3. Indice
Frustrated Total Internal Reflection.....................................................................................32
Realizzazione fisica del dispositivo.....................................................................................33
Luce infrarossa.....................................................................................................................35
Image Processing.................................................................................................................36
Computer Vision..................................................................................................................37
Blob detection..................................................................................................................38
Blob tracking....................................................................................................................38
Lista di blob.....................................................................................................................38
Calibrazione.....................................................................................................................39
Tipologia di eventi...............................................................................................................39
Gestures................................................................................................................................40
Gestures dirette................................................................................................................40
Gestures simboliche.........................................................................................................41
Considerazioni.....................................................................................................................41
Applicativo................................................................................................................................44
Multi-Touch Newspaper Reader..........................................................................................44
Screenshots.......................................................................................................................45
Testing dell’applicazione.................................................................................................47
Conclusioni ..............................................................................................................................50
Sviluppi futuri .....................................................................................................................50
Ringraziamenti..........................................................................................................................52
Bibliografia...............................................................................................................................55
3
5. Introduzione
Introduzione
Introduzione alle interfacce
In un primo periodo, l’evoluzione dei calcolatori elettronici riguardò il lato architetturale
degli stessi e del loro funzionamento interno, fase che si concluse con la massiccia adozione
da parte dei produttori, dell’architettura di von Neumann. Le successive evoluzioni dei
computer non riguardarono più principalmente il ‘motore’ della macchina, ma la sua
interfaccia, ovvero il luogo e le modalità con cui l’utente fornisce input al sistema e riceve
feedback in output dallo stesso. Dalle prime interfacce costituite esclusivamente da
interruttori, si è arrivati a interfacce utente grafiche (GUI) gestite tramite mouse e tastiera,
passando per schede perforate e terminali. Le future interfacce per i nostri sistemi di
computazione diverranno sempre più naturali, cioè sfrutteranno la potenzialità delle modalità
di interazione da noi già naturalmente usate nel quotidiano e nell’interazione uomo-uomo,
come ad esempio l’utilizzo della voce e delle gestualità del corpo: le nuove interfacce future
saranno quindi di facile utilizzo anche per chi è estraneo al mondo del computing e saranno
sempre più disperse nell’ambiente che ci circonda, da sensori a superfici intelligenti, quasi a
voler diventare diffuse, ‘invisibili’ e ubique, al fine di poter usufruire ovunque della potenza
dei calcolatori elettronici.
Obiettivi della tesi
L’obiettivo di questo lavoro di tesi è quello di realizzare una tipologia di interfaccia
naturale oggi emergente, ovvero quella multitouch, per tempo rimasta nascosta per motivi
legati al costo dell’implementazione della tecnologia stessa. Si cercherà di implementare una
interfaccia low-cost ed allo stesso tempo affidabile e scalabile.
Si realizzerà un applicativo software dimostrativo che sfrutti tale interfaccia mostrando i
vantaggi dell’interazione mediante interfacce multitouch.
Attività della tesi
Le attività svolte in questo lavoro di tesi sono molteplici e verranno ora brevemente
elencate: da uno studio basilare dell’interazione uomo-computer, si è passati alla
progettazione delle varie componenti dell’interfaccia, per poi andare a costruire fisicamente
un prototipo funzionante del dispositivo. Dopo aver studiato i rudimenti dell’Image
Processing e della Computer Visione si è deciso di non ‘reinventare la ruota’ riscrivendo del
codice di tracking, ma utilizzando la potenza del software opensource per concentrarsi sullo
sviluppo dell’applicativo finale. Applicativo che, nato da un’esigenza di avere un’interazione
più naturale con la lettura di contenuti digitale, ha visto una fase di progettazione delle classi
coinvolte e del suo funzionamento seguita alla stesura di codice in Action Script 3. In ultima
analisi si è svolta l’attività di testing dell’applicativo nel prototipo precedentemente creato,
osservando i comportamenti di alcuni volontari che si sono prestati nel testare l’applicazione
mostrando quanto sia facile e di immediato utilizzo.
5
6. Schema della tesi
Nel capitolo 2 si tratterà brevemente di un campo vastissimo che coinvolge l’informatica,
ovvero si parlerà dell’interazione uomo-computer, di come si è evoluta nel tempo e delle sue
tendenze future.
Nel capitolo 3 si focalizza l’attenzione sulle interfacce che consentono l’interazione e sulle
principali tecnologie e paradigmi di interazione che hanno guidato lo sviluppo fino ad oggi,
analizzando, anche qui, le prospettive future.
Nel capitolo 4 si parlerà di cosa significhi multitouch, dei vantaggi e degli svantaggi di tale
tecnologia, delle varie periferiche create in precedenza e presenti nel mercato odierno.
Nel capitolo 5 si affronta l’implementazione fisica del dispositivo, discutendo il principio
fisico che sta alla base del funzionamento del prototipo, assieme alle varie fasi di elaborazione
dei dati, per trasformare le azioni dell’utente in input per il sistema.
Nel capitolo 6 infine, verrà descritto il funzionamento dell’applicativo realizzato, di come
garantisca interazioni naturali rispetto ad altre metodologie di fruizione di contenuti digitali.
Al capitolo 7, si discutono le conclusioni di questo lavoro di tesi.
7. Human-Computer Interaction
A causa della continua e frenetica evoluzione delle tecnologie con la conseguente
evoluzione dei modi in cui gli utilizzatori ne usufruiscono, ed essendo questi ultimi, uomo e
artefatto tecnologico, la natura applicativa della Human-Computer Interaction (interazione
uomo-computer), il cercare di dare la definizione di quest’ultima può risultare essere un
compito particolarmente difficile poiché spesso viene ridefinito il suo oggetto di indagine.
Non esiste al momento una definizione comunemente riconosciuta: alcuni testi la definiscono
come una disciplina che si occupa della progettazione di sistemi che siano in grado di
sostenere le persone che li usano a svolgere la loro attività in modo produttivo e sicuro; altri
testi invece mettono il focus solamente nella relazione tra uomo e computer; altri ancora
invece, tra cui l’Association for Computing Machinery (ACM), la definiscono come una
disciplina che si occupa sia della progettazione, della valutazione e dell’implementazione di
calcolatori interattivi per l’uso da parte dell’uomo e sia dello studio dei principali fenomeni
connessi con l’interazione tra l’uomo e questi sistemi.
Qualsiasi definizione verrà data successivamente dell’interazione uomo-computer, possiamo
sicuramente affermare che essa avrà come elementi salienti l’applicazione sistematica sia di
conoscenze sulle caratteristiche cognitive degli esseri umani che sulle capacità tecnologiche
delle macchine, ovvero sarà costituita da tematiche riguardanti le dinamiche sociali e
tecnologiche, tematiche con cui la disciplina si è trovata a confrontarsi nell’arco della sua
giovane vita e continuerà a farlo. Ed è proprio partendo dalla descrizione della sua storia che
scopriremo come la conoscenza prodotta da questa disciplina sia utilizzata per progettare
strumenti per i più variegati usi: dal lavoro, all’intrattenimento passando per l’educazione e la
realizzazione di bisogni e desideri.
Nelle seguenti pagine si farà spesso riferimento al termine computer: esso va inteso come
qualsiasi oggetto o sistema capace di computazione, ovvero possiamo elencare alcuni esempi
partendo dal classico computer, composto da chassis, monitor e tastiera, al sistema costituito
da reti di sensori wireless o a dispositivi mobili o a tutta quella gamma di sistemi facenti parti
del cosiddetto “ ubiquitous computing ”;
Dall’ergonomia fisica all’ergonomia cognitiva
Le discipline che hanno come oggetto di interesse i sistemi interattivi digitali risultano essere
parecchie, ovvero lo studio dell’interazione uomo-computer incrocia diversi confini
disciplinari dalla psicologia alla sociologia passando per l’antropologia e l’ergonomia e altre.
Questa multidisciplinarità è caratteristica anche di un’altra disciplina, ossia dell’ergonomia,
sia quella fisica che quella cognitiva.
Per ergonomia( talvolta chiamata “human factors” – fattori umani) si intende, secondo la
definizione data dall’associazione internazionale degli ergonomi, quella disciplina che si
dedica alla comprensione delle interazioni tra i soggetti umani e le altre componenti di un
sistema ed è la professione che applica teorie, principi, dati e metodi per progettare sistemi, al
fine di aumentare il benessere dei soggetti umani e di massimizzare le prestazioni
complessive del sistema. Come si può ben notare, l’unità di analisi di questa disciplina non
sono i singoli componenti presi separatamente ma bensì l’interazione tra gli elementi del
sistema generale, esseri umani inclusi. Tale studio non può che essere basato su conoscenze
specialistiche dei vari elementi del sistema generale( da qui la sua multidisciplinarietà ) e i
7
8. Human-Computer Interaction
risultati generati vanno interpretati tenendo conto che si stanno osservando interazioni tra
varie entità.
In base alle definizioni di interazione uomo-computer fornite all’inizio del capitolo, possiamo
notare, oltre al fatto che le due discipline hanno la particolarità di essere materie
multidisciplinari, la somiglianza con le caratteristiche di ergonomia appena descritte: quello
che realmente differenzia le due discipline è una diversa enfatizzazione degli aspetti
dell’interazione uomo-sistema; se da un lato l’ergonomia tradizionale si occupa
principalmente degli aspetti fisici, antropologici dell’uomo e della compatibilità tra questi e le
caratteristiche della macchina, l’interazione uomo-computer invece, mette in secondo piano
gli aspetti fisici per dedicarsi principalmente all’interfaccia che permette all’uomo di
controllare il sistema e di prendere decisioni, ovvero è oggetto di studio la compatibilità tra la
macchina, il sistema cognitivo umano e i vari aspetti socio-culturali di quel particolare
contesto. Questa enfatizzazione degli aspetti cognitivi rispetto a quelli fisici è tipica
dell’ergonomia cognitiva.
Nascita dell’ HCI
Questo lato cognitivo costituisce in maniera sempre più grande, col passare del tempo, ciò
che poi sarà il nuovo modo di lavorare: l’ergonomia classica, dello sforzo fisico della persona,
viene meno in quanto sempre più lavori vengono svolti da macchinari e da sistemi altamente
automatizzati; in tal modo lo sforzo fisico viene compiuto esclusivamente dalla macchina.
Lo sforzo cognitivo entra in gioco quando per comandare i macchinari si fa uso di una
interfaccia: il lavoro della persona è ora quello di prendere decisioni e interagire con
l’interfaccia che poi si occuperà di applicare gli input ai macchinari.
Col passare del tempo l’interfaccia assume sempre più importanza e diventa sempre di più
grandi dimensioni e complessità rispetto al macchinario stesso: le interfacce saranno poi usate
anche per tenere i lavoratori ad una distanza di sicurezza, per non esporre la loro vita a rischi;
basti pensare alle centrali nucleari, che con le moderne tecnologie possono essere controllate
ad una distanza di sicurezza.
Questo cambio di approccio al mondo lavorativo implica un cambiamento di abitudini da
parte dei lavoratori.
Nel 1962 Barlett già aveva individuato e predetto dei cambiamenti, descrivibili in sette punti:
1. Crescente isolamento fisico degli individui
2. Richieste maggiori di comunicazione mediata da tecnologia
3. Riduzione del workload fisico
4. Incremento del workload mentale
5. Integrazione del lavoro di più persone nel lavoro di un’unica persona
6. Presentazione di stimoli multimodali
7. Enfasi crescente sulle attività di decision making
Sono quindi la diffusione dei personal computer e la loro presenza pervasiva negli ambienti
lavorativi a favorire la nascita vera e propria dell’HCI come disciplina a se stante, separata
ormai dall’ergonomia cognitiva in quanto si rende necessario un approccio più completo su
tutti i fronti dell’interazione uomo-computer.
Nello stesso periodo, da 1970 in poi, si assiste alla nascita della “società della conoscenza”,
che consiste nella sempre più crescente omogeneità tra ambiente di lavoro e vita, nella sempre
più diffusa informatizzazione e dall’automatizzazione dei processi in cui è richiesto il lavoro
fisico.
9. Human-Computer Interaction
È stato descritto come l’HCI è considerata come una disciplina applicata all’interazione
uomo-artefatto tecnologico: essa però ha mutato, muta e muterà in seguito, il suo fuoco in
parallelo all’evoluzione del computer.
In un paper del 1990, Grudin descrive il parallelo tra HCI e evoluzione del computer
individuando cinque momenti fondamentali, nella quale ognuno aveva una sua specifica
definizione di interfaccia uomo-computer: dagli albori, dove i computer erano costituiti da
circuiti e interruttori, fino alle interfacce utente odierne che permettono di compiere il lavoro
in modo non strutturato, passando per i primi terminali(le prime vere e proprie interfacce).
Volendo brevemente descrivere quanto Grudin ha evidenziato nel suo paper, può esserci
d’aiuto alla comprensione la figura sottostante e una breve descrizione dei momenti
raffigurati.
Figura 2.2.1: I cinque momenti dell’evoluzione dell’interfaccia descritti da Grudin(1990).
Al primo livello, agli albori dell’utilizzo dei computer in ambiti lavorativi, vediamo la
comparsa di dispositivi di grandi dimensioni, tipicamente chiamati “mainframe”, la cui
“interfaccia” era la sola circuiteria interna e i vari interruttori che permettevano la
“programmazione” del dispositivo(interfaccia quindi solamente di tipo hardware): gli utenti di
tale dispositivo erano gli ingegneri e i programmatori, se non a volte esclusivamente i creatori
della macchina.
Al secondo livello assistiamo alla nascita di una nuova interfaccia per dispositivi chiamati
“general purpose”: il software, in figura rappresentato come un listato di codice e/o di schede
perforate, veniva utilizzato come mezzo per interagire con la macchina, e ne permetteva la
programmazione, anche per compiti diversi; gli utenti di tale interfaccia erano i
programmatori, con il coinvolgimento di discipline di carattere prettamente informatico.
Al terzo livello si ha la comparsa della prima “vera” interfaccia: il terminale(o linea di
comando); esso si occupa di tradurre gli input dell’utente forniti allo schermo dedicato, come
comandi per il computer ed attua la prima vera astrazione dal dettaglio implementativo della
macchina. Gli utenti di questa tipologia di dispositivi non devono avere prerogative di
carattere tecnico-scientifico per poterli utilizzare: viene coniato il termine “end users”, utenti
finali, a significare come il dispositivo era adatto a chiunque avesse un minimo di cultura a
riguardo; tanti lavoratori furono addestrati per l’utilizzo in azienda di questi dispositivi.
10. Human-Computer Interaction
Nel quarto livello invece viene raffigurato il personal computer: le interfacce grafiche hanno
fatto il loro ingresso nella vita dell’utente comune di computer, permettendo una sorta di
dialogo con il computer ma soprattutto con gli altri.
Nell’ultimo livello, o momento, viene raffigurata l’evoluzione del momento precedente:
l’HCI muta il suo fuoco(oggetto di studio/interesse) dal singolo individuo verso i gruppi di
lavoro; agli inizi degli anni 1990 viene coniato un nuovo termine a rappresentare quest’ultimo
momento appena descritto: CSCW, ovvero “computer supported cooperative work”,
computer come supporto per gruppi di lavoro. Gli utenti di questi “dispositivi” sono diventati
gruppi di utenti comuni, che hanno tra loro interazioni sociali mediate e veicolate dal PC.
Da questa panoramica si può notare come man mano che l’interfaccia si specializza e diventa
sempre più complessa, la conoscenza dell’effettivo funzionamento della macchina si fa
sempre meno indispensabile per interagire( si ha quindi un meccanismo di astrazione ), dal
momento che è l’interfaccia ad occuparsi di tradurre le azioni degli utenti in input per i
circuiti del computer: parallelamente gli utenti passano da specialisti a semplici utenti finali
con nessuna conoscenza in campo ad esempio elettronico/informatico.
Riassumendo, osserviamo in questi momenti descritti da Grudin, il cambiamento di focus
dell’HCI descritto a inizio capitolo: dall’interno del calcolatore allo spazio sociale.
Analizzando l’ultimo momento, quello attualmente attivo, possiamo dire che ora l’HCI si
trova a rendere conto di tutte le interazioni sociali mediate dal PC.
HCI oggi
Per quanto riguarda la situazione odierna dell’HCI, possiamo vedere quali tematiche sono
interessate nell’ambito della ricerca: dalle più importanti conferenze riguardanti l’interazione
uomo-computer(CHI, UIST, InfoVis, AVI), si possono ad esempio analizzare, nella realtà
statunitense, le keyword più interessate nei discorsi e nei dibattiti/presentazioni in tali
conferenze; prendendo ad esempio la CHI.
Figura 2.3.1: Keywords più ricorrenti nelle conferenze tenute dal 1983 al 2006 riguardanti la
HCI (tonalità di grigio più scura per indicare l’alta ricorrenza)
Come Grudin prevedeva e aveva descritto, dal 1990 si assiste all’affermarsi del CSCW, che
poi muterà terminologia per unirsi al più moderno partecipatory design, e ad una maggiore
enfasi per gli aspetti sociali.
11. Human-Computer Interaction
Al 2006 possiamo notare le categorie più attive quali: user-centered design, interaction
techniques, partecipatory design, mobile computing e world wide web.
HCI e dinamiche sociali
Le sfide odierne della HCI sono rappresentate sicuramente da questioni di tipo sociale e di
innovazione tecnologica: queste vanno ad aggiungersi alle altre sfide, agli altri approcci
descritti prima, ovvero l’ottimizzazione del rapporto uomo-macchina e supporto alla svolta
cognitiva. Le dinamiche sociali che la HCI deve affrontare sono varie, ma condividono tutte
una caratteristica: la presenza di tensioni tra varie situazioni che vengono a crearsi a causa di
determinate innovazioni tecnologiche.
La prima questione che verrà presa in rapida analisi riguarda il passaggio dai bisogni ai
desideri.
Come accennato, l’ HCI nasce fondamentalmente in ambiti lavorativi. La parola lavoro, che
in francese trova traduzione in ‘travail’, travaglio, dolore, fatica, è il fulcro dell’ergonomia
classica e degli inizi dell’ HCI: il bisogno è quello di ridurre, eliminare ove possibile, la fatica
e il dolore in ambiti lavorativi, ma non solo quello fisico, ma anche la patologia che si può
manifestare nell’interazione con i macchinari. Col passare del tempo e la diffusione dell’ IT,
l’HCI si trova a prestare attenzione anche ad altri ambiti applicativi, non solo lavorativi, ma
anche di tempo libero e di svago. Essa è incaricata di soddisfare i desideri degli utilizzatori e
creare esperienze appaganti: un esempio è il modo di fruire la musica, poiché il grado di
evoluzione degli attuali apparati che permettono la riproduzione di contenuti digitali non
sembra essere solo una correzione dei precedenti modi di ascoltare musica, ma assecondano il
desiderio di una maggiore portabilità ( dalla musicassetta all’MP3 passando per il compact -
disc ), di avere con se una maggiore quantità di brani, meglio se in alta qualità. Sembrano
essere proprio i desideri i principali artefici di nuove forme di interazione uomo-computer.
L’HCI quindi si trova non solo a migliorare interazioni in termini funzionali( efficienza,
prestazione ), ma deve rendere conto di aspetti soggettivi degli utilizzatori, dell’esperienza
d’uso, quali ad esempio l’estetica del prodotto, il coinvolgimento che crea, la soddisfazione e
il divertimento generati dall’uso come anche la facilità d’uso: aspetti che sono materia di
studio della user-experience (UX). La maggior parte delle tecnologie sono ancora difficili da
utilizzare, richiedono conoscenze approfondite, e spesso generano nell’utente un senso di
frustrazione invece di soddisfazione: questo fa si che ci sia un livello basso di alfabetizzazione
digitale; l’HCI deve agire per rendere l’alfabetizzazione digitale molto più semplice, e occorre
che agisca in tempi brevi poiché essendo il lavoro, il tempo libero e la vita sociale, aspetti che
condividono una comune infrastruttura chiamata ‘tecnologia’, chi non sarà in grado di
dominare questa infrastruttura resterà al di fuori della vita sociale e civile, con addirittura
l’esclusione dal mondo lavorativo.
Il lavoro assume man mano nuove dimensioni: dal classico lavoro seriale si passa ad un
lavoro vario e fluido che non ha dei confini ben definiti, che è cognitivamente impegnativo e
richiede responsabilità e autonomia decisionale; diventa socialmente intenso, si tende a
lavorare più a lungo e intensamente e spesso se ne eseguono vari in parallelo, non finisce mai
ed entra nella vita privata e nel tempo che dovrebbe essere dedicato al riposo, e tutto ciò
contribuisce a non fare allentare mai la tensione tra lavoro e tempo libero. L’ HCI deve dar
conto e risolvere se possibile questi cambiamenti negativi.
12. Human-Computer Interaction
Tutto è digitalizzabile, tutta l’informazione può essere codificata, dalle immagini e video,
ai testi e molto altro. Il costo di produrre, trasmettere e memorizzare informazione digitale è
estremamente basso e l’aumento delle velocità di trasmissione dati e della capacità di
immagazzinamento dati creano una nuova tensione che l’HCI deve affrontare: sovra-
produzione e sovra-consumo di informazione.
Le persone attualmente immagazzinano più informazione di quanta non possano realmente
consumare, creando cosi una tensione tra lo storage e il viewing delle informazioni: si può
essere in grado di possedere più informazioni di uno scienziato del ‘700 nel giro di pochi
giorni. Questo a sua volta ha creato delle tecnologie di ricerca che ci permettono di trovare ciò
che cerchiamo, senza farci navigare tra le cartelle alla ricerca delle informazioni e togliendoci
la possibilità di incapparci casualmente in informazioni che possono essere utili, poiché tali
tecnologie non ci costringono a tenere un ordine tra le informazioni, creando cosi un ulteriore
tensione, questa volta fra ricerca e browsing delle informazioni.
Conseguenza dell’immagazzinamento enorme di informazione e dell’impossibilità di
consumarla tutta, è anche il fatto che l’informazione perde rapidamente il suo valore e non è
più conveniente investire su essa: basti pensare all’effetto che provoca la data dell’ultimo
aggiornamento della pagina di un sito web, ovvero si tende a cercare qualcosa di più recente.
L’attenzione della persona però è rimasta sempre la stessa ed è una risorsa preziosa e limitata,
e le informazioni fanno a gara per ‘averne’ una parte: si pensi a come la lettura delle notizie
tramite feed RSS ci imponga, viste le enormi quantità, a leggere in maniera veloce i titoli, e se
veramente interessati, tutto l’intero articolo. Il turn-over di informazioni nella nostra mente è
altissimo.
Nel tempo si è assistito anche al cambiamento dell’utilizzo principale che si fa di un
elaboratore: da puri scopi di calcolo alla comunicazione. La tecnologia veicola interazioni
sociali e la possibilità di essere sempre connessi crea delle problematiche di controllo: la
connessione sempre più spesso implica la cessione(per la maggior parte delle volte
involontaria) di dati personali sull’utente, consentendo cosi un tracking vero e proprio dei
comportamenti dell’utente, dalle sue scelte, ai luoghi in cui si è trovato alle azioni che ha
compiuto, minando così i concetti di privacy e anonimato.
Molte altre tensioni devono essere risolte dall’HCI, quali ad esempio la gestione
dell’autorevolezza dei contenuti creati dal collettivo degli utenti, la salvaguardia del diritto
d’autore e della proprietà intellettuale nell’era della riproducibilità dove distinguere originale
da copia è difficile, o per esempio la creazione di macchine intelligenti che imparano ad
anticipare i nostri desideri (convergenza tra intelligenza artificiale e interazione uomo-
computer).
Futuro dell’HCI
In questa breve introduzione sull’HCI, si è potuto notare quanto l’ambito operativo della
disciplina sia notevolmente cambiato e allargato dalla semplice correzione dell’interazione da
parte dell’uomo: si fa sempre più conciliatore tra tensioni sociali e nuove tecnologie, talvolta
quest’ultime create dall’HCI e dall’uomo stessi per appagare dei desideri diversi dal lavoro.
In questa parte conclusiva elencheremo i temi, o meglio le sfide che l’HCI continuerà ad
affrontare nel prossimo futuro, assieme a quelle presentate in precedenza.
Nella progettazione di nuove tecnologie, l’HCI dovrà essere d’aiuto nello studio e nella
valutazione dei valori umani (sociali, culturali e politici) e di come tale nuova tecnologia
13. Human-Computer Interaction
influirà su di essi: ovvero la disciplina dovrà ‘parlare’ con tutte quelle altre discipline culturali
con la quale non si è ancora rapportata, come ad esempio la filosofia o le arti, in modo tale da
costruire tecniche e metodologie che permettano di valutare come le tecnologie supportino,
modifichino, vincolino i valori umani, diventando così sempre più una disciplina human-
centered.
In un futuro prossimo sempre più PC, apparecchi tecnologici, o elettrodomestici dotati di
computing, saranno sempre più connessi tra loro, interagiranno e creeranno un sistema, o
meglio ecosistema digitale, sempre più complesso che rischia di apparire oscuro nel suo
funzionamento globale, ottenendo cosi nuove problematiche in caso di semplice utilizzo o di
individuazione e riparazione di eventuali malfunzionamenti. L’HCI si dovrà preoccupare di
scegliere quali interazioni l’uomo debba avere con esse e quali debbano essere le relazioni
con l’ecosistema che si andrà a creare, e deve anche poter garantire all’uomo il pieno
controllo di esso, senza che rimanga in balia del senso di perdita del controllo.
Questo significa che il concetto di interfaccia si va man mano dissolvendo in quanto l’input
non verrà fornito solamente tramite tastiera e mouse: l’input sarà l’uomo stesso, la sua voce, i
suoi gesti o i suoi movimenti. L’HCI,con l’ubiquitous computing, dai sensori che si possono
avvicinare al nostro corpo ai dispositivi distribuiti nell’ambiente, deve rendere conto di come
noi vogliamo che le nostre informazioni vengano relazionate con l’ecosistema digitale, al fine
di preservare la privacy, come ad esempio il limitare la lettura di eventuali sensori biometrici
da parte di sconosciuti. Deve poter dare la scelta all’utente di decidere con che grado
personalizzare determinati servizi quali ‘i consigli per gli acquisti’, che si basano sulla
catalogazione dei nostri gusti e consigliandoci quelli che ancora non conosciamo ma che ci
potrebbero piacere dato che ad altre persone con i nostri simili gusti son piaciuti( teoria della
recommendation applicata alla ‘lunga coda’ ).
Figura 2.5.1: Uomo, computer, interazione e spazio sociale - vista d’insieme.
15. Interfaccia
Con il termine interfaccia si intende identificare il luogo ‘fisico’ nella quale l’utente
incontra il generico sistema di computazione (dotato cioè di capacità computazionali),
generando interazione, al fine di ottenere lo svolgimento di una particolare attività, sia essa di
carattere lavorativo o che abbia come interesse il semplice svago.
Nel capitolo precedente si è discusso di come nel tempo si sia assistito ad uno spostamento
dell’interfaccia dal ‘motore’ della macchina verso lo spazio esterno appartenente all’utente:
col tempo essa è diventata sempre più complessa e di dimensioni crescenti, e sempre più
grandi rispetto al ‘motore’.
Per ognuno dei cinque momenti descritti da Grudin, è stata descritta sommariamente il tipo di
interfaccia con la quale l’utente doveva operare per fare in modo che i suoi input arrivassero
alla macchina: l’interfaccia astraeva e astrae tuttora col passare del tempo, dai dettagli tecnici
della macchina, e si fa carico di effettuare un meccanismo di specializzazione (percorso
inverso dell’astrazione) per portare l’input al cosiddetto ‘motore’.
Dopo aver chiarito che cosa veramente si intenda con il termine ‘interazione’, in cosa consista
e perché è importante, in questo capitolo si descriveranno sommariamente i punti ai quali
bisogna prestare attenzione nella progettazione di interfacce utente, che sempre più occupano
una posizione importante nella progettazione software e hardware.
Si parlerà delle tipologie più importanti di interfaccia esistenti e di come il paradigma di
interazione uomo-computer si sia evoluto in base alla creazione di nuove tipologie di
interazione passando attraverso delle tappe datate.
Si cercherà inoltre di provare ad elencare, con dovuta cautela, le tendenze future nella ricerca
nel campo delle interfacce utente, e si forniranno degli esempi di prodotti attualmente
avanzati rispetto alle comuni interfacce.
Interazione
Si è notato come nel tempo la psicologia cognitiva non abbia prestato particolare
attenzione nei riguardi dell’azione umana, e anzi ha considerato la percezione e l’azione
umana come due ambiti completamente separati, quindi privilegiando solamente il primo di
essi.
Tale comportamento però è da considerarsi errato in quanto la percezione è chiamata in causa
nell’atto di compiere un’azione: è coinvolta nella selezione delle azioni da intraprendere, nella
loro successiva esecuzione e nella valutazione dei risultati che essi hanno prodotto; un’azione
non può considerarsi completata dal punto di vista psicologico e/o fisiologico senza una fase
di valutazione.
Per di più, l’attenzione posta sugli strumenti che consentono l’azione umana è stata ancora più
scarsa.
Norman e colleghi modellizzarono da un punto di vista pratico e d’uso, sia l’azione umana
che l’uso degli strumenti che la mediavano. Questo modello di riferimento è composto da
sette punti, o meglio stadi che compongono l’azione-interazione:
1. Formazione dell'obiettivo
Questa fase ha lo scopo di specificare cosa si intende fare, che scopo si vuole
raggiungere;
16. 2. Formazione dell'intenzione
In questa fase si decide che cosa si intende fare per raggiungere lo scopo, l’obiettivo
preposto;
3. Specificazione dell’azione
Si trova l’elenco di azioni specifiche da eseguire per ottenere lo scopo desiderato;
4. Esecuzione dell'azione
5. Percezione dello stato del mondo
In questa fase si deve capire come è cambiato lo stato delle cose dopo aver eseguito
l’azione;
6. Interpretazione dello stato del mondo
Si cerca di interpretare e capire i cambiamenti avvenuti;
7. Valutazione del risultato
Si verifica se lo scopo,l’obiettivo iniziale prefissato sia stato raggiunto con successo o
se sia necessario formulare altri obiettivi con altre conseguenti azioni.
Ricapitolano abbiamo una fase per gli obiettivi, tre riguardanti l’esecuzione e altre tre
riguardanti la valutazione;
Il modello di Norman si occupa anche di trovare le possibili difficoltà nel passare da una fase
all’altra (difficoltà anche chiamate ‘distanze’): per la precisione esistono tre distanze, due
delle quali, distanza semantica e distanza referenziale esistono sia nelle fasi di esecuzione che
nelle fasi di valutazione; la terza distanza invece, chiamata distanza inter-referenziale, si
riferisca al passaggio dall’esecuzione alla valutazione.
Il modello ha lo scopo principale di definire le potenziali unità di analisi attraverso le quali è
possibile rappresentare il comportamento umano nell'uso di strumenti e di fornirne una guida
nell’analisi delle difficoltà riscontrabili durante l’uso.
Per capire quanto appena descritto, le varie fasi e le varie ‘distanze’, si propone un piccolo
esempio di attività, di azione, di interazione che è capitato a tutti con l’utilizzo del PC.
Si sta lavorando con un programma di scrittura e si hanno più files aperti. Immaginiamo
inoltre di usare un’interfaccia grafica a manipolazione diretta, come quelle a metafora di
scrivania. Attualmente si sta lavorando sul file A ma abbiamo bisogno di informazioni che
sono sul file B (possiamo considerare questo periodo come il nostro obiettivo: avere una parte
delle informazioni presenti nel file B attivo in una prima schermata sul computer). Il nostro
obiettivo deve essere tradotto nelle intenzioni che definiscono le azioni appropriate:
prendere il mouse, muovere il puntatore sopra il comando Finestra nella barra di menu,
cliccare, selezionare il nome del file desiderato, rilasciare il pulsante del mouse, osservare in
che punto è evidenziato il testo del file B nella finestra, etc.). Ma non solo poiché dobbiamo
anche specificare come muovere la nostra mano, come impugnare in modo corretto il mouse e
come spingere il suo pulsante controllando il puntatore sullo schermo.
L'obiettivo deve quindi essere tradotto in specifiche intenzioni, che a loro volta devono essere
tradotte in specifiche sequenze di azioni, azioni che controllano i nostri apparati percettivo-
motori. E' da notare inoltre, che possiamo raggiungere il nostro scopo attraverso altre
sequenze di azioni e altre intenzioni. Se per esempio muovendo il puntatore verso la barra di
17. menu ci accorgiamo che sul retro della finestra attiva è parzialmente evidente la finestra
relativa al file B, possiamo portare il puntatore su quell'area dello schermo e cliccare in modo
da rendere tale finestra attiva in primo piano.
L'obiettivo non è cambiato ma parte della sequenza di azioni e delle relative intenzioni lo
sono. L'attività appena descritta sarebbe profondamente diversa se noi stessimo lavorando non
con un'interfaccia grafica a manipolazione diretta bensì con un sistema che usa una interfaccia
a linea di comando (CLI – Command Line Interface) come ad esempio l’editor di testo VI per
UNIX. L'obiettivo potrebbe rimanere immutato ma le intenzioni, le azioni, l'interpretazione
degli eventi e la valutazione dei risultati sarebbero radicalmente diversi. Le distanze tra le
varie fasi del modello dell'azione si riferiscono proprio al modo con cui si realizza più o
meno prontamente il passaggio da una fase ad un'altra.
In dettaglio la distanza semantica, per ciò che concerne l'azione, riguarda la relazione fra le
intenzioni dell'utente ed il significato dei comandi che è possibile eseguire sull'interfaccia.
Ovvero, tale distanza è funzione della facilità con cui l'interfaccia fornisce mezzi e
strumenti per esprimere le intenzioni dell'utente. Intenzioni, si noti bene, pertinenti al dominio
di applicazione dell'attività.
Sul lato della valutazione, la distanza semantica si riferisce all'elaborazione che è richiesta
all'utente per determinare se le condizioni di soddisfacimento delle proprie intenzioni sono
state realizzate. Se i termini dell'output non sono quelli definiti nell'intenzione dell'utente,
esso deve tradurre l'output in termini che siano compatibili con l'intenzione, al fine di valutare
i risultati della sua azione.
Un esempio di quando detto, potrebbe essere l’attività di inserire del testo ad un grafico.
Se l'aver compiuto l'azione di scrivere non fornisce immediatamente informazioni sul suo
esito (posizione del testo in relazione al grafico) ma richiede passi successivi per ottenere la
rappresentazione di tale informazione, allora la distanza cresce proporzionalmente alle
informazioni che devono essere gestite per anticipare l'esito o per produrlo materialmente.
Il vecchio sistema operativo DOS e molte delle sue applicazioni sono caratterizzate da elevate
distanze semantiche sia sul lato dell'esecuzione che sul lato della valutazione. Questo
comporta che l'intenzione di avere, per esempio, un testo sottolineato, venga tradotta in una
serie articolata di comandi dalla sintassi rigida che devono essere ricordati in modo corretto
ed eseguiti. Il risultato poi può essere valutato solo operando ulteriori trasformazioni mentali
sugli effetti realmente prodotti oppure eseguendo la serie di operazioni necessaria per ottenere
il risultato finale (ad esempio la stampa del testo) e solo allora valutarne il risultato.
La distanza referenziale intercorre fra il significato di una espressione e la sua forma fisica,
sia sul lato dell'esecuzione che su quello della valutazione. Le interfacce a linea di comando
hanno solitamente una distanza di riferimento elevata a causa della relazione arbitraria tra la
forma di una espressione ed il suo significato.
Ad esempio, se si vogliono cancellare con un solo comando un certo numero di files da un
disco usando una interfaccia di tipo DOS è necessario attribuire ai files di interesse un nome
composto con una appendice comune, e poi eseguire (digitare) il comando di cancellazione.
Con una interfaccia grafica a manipolazione diretta le azioni ed il loro significato in relazione
al compito sono un elemento unico: si selezionano con il mouse i files di interesse e si
trasporta la loro immagine direttamente sul cestino. In questo caso non c’e’ una distanza tra
l’intenzione e l’azione visto che l’azione di trascinare l’icona dei file sul cestino corrisponde
con l’intenzione di cancellarli.
Vi è infine la terza distanza, quella inter-referenziale, che riguarda la relazione fra le forme
di input e quelle di output presenti nel corso dell'interazione uomo-computer.
18. Questa distanza è massima quando le due forme sono completamente distinte (ovvero quando
input e output sono totalmente separati fra loro).
Si pensi ad esempio al caso di una tastiera con tasti rigidi (dove non ci sia qualche sorta di
feedback in corrispondenza dell'azione di premere) e ad un video che presenta solo una lettera
per volta. Nella misura in cui l'output del sistema può essere usato come input o perlomeno
come una sua componente, tale distanza è ridotta.
Nelle interfacce grafiche un'icona, ad esempio, rappresenta un output del sistema ma è nello
stesso tempo oggetto di possibili azioni dell'utente, ed i risultati di queste azioni costituiscono
a loro volta nuovi input per il sistema. Nelle interfacce tradizionali tipo DOS, l'input e l'output
non solo sono operativamente differenti ma spesso hanno un lessico differente (gli stessi
termini hanno significati differenti se sono usati come input o come output).
Un esempio della vita di tutti i giorni può ulteriormente chiarire il concetto di distanza inter-
refenziale: si vuole spostare la sedia sulla quale si è seduti per avvicinarsi al tavolo, il luogo in
cui si applicano le mani e si concentra lo sguardo per dirigere l’azione coincidono con il luogo
in cui ricevo informazioni di ritorno sui risultati in una sorta di continuo spazio-temporale.
Non è presente alcuna distanza inter-referenziale. Ma appena si iniziano ad usare degli
strumenti, ad esempio dei sistemi di trasduzione energetica e/o elaborazione computazionale,
la distanza si fa notare: da distanze piccole quali quelle poste da sistemi meccanici elementari
tipo le leve, a distanze enormi quali quelle poste dai sistemi a controllo remoto, dove se non si
progetta adeguatamente il feedback creando l’illusione di una manipolazione più o meno
diretta degli oggetti, il senso stesso dell’azione si smarrisce.
Una osservazione affrettata alla creazione della distanza inter-referenziale consiste
nell’affermare che gli strumenti stessi, in quanto oggetti fisici, permettono il proprio continuo
spazio-temporali di interazione ed è quindi questa l’interazione che bisogna progettare. Tale
osservazione implica che gli strumenti in quel momento cessano di essere i mediatori
dell’attività per divenire invece oggetto dell’attività, ed è proprio quello che si deve
assolutamente evitare nel corso dello svolgimento dell’interazione uomo-macchina. Gli
strumenti possono, e devono, essere oggetto dell’attività ma solo in fase di apprendimento,
perché se abbiamo acquistato un computer è per comunicare con i nostri amici e non per
essere costretti ad imparare protocolli di comunicazione. E’ per questo motivo che si dice
comunemente che la migliore interfaccia è quella ‘invisibile’, ovvero quella che non diviene
mai, o perlomeno spesso, oggetto dell’attività.
L’evoluzione principale dell’interazione uomo-macchina negli ultimi vent’anni riguarda un
tentativo limitatamente riuscito di ridurre le enormi distanze di cui sono stati dotati gli
strumenti da progettisti che progettavano le funzioni per gli strumenti e non le funzioni degli
strumenti per l’interazione con l’essere umano.
Progettazione di interfacce utente
Ben Shneiderman, creatore della metodologia di interazione cosidetta ‘manipolazione
diretta’ sostiene che “The old computing was about what computers could do; the new
computing is about what users can do.” – ovvero che il vecchio modo di fare computing
riguardava prettamente cosa i computer potevano effettivamente fare, e che il nuovo modo di
fare computing riguarda quello che gli utenti possono fare; tutto questo per sottolineare come
la progettazione di interfacce utente, ora più che in passato, è centrata sull’utente (User
Centered Design).
La progettazione e lo sviluppo di interfacce utente interattive(cioè che permettano interazione
e forniscano una qualche sorta di feedback) è con ogni probabilità la parte di lavoro più
19. intensa e difficile nel processo di sviluppo di strumenti informatici. Per avere un’idea di ciò,
basti pensare che circa il 50% del codice di un moderno software è dedicato all'interfaccia e
che il 75% delle revisioni di software riguardano, secondo Shneiderman, ancora l'interfaccia.
Le principali ragioni di ciò risiedono nel fatto che progettare un’interfaccia prevede una
varietà di scelte e decisioni progettuali che coinvolgono gli utenti e i possibili compiti che
potranno essere svolti attraverso l’interfaccia, e la gran parte delle conseguenze di queste
decisioni non sono predicibili.
E' principalmente per questo che la progettazione di interfacce interattive è un'attività
sperimentale per la quale sono state concepite metodologie di sviluppo, tecniche di
valutazione e vengono costantemente proposti nuovi approcci come il contextual design.
Progettazione, implementazione e valutazione sono state tradizionalmente considerate fasi
separate dei processi di sviluppo di sistemi uomo-macchina. Uno dei contributi più importanti
nella progettazione di sistemi interattivi è stata l’introduzione del concetto di progettazione
iterativa, in cui la progettazione e la valutazione vengono iterate fino al raggiungimento di un
risultato soddisfacente.
La fase di valutazione pervade completamente questo processo: nella progettazione è
necessario valutare il sistema attuale, l’attività umana e il contesto in cui si svolge, le
soluzioni di design tipicamente in forma di prototipi, e il sistema finale.
I principi da adottare per una progettazione ergonomica, centrata sull'utente, sono vari ed
hanno ricevuto formulazioni diverse, ma ancora oggi i
quattro pioneristici principi, formulati da Gould e Lewis, rappresentano un valido sistema di
riferimento a cui tutte le formulazioni successive fanno riferimento:
1. Comprensione dell'utente.
Bisogna formulare una rappresentazione esplicita sia delle competenze cognitive e
attitudinali dell'utente che della natura cognitiva del lavoro che deve essere svolto.
2. Progettazione interattiva.
Un campione potenzialmente rappresentativo dell'utenza deve far parte del gruppo
di progettazione per tutto il processo di sviluppo.
3. Misurazione costante dei risultati conseguiti.
Sin dalle prime fasi della progettazione i potenziali utenti finali devono essere
coinvolti nella sperimentazione dell'usabilità del prodotto, e il sistema uomo-
computer deve essere testato e valutato nel suo insieme.
4. Progettazione iterativa.
La progettazione deve realmente avere un carattere ciclico: progettare, testare e
misurare, riprogettare; sino ad una prestazione del sistema uomo-computer che
soddisfi lo scopo per il quale quel sistema è stato concepito.
A supporto di questi strumenti per la progettazione di interfacce utente, prestano prezioso
aiuto anche metodologie di analisi dell’attività umana e del contesto d’uso: vari modelli di
analisi di attività, tra i quali HTA (Hierarchical task analysis), GOMS (Goals, Operators,
Methods, and Selection rules), CTT( ConcurTaskTree), e molti altri, costituiscono una sorta
di analisi delle azioni che dovranno esser eseguite, mentre altre metodologie di analisi
dell’attività si occupano di raccogliere quante più informazioni possibile dall’ambiente, e dal
contesto in cui l’utente finale del sistema lavorerà; durante la progettazione inoltre è previsto
l’utilizzo di domande poste all’utente e l’analisi ‘in loco’ dei processi per capire al meglio
20. come gli strumenti che si stanno andando a progettare siano di reale aiuto agli utilizzatori
finali, si cerca cioè in qualche modo di imparare il mestiere dell’utente.
Oltre queste metodologie, alla progettazione vengono in aiuto lo sviluppo di prototipi al fine
di scoprire in anticipo che ruolo avrà l’artefatto che si sta progettando nei confronti
dell’utente, per meglio creare il ‘look and feel’ e produrre un prodotto usabile e gradevole da
vedere e infine per incominciare a improntare una bozza di implementazione; si va dalla
creazione di prototipi cartacei dell’artefatto, alla simulazione al computer, passando per il
metodo ‘mago di Oz’ ( che consiste in una persona che simula il sistema che si sta
progettando), fino ad arrivare alla creazione di veri e propri modellini ( anche non funzionanti
dell’oggetto).
A tutto ciò segue una fase di valutazione, che permette di reiterare il ciclo per apportare
modifiche: si valutano attraverso test di usabilità, casi d’uso, e altre metodologie se si sta
progettando un’interfaccia che abbia il più possibile delle distanze minime nelle fasi di
esecuzione e valutazione.
Evoluzione delle interfacce e dei paradigmi di interazione
In questi ultimi 60 anni di storia dell’ elaborazione elettronica, l’interazione fra uomo e
calcolatore ha cambiato diversi paradigmi di interfaccia: brevemente si elencheranno quelli
che sono stati i passi più importanti di queste continue evoluzioni. Si noterà come ogni
particolare device introduce una particolare modalità di comunicazione, e a sua volta
mediante un meccanismo di retroazione verrà modificato e migliorato secondo le necessità.
1945: Memex
Con il termine ‘Memex’ (acronimo di MEMory Extender), Vannevar Bush, uno
scienziato statunitense, ipotizzò nel suo saggio ‘As We May Think’ ( Come potremmo
pensare - scritto alla fine della seconda guerra mondiale su idee risalenti ai primi anni
’30), la futura creazione di una apparecchiatura che funzionava come catalogatore
analogico ( l’informatica digitale non era ancora nata ), oggi considerato come
precursore dei personal computer e degli ipertesti. Sarebbe stato d’aiuto nel navigare
tra le numerose informazioni di carattere scientifico, la cui quantità col tempo
aumentava sempre più.
Le sue caratteristiche e l'uso che Bush ne prevedeva, di tipo prevalentemente privato,
individuale, ne fanno un antenato dell'odierno personal computer.
Un individuo avrebbe potuto registrare i propri libri, il proprio archivio e le proprie
comunicazioni personali, in un modo del tutto meccanizzato, e in tale modo le avrebbe
poi consultate con eccezionali velocità: una sorta di estensione privata della memoria
dell’utilizzatore. Bush aveva persino previsto l'aggiunta dell'interazione vocale alla sua
macchina (attraverso un sintetizzatore vocale elettronico e un sistema di
riconoscimento vocale). Bush ipotizzò inoltre che l'uso esteso dei memex avrebbe dato
vita a nuove figure professionali, come i cosiddetti ‘trailblazers’ (da ‘to blaze a trail’,
gergo dei boscaioli americani), individui specializzati nel tracciare nuove piste o
percorsi associativi nella grande massa di informazioni già esistenti, ovvero la
creazione di collegamenti tra le informazioni. Nello stesso momento in cui scriveva
del Memex, Bush sosteneva che le macchine calcolatrici e l'intelligenza meccanica
sarebbero arrivati ad avere un ruolo importante nella vita intellettuale dell'uomo.
21. 1962: SketchPad
La tesi di dottorato nel 1963 al MIT di Ivan Sutherland, ispirata dal saggio di Bush,
fornisce probabilmente la prima interfaccia utente grafica interattiva con SketchPad . Questo
sistema consentiva la manipolazione di oggetti grafici tramite una penna ottica: si potevano
creare elementi grafici, spostarli, ricevere un feedback grafico, e cambiare gli attributi,
utilizzando la prima interfaccia utente grafica, mostrata su un display (CRT) capace di fare il
‘plotting’ mediante coordinate x-y. È considerato come l’antenato dei moderni sistemi CAD
(Computer-Aided Design). Questo lavoro produrrà grandi cambiamenti pochi anni più in là,
nel modo con cui si interagisce con gli elaboratori.
1963: Mouse
Il pioniere dell’interazione uomo-macchina Douglas Engelbart creò questo dispositivo nei
laboratori di ricerca della Stanford University con lo scopo di essere un sostituto per le penne
ottiche utilizzate da Sutherland nel suo SketchPad: era costituito da due rotelle disposte
perpendicolarmente tra loro che fatte ruotare, trasmettevano le informazioni sulla rotazione
alla circuiteria interna che provvedeva a mandare i segnali contenenti come messaggio, le
quantità degli spostamenti effettuati in ascisse e ordinate, permettendo cosi un movimento del
cursore, relativo alla posizione precedentemente assunta.
I vari usi di questo dispositivo furono dimostrati nel 1968 nella cosiddetta “madre di tutte le
dimostrazioni”, descritta più avanti.
È stato reso famoso poiché venne utilizzato come pratico strumento di input nel Palo Alto
Research Center della Xerox, il Xerox PARC, dove venne sviluppato Il Xerox Alto che lo
utilizzava nella sua primordiale interfaccia grafica, della quella si parlerà brevemente più
avanti.
1967: NLS
Acronimo di oN-Line System, l’ NLS di Douglas Engelbart è da considerare come
l’antenato degli odierni computer personali, o meglio, la realizzazione fisica del prototipo del
Memex ipotizzato da Vannevar Bush. Questo ambiente software aveva lo scopo di facilitare
l'attività di scienziati e professionisti e comportava la soluzione cooperativa di problemi
complessi; venivano introdotti un ricco insieme di meccanismi di condivisione delle
informazioni. Fu inoltre il primo sistema di groupware, e la sua progettazione viene fatta
coincidere con le origini del CSCW (Computer Supported Cooperative Work, Lavoro
cooperativo con l'aiuto del computer). In esso si trovano i primi esempi di mouse e sistema a
finestre, nonché il primo supporto per la chiamata di procedura remota(RPC).
Le due caratteristiche più rilevanti dell'NLS come precursore del groupware furono il journal
e lo shared screen telephoning: con il termine ‘journal’ si intendeva indicare quella parte
software adibita alla raccolta, catalogazione e connessione delle varie informazioni, concetto
alla base della moderna Wikipedia, presentando tramite l’utilizzo di basi di dati, informazioni
con collegamenti ipertestuali ad altre informazioni.
Lo shared screen telephoning è la prima versione di un applicativo software utilizzato per
permettere ad una serie di dispositivi collegati all’ NLS principale via telefonica, di poter
leggere dati emessi da quest’ultimo: vengono a crearsi i newsgroup.
Una successiva evoluzione di questo sistema porta alla condivisione di schermo e memoria in
modo da permettere a utenti remoti di prendere il controllo della macchina.
“The mother of all demos” (La madre di tutte le dimostrazioni) è l’evento che ebbe luogo a
San Francisco nel 1968, alla “Fall Joint Computer Conference”. Doug Engelbart ricevette una
“standing ovation” per la sua dimostrazione del sistema NLS e delle potenzialità della
22. computazione interattiva. La sua postazione era collegata via telefono ai suoi colleghi situati
in altre zone del territorio americano: fu seguita da più di un migliaio di professionisti
informatici.
1969: ARPAnet
“Advanced Research Projects Agency Network”, rete che venne realizzata dal DARPA per
la ricerca e lo sviluppo di nuovi strumenti da utilizzare in ambito militare: divenne come tutti
sanno, la rete ad uso civile più famosa del mondo. Ai primi test prese parte anche Douglas
Engelbart ed il suo gruppo di colleghi nel “Stanford Research Institute” nel 1969, costituendo
il secondo nodo della rete.
1970: Xerox Alto
Un concept di calcolatore che incorporava display bitmapped, collegamenti ethernet,
stampante laser, e le prime finestre che si potevano sovrapporre: diede il ‘la’ agli sviluppatori
del progetto Xerox Star.
1981: WIMP-Paradigm
Con lo Xerox Star, viene definitivamente introdotta la metafora di scrivania, e l’interfaccia
era composta da finestre, icone, menu e puntatore(Windows, Icons, Menu, Pointer).
In aggiunta alle finestre introdotte nello Xerox Alto, si faceva strada il concetto di icona, una
concretizzazione del corrispondente oggetto: si poteva aprire un’incona per interagire con ciò
che rappresentava, dai documenti alle immagini, posta elettronica, accessori,calendari e
periferiche. David Liddle, capo del team che lavorava sullo Xerox Star, fu però nel tempo
dispiaciuto dalla piega che le nuove interfacce utente grafiche stavano man mano prendendo:
il concetto di icona fu sconvolto nei successivi sistemi Macintosh e Windows e simili,
vennero cioè utilizzate per rappresentare delle applicazioni e non documenti; Liddle sosteneva
che l’utente non dovesse mai avere il bisogno di operare direttamente sui programmi;.
1984: First popular GUI-System
Steve Jobs, dopo un tour guidato allo Xerox PARC, e dopo la donazione del team del
codice dell’interfaccia grafica di Xerox Star, creò dopo i suoi Apple I e II, la linea Macintosh,
la prima fascia di computer adatta a tutti che ebbe un enorme successo per la sua semplicità
d’uso.
1994: Web Browsing
I concetti di ipertesto ipotizzati da Bush, implementati da Engelbart nel suo NLS, furono
ripresi da Tim Berners-Lee e arricchiti con la potenza delle interfacce grafiche, dei concetti di
pulsanti (che possono assumere varie fogge, o essere addirittura invisibili, come nel caso delle
figure, o testi sensibili e ovviamente dall’uso di questi con il mouse: tutto ciò contribuirà poi
in modo determinante la diffusione esplosiva di Internet a partire dalla metà degli anni 90.
L'interfaccia proposta dai primi browser web (a partire da Mosaic) e tuttora prevalente si basa
sulla nozione di ipertesto: la "navigazione" all'interno del web avviene cliccando testi o
immagini sensibili, e attivando così dei link predefiniti che portano ad altre pagine.
L’interazione è ridotta a una successione di due azioni elementari: si indica col mouse un
oggetto testuale o grafico presente sul video e lo si seleziona cliccando con il tasto sinistro del
mouse stesso. A corollario di questo ‘paradigma’ di interazione mediante ‘navigazione’, fu di
grande aiuto “The Back - Button”, ovvero il pulsante “indietro”, considerato dagli esperti
come la migliore funzionalità delle GUI fin dagli anni 80.
23. Tendenze future del design dell’interazione
Come per il capitolo precedentemente affrontato sulla Human-Computer Interaction, non è
possibile prevedere con certezza le tendenze future in questo campo, ma si possono elencare
le tendenze più importanti in atto che presumibilmente influenzeranno in modo significativo il
design dell'interazione dei prossimi anni.
La prima è quella riguardante la multimedialità: in tutte le tecnologie esistenti fino a una
decina di anni fa, il calcolatore elaborava sostanzialmente dati alfanumerici, testo, grafica. Le
grandi capacità di elaborazione e archiviazione dei sistemi odierni e, soprattutto, la crescente
disponibilità di connessioni Internet a banda larga permetteranno sempre più di utilizzare
oggetti in formato audio e video che non potevano essere gestiti dai sistemi e dalle reti del
passato.
Una metafora emergente è quella dell'agente: il computer diventerà sempre più il nostro
segretario personale, che obbedisce ai nostri comandi e controlla per noi le vaste risorse di
questi sistemi. Con questo segretario, in genere pensato con sembianze umane, si comunica a
voce, in linguaggio naturale. La ricerca sulla comunicazione vocale è attiva da vari decenni,
ed ha prodotto tecnologie di sintesi e riconoscimento vocale che, anche se non ancora
largamente diffuse sul mercato, sono ormai di buon livello (sistemi di dettatura, risponditori
vocali automatici, conversioni text-to-speech). E' pertanto presumibile che, nei prossimi anni,
questo paradigma di interazione, che costituisce il paradigma principale nella comunicazione
uomo-uomo, si diffonderà in modo significativo anche nella comunicazione uomo-computer.
Sviluppi nel campo della realtà virtuale porteranno l’utilizzatore a essere sempre più
maggiormente immerso nel mondo artificiale, con nuovi feedback sensoriali e possibilità di
manipolazione di oggetti virtuali.
Le applicazioni della realtà artificiale per ora sono limitate, ma le prospettive sono
estremamente suggestive: dalla telepresenza (la possibilità di muoversi in un ambiente
remoto, vedendo ciò che vede una telecamera montata su un robot remoto), alla
telemanipolazione (ad esempio, il controllo del braccio di un robot remoto), fino a nuovi
prodotti di entertainment (computer games, cinema interattivo, e molte altre applicazioni) e
alla computer art.
Studiando l’evoluzione dell'interfaccia utente, ci si imbatte continuamente in numerose
metafore, che sono state di volta in volta utilizzate per creare nuovi artefatti: la metafora del
menù ("il video è un menù"); la metafora della scrivania ("il video è il ripiano della
scrivania"); la metafora del foglio da disegno ("il video è un foglio da disegno"); la metafora
del pannello di controllo ("il video è un pannello di controllo"); la metafora della stanza ("il
video è una stanza"); la metafora degli agenti ("i programmi sono agenti"); la metafora dei
virus ("programmi-virus infettano programmi sani"), e così via. In effetti, il procedimento
metaforico può essere di grande stimolo alla creatività nella progettazione di software e, in
particolare, nella definizione di nuovi paradigmi di interazione la metafora ci suggerisce
nuove potenzialità, che poi possiamo realizzare con tutta la flessibilità concessaci dal
software: a volte, la metafora sarà interpretata in modo molto libero, altre volte il software
riprodurrà fedelmente nel calcolatore la realtà alla quale ci si è ispirati: si ha in quest'ultimo
caso un meccanismo di mimesi . La metafora e la mimesi, inoltre, aiutano fortemente l'utente
a costruirsi un "modello concettuale" corretto del sistema software, ovvero una
rappresentazione mentale di come il sistema agisce.
La metafora deve tuttavia essere usata correttamente. Metafore seguite in modo troppo
letterale falliscono, e spesso elementi di "magia" (cioè funzioni o comportamenti che violano
in qualche modo la metafora) possono contribuire parecchio al successo di un'interfaccia.
Oggi sappiamo che le metafore di successo a un certo momento "scompaiono", generando,
24. per così dire, oggetti completamente nuovi che vivono di vita propria, per essere
eventualmente a loro volta utilizzati per produrre nuove metafore.
Se Grudin descrisse il passaggio dal motore dall’interfaccia e dall’interfaccia allo spazio
sociale, le forme di interazione naturale tramite interfacce naturali quali ad esempio eye
tracking , body tracking e altre, renderanno l’interfaccia ubiqua, ovvero i punti di input non
sono più definiti in un oggetto ma saranno dispersi intorno a noi( come nel caso di interfacce
tangibili) o addirittura vicine al nostro corpo (si pensi ad esempio i sensori vitali di un
paziente sotto osservazione medica).
Incominciano già a vedersi in campo ludico vere e proprie applicazioni di questi concetti: un
esempio può essere rappresentato dal “Project Natal”, sviluppato dalla Microsoft per la sua
console da gioco “Xbox 360”: con un sistema di telecamere è in grado di tracciare i
movimenti del giocatore, rendendo cosi inutili e obsoleti i controller fisici che sono stati usati
fino ad ora. Una casa di sviluppo software ha creato per tale console un applicativo chiamato
Milo che fa uso di sistemi di riconoscimento vocale per interagire con un character virtuale,
un bambino adolescente di nome Milo: tramite il tracking del corpo, il riconoscimento vocale,
il riconoscimento dell’espressione del giocatore, Milo risponderà alle azioni degli utenti quasi
come una comune persona, notando se siamo preoccupati, se il nostro timbro di voce esprime
gioia o se il nostro sguardo è perso nel vuoto, e tante altre ‘feature’, tutte quante col fine di
creare un’esperienza quanto più reale possibile; non si escluderebbero applicazioni in campo
medico/psicologico al fine di trattare pazienti con problemi relativi al relazionarsi con la
società. Dalle GUI al multitouch, dallo speech recognition alle gestures: i modi con cui si
potrà interagire con i computer si diversificheranno come non mai.
25. Multitouch
Multitouch
Tra le varie interfacce e i vari dispositivi di input attualmente esistenti, è tornata alla luce
una tecnologia poco diffusa, presumibilmente per motivi legati al costo della stessa.
Banalmente, si considera un dispositivo ‘multitouch’ quando è possibile utilizzare come input
più di un punto di contatto alla volta. Nel nostro quotidiano lavoro con i computer,
interagiamo con questi ultimi attraverso il mouse di Englebart o con sue ‘emulazioni’, quali
touchpad di computer portatili, tavolette grafiche per artisti, trackball e sistemi touchscreen,
che comunicano mediante circuiteria interna, implementata con varie tecnologie, la posizione
in cui l’utente ‘tocca’ la superficie del dispositivo o la quantità dello spostamento relativo
effettuata.
Ma il termine multitouch non deve essere automaticamente associato necessariamente ad uno
schermo sensibile a più punti di contatto, anche se ultimamente la parola viene utilizzata per
descrivere le recenti tecnologie installate nei telefonini o nei computer portatili.
Già il semplice fatto di permettere l’uso di più punti di contatto, attribuisce al device il
termine ‘multitouch’.
In questo capitolo, dopo una breve panoramica sull’argomento, si passeranno in rassegna le
tecnologie che permettono questo tipo di interazione, per passare poi ai capitoli successivi
dove ne verrà proposta l’implementazione di una specifica, assieme ad un esempio di
applicazione software che sfrutta tale modalità di interazione
Caratteristiche
Le prime e vere periferiche che possiamo considerare come multitouch, sono quelle che
tuttora utilizziamo: le tastiere. Non sarà difficile capire il motivo in quando più di una volta
sarà capitato di premere più di due tasti contemporaneamente: i tasti maiuscolo ci permettono
di avere il cosiddetto ‘upper case’ della lettera dell’alfabeto che intendiamo premere; i tasti
funzione (fn) che abbassano la luminosità dello schermo di un computer portatile; i tasti
Control e Alt, e cosi via. Oltre a queste sequenze comuni, le tastiere risolvono un problema
che può sembrare inesistente fino a quando non ci si presta attenzione: si tratta del fenomeno
di ‘rollover’ dei tasti, e consiste nel premere un tasto e successivamente un altro diverso senza
rilasciare quello precedentemente premuto. La tastiera deve essere in grado di riconoscere
queste situazioni e mandare l’input corretto secondo la nostra intenzione originaria, ovvero
quella di scrivere due lettere diverse: le moderne tastiere supportano più di un tasto premuto
per volta, generalmente vengono chiamate ‘N-key Rollover’.
È bene fare un piccolo chiarimento riguardante i dispositivi multitouch: per una prima fase
vennero sperimentate delle periferiche chiamate ‘touch tablets’ e nella successiva fase delle
periferiche chiamate ‘touch screens’: la differenza importante tra le due tipologie è la
presenza di un display nella seconda tipologia; il display permetteva di guardare direttamente
cosa si stesse manipolando, mentre la prima tipologia è simile al comportamento del classico
mouse, ovvero lo si sposta ma gli effetti non sono diretti sulla periferica ma agiscono
indirettamente sullo schermo del computer, ovvero un’interazione ‘indiretta’.
William (Bill) Buxton fu uno dei pionieri dell’interazione mediante multitouch: il lavoro
originale preso in carico dal suo team è stato svolto nel 1984, lo stesso anno in cui fu
rilasciato il primo Macintosh, ma dichiarano che non furono i primi ad avventurarsi nel
campo.
25
26. Multitouch
Durante lo sviluppo dell' IPhone, la Apple dimostrò di essere a conoscenza della storia del
multitouch, facendo risalire la tecnologia almeno al 1982, e l'uso delle gesture come il ‘pinch’
(letteralmente ‘pizzico’) al 1983, secondo quanto chiaramente dimostrato nelle bibliografia
della tesi di laurea di Wayne Westerman, co-fondatore dell’azienda FingerWorks, acquistata
dalla Apple nel 2005.
La natura dell'interazione con l'input multitouch è strettamente dipendente nella natura delle
azioni, che possono essere discrete o continue. Molte interfacce ‘touchscreen’ convenzionali
sono basate su oggetti discreti, come ad esempio i pulsanti mostrati da un’interfaccia grafica.
Un esempio di applicativo ‘multitouch’ che usa queste azioni cosiddette ‘discrete’ può essere
l'uso di una tastiera software QWERTY, dove un dito tiene premuto ad esempio il tasto
maiuscolo e un'altro preme la lettera desiderata.
Per quanto riguarda la tipologia di azioni definite ‘continue’ invece possiamo prendere come
esempio due dita che compiono un'azione coordinata continua per allontanare gli angoli
opposti di un rettangolo(‘stretching’ della figura).
Esiste anche la tipologia di azioni in cui discreto e continuo si mescolano, ed un esempio
potrebbe essere quello in cui un dito simula il mouse indicando il cursore e l'altro dito ad
esempio può indicare la pressione dei tasti del mouse stesso.
Storicamente molti devices sensibili al tocco hanno comunicato solamente il fatto che la
superficie veniva toccata in un determinato punto, sia per i dispositivi multitouch che singolo
touch.
Esistono anche altri aspetti del tocco che sono particolarmente interessanti e che sono stati
sfruttati in alcuni sistemi, e hanno il potenziale di arricchire la User Experience.
In primo luogo possiamo citare i cosiddetti ‘gradi di tocco’, che rilevano la quantità di area
della superficie che viene coperta durante il contatto. Un semplice e pratico utilizzo di questa
caratteristica può permettere di aumentare l’interazione con il device semplicemente
discriminando il tocco di un dito da un tocco di un oggetto molto più grande: si immagini di
implementare tale caratteristica in un telefono cellulare, che permetta all’utente di rispondere
ad una chiamata semplicemente appoggiando il telefono alla guancia.
Un’altra caratteristica riguarda l’angolo con la quale il dito tocca la superficie, utilizzata in
certi sistemi per usare il dito come un joystick virtuale.
Diversamente da un mouse, inoltre, una volta in contatto con lo schermo, l'utente può
esercitare dell’ attrito tra il dito e lo schermo in modo da applicare vari vettori di forza. per
esempio, senza muovere il dito, si può applicare una forza lungo ogni vettore parallelo allo
schermo, comprese le forze rotazionali.
La ricchezza di interazione di interfacce, periferiche, sistemi in generale è strettamente legata
dalla ricchezza e disponibilità di gradi di libertà (DOF), in particolare gradi di libertà
'continui', supportati dalla tecnologia. Le GUI convenzionali sono largamente basate
sull’azione di muovere un singolo cursore bidimensionale, usando un mouse per esempio.
Risultano quindi due gradi di libertà. Se invece si sta ricevendo la posizione di due dita sullo
schermo o su una generica superficie piana allora l’interazione avrà quattro gradi di liberta.
Quando usate propriamente, queste tecnologie offrono il tipo di ricchezza di input e
interazione che incontriamo nella vita di tutti i giorni.
Il multitouch permette di trarre tutti i vantaggi offerti dall’input mediante due mani, riducendo
cosi il tempo di ‘switching’ che è caratteristico di sistemi come il mouse e permette più azioni
parallele e contemporanee: si pensi ad esempio ad alcune azioni che compiamo ogni giorno
con l’uso di due mani, come ad esempio il cambiare marcia mentre si è alla guida; risulta
poco pratico( e poco sicuro) dover cambiare marcia con una mano sola e lasciare il volante in
balia della strada; allo stesso modo possiamo immaginare di lavorare su un’immagine digitale
e di dover cambiare lo strumento matita con lo strumento gomma per cancellare: questo
27. Multitouch
impone all’utente di creare un tempo nella quale si effettua lo ‘switch’ dello strumento, tutto
con l’uso di una sola mano; con due mani invece una potrebbe continuare a lavorare sul
disegno mentre l’altra seleziona gli strumenti necessari.
Questi sono esempi banali che però mostrano come il solo fatto di utilizzare entrambe le mani
in un touchscreen capace di sentire più punti di contatto, porti a prestazioni maggiori e
interazioni più ‘naturali’.
Più dita significa automaticamente più utenti, diventando così un potente strumento di
collaborazione: mentre noi stiamo lavorando ad un testo, il nostro collega a lato può preparare
un logo da inserire nel nostro testo e contemporaneamente chiederci consigli su come esso
vada fatto, entrambi però lavorando sulla stessa periferica/interfaccia.
Sono stati sviluppati sistemi con il Diamond Touch che permettono inoltre di sapere quale
utente opera su un determinato contenuto, mediante l’utilizzo di piccole tensioni di corrente
atte a chiudere circuiti elettrici con la superficie del tavolo stesso.
Inoltre la maggior parte degli strumenti sensibili al tocco sono capaci di rilevare non
solamente dita ma anche oggetti quali ad esempio le ‘stylus’, le penne che permettono un
input più preciso rispetto al singolo dito.
Naturalmente le dimensioni del dispositivo giocano un ruolo molto importante: superfici
molto piccole riducono il numero di dita, mani, penne e persone che possono prendere parte
all’interazione.
Al crescere della popolazione, crescono proporzionalmente necessità e dispositivi sempre
più diversi tra loro, con i relativi pregi e difetti.
Per evitare di portarsi con sé tanti dispositivi, in questo senso il multitouch può essere d'aiuto:
invece di creare un dispositivo dedicato con diversi pulsanti e comandi fisici,si può, via
software, solamente disegnare una figura del dispositivo che desideriamo e interagire con
esso. Idealmente si ha una flessibilità maggiore di un singolo device dedicato. Questo a volte
può essere un bene, specialmente se, come i dispositivi fisici, è consentito utilizzare più di un
pulsante alla volta o più dispositivi alla volta ( come ad esempio le manopole che regolano i
volumi in un mixer di un DJ ). Inoltre il multitouch espande le tipologie di gesti che noi
possiamo usare come interazione. Possiamo andare oltre il puntare, premere pulsanti e fare
‘drag and drop’ che abbiamo usato fino ad adesso: si immagini di andare al ristorante cinese e
di usare per mangiare una sola bacchetta, o di abbracciare qualcuno solamente con la punta di
un dito. Possiamo chiedere di più come utenti e il multitouch è uno dei tanti modi di
conseguire questo scopo, ma non è detto che sia il migliore: come è giusto ricordare, qualsiasi
oggetto può essere migliore di altri nel fare una determinata cosa, ma fallire per qualche altro
scopo.
In relazione a quanto appena detto, si ricorda anche la famosa locuzione che recita: “non ci
sono pasti gratis”; infatti l’uso del multitouch ha anche degli svantaggi.
Per primi possiamo citare quelli riguardanti le sensazioni: il fatto di interagire con qualcosa di
virtuale, disegnato nel display, con un device simulato, è qualcosa di molto diverso dall’uso
del device fisico: la mancanza di certi elementi di feedback possono disorientare l’utente,
inducendolo a compiere errori; si pensi ad esempio il feedback aptico e tattile dato dalla
comuni tastiere che ci comunicano che un tasto è stato premuto e che sta per essere rilasciato,
semplicemente con un meccanismo di molle che attiva i sensori posti nei nostri polpastrelli; in
una tastiera virtuale su schermo non sapremo, se non guardando direttamente il device, se
abbiamo commesso errori di battitura.
In generale la progettazione di interfacce utente riguardano anche il ‘look and feel’ di queste
ultime, ovvero l’aspetto e le sensazioni che comunicano, ma i sistemi touch spesso
enfatizzano solamente il look.
28. Multitouch
Questi dispositivi sono attualmente inutilizzabili da chi ha problemi di cecità e non solo
perché anche chi vede a volte è momentaneamente ceco perché magari il suo sguardo è
impegnato altrove.
Con questi device bisogna avere sempre gli occhi puntati per capire con cosa e come si sta
interagendo, come accennato nell’esempio precedente della tastiera virtuale confrontata a
quella fisica e reale( con la quale tramite corsi di dattilografia e con la diretta esperienza
d’uso, abbiamo imparato a scrivere senza guardare).
Lo stesso discorso vale anche per i recentissimi riproduttori di musica in formato digitale: si
pensi ad i vecchi modelli del classico IPod in confronto al nuovo IPod touch; i vecchi modelli
permettevano di controllare il dispositivo anche mentre il nostro sguardo era rivolto altrove
mentre con il nuovo dispositivo questo non è più possibile.
Certi modelli di palmari poi necessitano l’uso di due mani: una che regge il dispositivo e
l'altra che interagisce con il touchscreen, naturalmente in aggiunta alla richiesta di attenzione
e dello sguardo da parte dell’utente.
Un’altra considerazione da fare è quella sulle dimensioni antropometriche del dito: esso non è
trasparente e più piccolo è il contenuto da leggere o il display su cui operare, più sentito si fa
l'uso di una penna, di più piccole dimensioni rispetto al dito stesso.
Un ultimo problema, ma non meno importante, riguarda l’utilizzo di questi dispositivi in
ambienti esterni o che devono avere a che fare con il riflesso del sole e delle luci.
Leggere dagli schermi in condizioni di luce esterna risulta estremamente difficile con i nostri
cellulari, computer e tali difficoltà non solo vengono ereditate anche dai multitouch screens,
ma anche in qualche modo amplificate in quanto si opererà su un device senza tasti fisici ma
solo virtuali: tale problema può essere parzialmente arginato mediante schermi di protezione
che riducono gli effetti della troppa illuminazione e in futuro potranno essere aggiunti dei
sistemi di feedback tattile già in sperimentazione negli ultimi mesi; infatti un’azienda ha
prodotto delle soluzioni da applicare allo schermo interessato che, comandate via software,
permettono di creare delle forme in rilievo sulla superficie mediante flussi di aria interni a dei
sottili fogli di materiale siliconato.
Concludendo, queste ultime affermazioni non fanno del multitouch un oggetto brutto e
inusabile ma come ogni device presenta i suoi punti forti e le sue debolezze. È abbastanza
importante sia per i designer sia per i consumatori essere al corrente di questi fatti e capirli per
poter poi operare al meglio senza grandi problemi.
Attualmente la storia di questo tipo di tecnologie non ha molti prodotti alle sue spalle ma allo
stesso tempo bisogna ricordare che sono trascorsi circa 30 anni tra l'invenzione del mouse di
Engelbart (1965) e la sua diffusione di massa con il rilascio di Windows 95 e dei primi
Macintosh anche se commercialmente fu rilasciato dallo Xerox Star nel 1982.
Stando a quanto detto, il multitouch ha ancora un paio di anni per potersi affermare e i trend
positivi attualmente indicano che si è sulla strada giusta, e sempre più aziende si interessano
alla tecnologia e al metodo di interazione.
Cronistoria di device multitouch
Come accennato nel precedente paragrafo, le prime interfacce multitouch nel senso stretto
del termine furono le tastiere, ma possiamo datare un inizio nell’usare il tocco anche prima
dell’era dei computer personali: infatti nel 1967 Brian Karvis inventò lo ‘Stylophone’
(stilofono), una tastiera musicale che tramite il contatto di una penna elettrica con dei tasti
metallici attivava un oscillatore interno a basso voltaggio con lo scopo di generare frequenze
sonore. Abbandonando l’ambito musicale per passare nuovamente a quello prettamente
informatico, nel 1972 nell’università dell’ Illinois, venne creato il primo prototipo di
29. Multitouch
touchscreen: realizzato mediante una griglia 16x16 di coppiette di emettitori-sensori di luce
infrarossa, era capaci di rilevare un punto di contatto ma nessuna informazione aggiuntiva
come ad esempio la pressione esercitata. Nel 1981 si creò un dispositivo per scopi robotici in
grado di rilevare la forma dell’oggetto che si poggiava sopra con una risoluzione decisamente
bassa: una griglia 8x8. Nel 1982 fa la sua apparizione il primo sistema multitouch, il ‘Flexible
Machine Interface’ costituito da un particolare tipo di vetro che aveva la caratteristica di far
comparire un punto scuro dalla parte opposta alla quale si premeva: con lavoro di image
processing fu possibile lavorare con svariate applicazioni come ad esempio quelle da disegno.
Successivamente a questo, nel 1983 i laboratori Bell pubblicarono un documento nel quale
descrissero le proprietà di questi sistemi cosiddetti ‘Soft’.
Video place o Video Desk, uscito nel 1983 permetteva mediante un sistema basato su
‘visione’ , l’interazione di più mani e più utenti , il tutto corredato da un ampio vocabolario di
gesti. Era un dispositivo di tipo touch tablet poiché non era dotato di display dove manipolare
direttamente gli oggetti e non captava effettivamente il tocco.
Un anno dopo, nel 1984 i laboratori Bell crearono un dispositivo multitouch di tipo
touchscreen, con l’uso di un array di sensori sensibili al tocco sovrapposti a un monitor CRT.
Nel 1985 Bill Buxton propose il suo Multi-touch Table, un tavolo sensibile a più tocchi con la
caratteristica di essere configurabile mediante maschere e di permettere di volta in volta di
ricreare l’illusione di un nuovo e diverso device per ogni diversa maschera che veniva
utilizzata. Utilizzava sistemi capacitivi e a differenza di sistemi ottici risultava più piccolo e
trasportabile. Nel 1991 nello Xerox PARC europeo di Cambridge, veniva ideato un sistema di
augmented reality chiamato Digital Desk, nella quale un proiettore , proiettava per l’appunto
le immagini di una scrivania virtuale con tanto di accessori con la quale l’utente poteva
interagire con le dita, mentre veniva ripreso da telecamere e da sensori acustici: venne
dimostrato l’utilizzo di gesti multitouch, per scopi quali lo scaling di immagini e traslazioni
nel piano di oggetti, in generale di trasformazioni affini. Nel 1992 IBM e Bell South
rilasciarono il primo telefono di tipologia ‘smartphone’, chiamato Simon, dotato solamente di
touchscreen. Benché potesse rilevare solamente un unico punto, fu sicuramente l’esempio che
seguirono i più moderni produttori di dispositivi mobili. Nel 1992 la Wacom introdusse i suoi
digitizer, delle tavolette grafiche capaci di rilevare la posizione di una penna e anche la
pressione esercitata e anche la posizione di un mouse usato per interazioni bi-manuali.
Successivamente vennero aggiunte features che permettevano di rilevare l’angolazione della
penna rispetto alla tavoletta grafica. Per i successivi anni non ci furono radicali innovazioni
fino al 2003, quando l’azienda francese Jazz Mutant commercializzò in larga scala il suo
dispositivo multitouch chiamato Lemur: quest’ultimo è un controller con alte possibilità di
utilizzo in ambito musicale, da mixer virtuali a drum machines a sequencers. Nel 2006 Jeff
Han in un talk per TED (Technology, Entertainment, Design) dimostra una soluzione basata
su camera e image processing e sull’uso di proiettore per la visualizzazione di immagini. Un
anno dopo la Apple colpisce il mercato con il suo IPhone, diretto discendente del Simon del
1992: con un’interfaccia multi tocco limitata e con un unico pulsante oltre quello di
accensione, fa uso di gesti per lo zooming di immagini o di contenuti di pagine web e si dota
di sensori quali accelerometri per orientare l’interfaccia mostrata in base all’orientamento del
telefono. Nello stesso anno, Microsoft espone il suo tavolo interattivo multitouch con
implementazione dei classici gesti descritti in questo paragrafo e con un meccanismo di
telecamere montate sotto al tavolo in grado di riconoscere gli oggetti che vengono poggiati
sulla superficie. Nel 2008 il mercato dei computer portatili, specialmente dei Tablet Pc, vede
l’azienda N-Trig fare la sua grande entrata rendendoli capaci di sentire più tocchi e da diversi
oggetti, e con un input ottimizzato per le penne. Come detto precedentemente, si attende una
sempre più grande diffusione di questa tecnologia grazie alla spinta data da Apple con la sua
30. Multitouch
coraggiosa idea di lanciare prodotti e soluzioni multitouch al grande pubblico nonostante la
scarsa e quasi incompleta conoscenza di tali dispositivi(da notare infatti, che prima del 2007 il
concetto di multitouch è rimasto sempre un argomento di nicchia, e confinato ai centri di
ricerca delle università o delle aziende).
31. Progetto
Progetto
L’idea di costruire un prototipo di periferica multitouch è frutto di una precedente
esperienza universitaria: per il corso di Informatica Grafica fu richiesta
l’implementazione di una applicazione grafica interattiva utilizzando il linguaggio Java e
le API per lo sviluppo di scenari tridimensionali, Java3D.
Ispirato da un lavoro effettuato da Johnny Chung Lee della Carnegie Mellon University,
riguardante l’utilizzo del controller remoto della console Nintendo Wii per controllare
una scena virtuale 3D, decisi di implementare in Java3D tale applicazione.
L’applicativo consisteva nel simulare su schermo una finestra verso un mondo virtuale,
consentendo all’utente di muovere la testa davanti al monitor, nel mondo reale quindi, per
poter vedere dettagli nascosti negli oggetti presenti nella scena virtuale: una rudimentale
applicazione di ‘Head-Tracking’.
Il meccanismo, piuttosto semplice, prevedeva l’uso di una webcam da montare sopra il
monitor, e un paio di occhiali modificati con l’aggiunta di un led infrarosso nell’ asta
frontale dell’occhiale, orientato verso la webcam: oscurando l’obiettivo della webcam
con un filtro per la luce visibile, era possibile far passare solamente la luce infrarossa
trasmessa dal led.
La webcam provvedeva a fornire all’applicativo java dei frame per la maggior parte neri,
con qualche chiazza chiara, causata dalla luce infrarossa del led. La parte più impegnativa
fu quella di implementare il codice per eseguire il tracking della chiazza chiara e
trasformare tali dati in input, per gestire i movimenti di una telecamera virtuale immersa
nella scena tridimensionale: la versione di Johnny Chung Lee sfrutta il tracking eseguito
via hardware dal remote della Wii, e si limita a usare dati già pronti prelevati mediante
comunicazione Bluetooth.
Fu ottenuto così l’effetto di realtà virtuale e head-tracking, e nella semplice scena 3D
dimostrativa, l’utente poteva navigare tra dei bersagli tridimensionali, e a seconda dei
movimenti e della posizione della testa, poteva occludere o meno la visione dei bersagli
posti in profondità.
Figura 5.1(a)(b)(c) : Schermate dell’applicativo in Java3D simulante realtà virtuale
Nella figura 5.1(a) viene mostrato lo stato iniziale dell’applicativo, mentre nella figura
5.1(b) viene mostrato il cambiamento di prospettiva indotto da un movimento laterale
dell’utente verso sinistra: certi oggetti prima visibili in lontananza vengono ora occlusi da
quelli più vicini mentre altri prima occlusi vengono resi visibili; nella figura 5.1(c) viene
effettuato un altro spostamento laterale ma questa volta verso destra.
La naturale evoluzione di questo progetto sarebbe stata l’aggiunta della capacità di
potersi avvicinare e allontanare dallo schermo, sfruttando questa volta due luci led
infrarosse in maniera da relazionare la distanza tra i due punti visti dalla webcam allo
spostamento non più solamente laterale dentro la scena 3D da parte della camera virtuale.
31
32. Progetto
Da li in poi, il passo verso il rilevamento di più punti generati da altrettanti led sarebbe
stato relativamente breve.
Il problema era quello di trovare un modo efficiente per costruire un dispositivo in grado
di rilevare più luci infrarosse e allo stesso modo di visualizzare un output visivo
adeguato. Abbandonai il progetto per sostenere gli esami universitari ma con l’intento di
riprenderlo nel futuro con i miei colleghi.
Ispirazione
Pochi mesi più tardi, notai mentre tenevo in mano un comunissimo bicchiere di vetro
trasparente con dell’acqua al suo interno, che rimanevano visibili, attraverso il liquido e il
bicchiere, solamente i polpastrelli che facevano contatto diretto con la superficie in vetro.
Per i giorni successivi notavo sulle comuni superfici piane in vetro trasparenti e sul comune
plexiglass(acrilico), che le impronte delle dita formavano degli ellissi, di area più o meno
grande, in relazione alla pressione esercitata verso la superficie: questo piccolo e casuale
accorgimento mi fece riprendere in considerazione l’idea precedentemente descritta e
abbandonata. Ne parlai per giorni con un mio collega e la soluzione che più è sembrata
praticabile e plausibile fu quella di avere una superficie in vetro o in acrilico, da toccare nel
vero senso della parola, per poter creare gli ellissi generati dai polpastrelli e successivamente
di irradiare la superficie di luce infrarossa per poi permettere alla webcam utilizzata nel
progetto precedente di rilevare nei vari frame, le chiazze più chiare. Rimaneva il limite del
display delle informazioni, ovvero il mostrare il contenuto con la quale si andava ad interagire
nella superficie che veniva toccata: fu la causa che portò il progetto ad un secondo blocco.
Figura 5.1.1(a)(b): impronte su vetro e plexiglass
Nella figura 5.1.1(a) viene mostrato l’effetto notato in condizioni di luce ambientale mentre
nella figura 5.1.1(b) viene illuminato in un modo particolare una superficie di acrilico, con
una luce di colore blu.
Frustrated Total Internal Reflection
Il fenomeno descritto in precedenza in maniera piuttosto banale e poco tecnica prende il
nome di “Frustrated Total Internal Reflection”, ovvero riflessione interna totale disturbata.
La riflessione totale interna è un fenomeno, appartenente alle leggi della riflessione, che si
verifica quando un’onda elettromagnetica colpisce la superficie di separazione tra due mezzi:
si pensi ad esempio di stare sotto il pelo dell’acqua in una piscina o nel mare e di guardare la
superficie di quest’ultima con direzione rivolta verso il cielo; in questo caso i due mezzi sono
33. Progetto
proprio l’acqua e l’aria. Per le leggi della riflessione una parte dell’onda elettromagnetica che
colpisce la superficie, attraversa quest’ultima, generando il cosidetto fenomendo di rifrazione
dell’onda elettromagnetica mentre la restante parte si riflette e continua a viaggiare nel mezzo
dalla quale originariamente proveniva. Un’osservazione proveniente dalle leggi della
riflessione dice che l’angolo di riflessione θr è uguale all’angolo di incidenza θi rispetto alla
normale della superficie.
Se invece si chiama θt l'angolo formato dal raggio rifratto con la normale alla superficie,
secondo la legge di Snell si ha che n1*sin θi = n2*sin θt con n1 e n2 gli indici di rifrazione
dei due mezzi.
La riflessione totale avviene se l'angolo θt raggiunge l'ampiezza di π/2, cioè se non esiste più
onda rifratta. Questo fenomeno può avvenire nel passaggio da un mezzo più denso a uno
meno denso (ovvero, n1 > n2) e l'angolo θi tale per cui non esiste onda rifratta è detto angolo
critico
Figura 5.2.1: riflessione totale interna(in blu) e riflessione con rifrazione(in rosso). Fonte
http://www.wikipedia.it/
In figura 5.2.1 si nota la riflessione interna totale nella freccia in colore blu. In condizioni
normali, ovvero un mezzo come può essere un vetro o un foglio di acrilico, a contatto con il
mezzo aria, la luce visibile viene intrappolata all’interno del mezzo: solamente quando
toccheremo un punto del nostro vetro o acrilico andremo a cambiare l’indice di rifrazione
modificando così la direzione delle onde elettromagnetiche della luce.
Nella figura 5.1.1(b) viene mostrato come, fatta viaggiare della luce all’interno di una lastra di
acrilico, si possa disturbare la riflessione interna semplicemente appoggiando la mano.
Si noti come la caratteristica della riflessione totale interna venga usata nei collegamenti
mediante fibra ottica: il materiale che riveste ogni fibra ottica garantisce un indice di
rifrazione minore del mezzo fibra, rendendo così possibile la riflessione dell’onda senza
eccessiva perdita di energia luminosa.
Realizzazione fisica del dispositivo
Il progetto riprese con l’acquisto di un proiettore DLP, originariamente destinato a scopi di
home cinema, di risoluzione 1024x768 pixel. Ora si disponeva di un dispositivo in grado di
fornire l’output. Durante alcune ricerche in Internet per scoprire eventuali problemi con il
rilevamento di luce infrarossa dovuti al proiettore, venni a conoscenza di una allora giovane
community: NUI, la Natural User Interface group, alla quale partecipano attivamente studenti,