SlideShare a Scribd company logo
1 of 55
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
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
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
4
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
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.
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
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.
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.
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.
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.
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
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.
14
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;
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
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.
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ù
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
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.
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
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.
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,
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.
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
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
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.
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
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
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).
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
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
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,
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer
Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer

More Related Content

What's hot

Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiFrancesco Magagnino
 
Relazione Analisi di Usabilità Apple itunes
Relazione Analisi di Usabilità Apple itunes Relazione Analisi di Usabilità Apple itunes
Relazione Analisi di Usabilità Apple itunes Sarah Cillo
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMMichele Filannino
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
 
Montalti - "Interactive Musical Agents" (2010, paper ITA)
Montalti - "Interactive Musical Agents" (2010, paper ITA)Montalti - "Interactive Musical Agents" (2010, paper ITA)
Montalti - "Interactive Musical Agents" (2010, paper ITA)Alessandro Montalti
 
La stop motion come risorsa
La stop motion come risorsaLa stop motion come risorsa
La stop motion come risorsaTania Bozhova
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Davide Ciambelli
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleLuigi De Russis
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility modelsUmberto Griffo
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...enriconatella
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
 
Netex learningCentral | Trainer Manual v4.4 [It]
Netex learningCentral | Trainer Manual v4.4 [It]Netex learningCentral | Trainer Manual v4.4 [It]
Netex learningCentral | Trainer Manual v4.4 [It]Netex Learning
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture NotesRobertoMelfi
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigantedox82
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzinshadow82
 

What's hot (20)

Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
 
Relazione Analisi di Usabilità Apple itunes
Relazione Analisi di Usabilità Apple itunes Relazione Analisi di Usabilità Apple itunes
Relazione Analisi di Usabilità Apple itunes
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPM
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
LEARNING OBJECT MODELLO DI RIFERIMENTO SCORM E AUTHORING APPLICATIONS
LEARNING OBJECT MODELLO DI RIFERIMENTO SCORM E AUTHORING APPLICATIONSLEARNING OBJECT MODELLO DI RIFERIMENTO SCORM E AUTHORING APPLICATIONS
LEARNING OBJECT MODELLO DI RIFERIMENTO SCORM E AUTHORING APPLICATIONS
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
 
Montalti - "Interactive Musical Agents" (2010, paper ITA)
Montalti - "Interactive Musical Agents" (2010, paper ITA)Montalti - "Interactive Musical Agents" (2010, paper ITA)
Montalti - "Interactive Musical Agents" (2010, paper ITA)
 
La stop motion come risorsa
La stop motion come risorsaLa stop motion come risorsa
La stop motion come risorsa
 
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
Tesi Specialistica - L'ottimizzazione delle risorse della Grid di EGEE median...
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
 
Manuale geogebra
Manuale geogebraManuale geogebra
Manuale geogebra
 
ECDL-modulo1
ECDL-modulo1ECDL-modulo1
ECDL-modulo1
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility models
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
 
Netex learningCentral | Trainer Manual v4.4 [It]
Netex learningCentral | Trainer Manual v4.4 [It]Netex learningCentral | Trainer Manual v4.4 [It]
Netex learningCentral | Trainer Manual v4.4 [It]
 
Tesi
TesiTesi
Tesi
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture Notes
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigante
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzin
 

Viewers also liked

Presentazione tesi multitouch
Presentazione tesi multitouch Presentazione tesi multitouch
Presentazione tesi multitouch Pier Giuliano Nioi
 
Tesi Il museo fuori dal museo (doc)
Tesi Il museo fuori dal museo (doc)Tesi Il museo fuori dal museo (doc)
Tesi Il museo fuori dal museo (doc)Luna Gasparini
 
Tesi di laurea specialistica
Tesi di laurea specialisticaTesi di laurea specialistica
Tesi di laurea specialisticaAntonio Fracas
 
Tesi Di Laurea - Stefano Berto
Tesi Di Laurea - Stefano BertoTesi Di Laurea - Stefano Berto
Tesi Di Laurea - Stefano BertoStefano Berto
 
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerProgettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerLorenzo Sfarra
 
Tesi di laurea di Josip Mihovilović
Tesi di laurea di Josip MihovilovićTesi di laurea di Josip Mihovilović
Tesi di laurea di Josip MihovilovićJosip Mihovilovic
 
Luxury Brand Identity: il caso Chanel
Luxury Brand Identity: il caso ChanelLuxury Brand Identity: il caso Chanel
Luxury Brand Identity: il caso ChanelNicolò Montevecchi
 
Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" filippo rossi
 
Il Business Model di Grom S.r.l. - tesi di laurea
Il Business Model di Grom S.r.l. - tesi di laureaIl Business Model di Grom S.r.l. - tesi di laurea
Il Business Model di Grom S.r.l. - tesi di laureaRialzo Impresa
 
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Mario Valiante
 
Presentazione Tesi Laurea Triennale
Presentazione Tesi Laurea TriennalePresentazione Tesi Laurea Triennale
Presentazione Tesi Laurea Triennalelzenki
 

Viewers also liked (12)

Presentazione tesi multitouch
Presentazione tesi multitouch Presentazione tesi multitouch
Presentazione tesi multitouch
 
Tesi Il museo fuori dal museo (doc)
Tesi Il museo fuori dal museo (doc)Tesi Il museo fuori dal museo (doc)
Tesi Il museo fuori dal museo (doc)
 
Tesi di laurea specialistica
Tesi di laurea specialisticaTesi di laurea specialistica
Tesi di laurea specialistica
 
Tesi Di Laurea - Stefano Berto
Tesi Di Laurea - Stefano BertoTesi Di Laurea - Stefano Berto
Tesi Di Laurea - Stefano Berto
 
Tesi processo st.
Tesi processo st.Tesi processo st.
Tesi processo st.
 
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerProgettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
 
Tesi di laurea di Josip Mihovilović
Tesi di laurea di Josip MihovilovićTesi di laurea di Josip Mihovilović
Tesi di laurea di Josip Mihovilović
 
Luxury Brand Identity: il caso Chanel
Luxury Brand Identity: il caso ChanelLuxury Brand Identity: il caso Chanel
Luxury Brand Identity: il caso Chanel
 
Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere"
 
Il Business Model di Grom S.r.l. - tesi di laurea
Il Business Model di Grom S.r.l. - tesi di laureaIl Business Model di Grom S.r.l. - tesi di laurea
Il Business Model di Grom S.r.l. - tesi di laurea
 
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
Tesi di laurea triennale: Rilevamento geologico dell'area di Tagliacozzo (AQ)
 
Presentazione Tesi Laurea Triennale
Presentazione Tesi Laurea TriennalePresentazione Tesi Laurea Triennale
Presentazione Tesi Laurea Triennale
 

Similar to Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer

Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilitàLie Chen
 
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Marco Virgo
 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Domenico Schillaci
 
Relazione laboratorio knowledge management
Relazione laboratorio knowledge managementRelazione laboratorio knowledge management
Relazione laboratorio knowledge managementAndrea Casagrande
 
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...freedomotic
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaStefano Bussolon
 
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Nicola Cerami
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Matteo Gazzin
 
Progettazione di universal active filters e realizzazione di un software per ...
Progettazione di universal active filters e realizzazione di un software per ...Progettazione di universal active filters e realizzazione di un software per ...
Progettazione di universal active filters e realizzazione di un software per ...SamanthaGaio
 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Nicola Cerami
 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsLorenzo Stacchio
 
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...AmmLibera AL
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloMarco Vaiano
 
Tesi di laurea di Luisa Biancon
Tesi di laurea di Luisa BianconTesi di laurea di Luisa Biancon
Tesi di laurea di Luisa Bianconsteffavr
 

Similar to Implementazione hardware/software di un sistemamultitouch per l'interazione uomo-computer (20)

Tesi Tamiazzo09
Tesi Tamiazzo09Tesi Tamiazzo09
Tesi Tamiazzo09
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilità
 
Rapporto finale Chiandotto
Rapporto finale ChiandottoRapporto finale Chiandotto
Rapporto finale Chiandotto
 
a4_centrata
a4_centrataa4_centrata
a4_centrata
 
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
Sviluppo di un'applicazione windows phone 7.5 per la visualizzazione di dati ...
 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
 
Relazione laboratorio knowledge management
Relazione laboratorio knowledge managementRelazione laboratorio knowledge management
Relazione laboratorio knowledge management
 
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo Macchina
 
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
Tecniche per la rilevazione e correzione di errori nell'elaborazione automati...
 
Progettazione di universal active filters e realizzazione di un software per ...
Progettazione di universal active filters e realizzazione di un software per ...Progettazione di universal active filters e realizzazione di un software per ...
Progettazione di universal active filters e realizzazione di un software per ...
 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistems
 
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnalo
 
Tesi
TesiTesi
Tesi
 
Tesi di laurea di Luisa Biancon
Tesi di laurea di Luisa BianconTesi di laurea di Luisa Biancon
Tesi di laurea di Luisa Biancon
 

Recently uploaded

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 

Recently uploaded (9)

Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 

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
  • 4. 4
  • 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.
  • 14. 14
  • 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,