Sei sulla pagina 1di 16

Human Computer Interaction on Web

Wearable devices 2
Cosa sono? 2
Come funzionano? 3
Interazione con i wearable devices 3

Interfaccia e interazione per dispositivi IoT 3


IoT? 3
Interazione coi dispositivi IoT 3
User Experience per i dispositivi di IoT 4
IoT design stack 5
Beacon Based Information 5

Chatbots 6
Funzionamento di un message Chatbot 6

Voice User Interface 7


VUI vs VCD 7
A che servono? 7
Come funzionano i dispositivi VCD 7
Problemi frequenti 8
Best practices 8

Haptic Interaction 8
Vari tipi di percezione 8
Touch VS Vista 9
Simboli per l’Haptic Interaction 9
Limitazioni della percezione del tatto 9
Haptic feedback 9

Tangible User Interface 10


Sovrapposizione con altre aree 11
Modello 11
Classificazione delle UI 12
Domini di applicazione 12
Tecnologie 12
Limitazioni e punti deboli 12

Gestural Interaction 13
Interaction fidelity 14
Limitazioni e punti deboli 14
Zooming interfaces 15

HCI in the car 15

Wearable devices
Cosa sono?
Sono tutti quei dispositivi che possono essere indossati: strumenti utili per l’activity tracking,
il fitness, lo sport, la salute e dispositivi per Virtual Reality (VR) e Augmented Reality (AR).
L’interazione uomo-macchina in questo caso prevede che le due parti siano particolarmente
interconnesse: vi è un continuo scambio di dati. Una peculiarità di questi dispositivi è che si
attivano autonomamente senza il bisogno di dare un input diretto. In più essi agevolano
molto il multitasking visto che non devi necessariamente interrompere ciò che stai facendo
per utilizzarli.
Come funzionano?
Utilizzando, per raccogliere dati in input, dei ​sensori ( microfono, accelerometro, GPS,
sensore per il battito cardiaco) e, per produrre dati in output, degli ​attuatori (schermo,
altoparlanti, vibrazione, proiettore). La comunicazione avviene tramite ​Bluetooth​.

Interazione con i wearable devices


L’interazione con i wearable devices avviene spesso tramite il movimento del polso, della
testa o delle mani. Le finestre, le icone, i menu o i puntatori non sono appropriati, dal
momento che i dati da inserire sono spesso dati fisici dell’utente e che possono essere
quindi presi direttamente dai sensori. Il contesto inoltre potrebbe limitare i movimenti
dell’utente (movimenti che rappresentano l’input che egli deve sottomettere). L’utente
potrebbe anche ricevere delle ​interruzioni esterne​, che potrebbero distogliere l’attenzione
dell’utente dall’attività che sta svolgendo. Ci sono 4 tipi di interruzioni:
● immediate​: forzano l’utente a distogliere l’attenzione immediatamente
● negotiated​: l’interruzione viene annunciata cosicché l’utente abbia il tempo di
prendere il controllo
● scheduled​: per esempio ogni 5 minuti
● mediated​: l’interruzione avviene in base al contesto in cui si trova l’utente (esempio
se sta per sbattere su un mobile)

Interfaccia e interazione per dispositivi IoT


IoT?
IoT è una sigla che sta per Internet of Things, e si riferisce a tutti quei dispositivi con del
software ​embedded studiati per interagire con altri dispositivi (la rete “virtuale” diventa
dunque fisica, permettendo il collegamento tra oggetti concreti). Questi dispositivi
prevedono poco spesso l’utilizzo del touch screen.

Interazione coi dispositivi IoT


L’inserimento dei dati avviene tramite ​oggetti fisici (bottoni, interruttori, sliders, manopole),
che sono molto appropriati per un diretto e veloce controllo e sono accessibili anche a
persone cieche. Non sono molto appropriati invece se il software che li governa è
aggiornato frequentemente o quando le funzioni o le impostazioni possono essere
controllate in posti diversi. L’​output​ viene mostrato utilizzando diversi approcci:
1) luci (LED), con colori differenti in base all’output o con uno specifico pattern di
illuminazioni. Sono molto utili per mostrare l’output in maniera non intrusiva, ma
sono poco appropriate per mostrare informazioni complesse.
2) display​, utili per mostrare informazioni complesse (il costo aumenta, sempre vedere
prima se è possibile utilizzare altri metodi più economici). Sono molto appropriati per
rendere gli oggetti fisici più dinamici ma hanno il problema che aumentano la
complessità della User Experience. L’ideale è unire i display con controlli fisici
(esempio la radio in macchina).
3) audio output​, come un suono, oppure attraverso text-to-speech. Un esempio è il
telepass: in base al casello in cui passi emette un suono in maniera differente. Il
telepass è un dispositivo di IoT che non ha una connessione a internet ma ha un
controllo remoto. In generale, i dispositivi che hanno un output audio si rivelano utili
per avvisi immediati e urgenti e possono essere usati senza guardare il dispositivo,
tuttavia sono poco appropriati quando diventano fastidiosi per le altre persone.
Anche l’​input​ viene dato in modi diversi:
1) voice input​, il quale è ancora poco affidabile e riapre il dibattito “Remembering VS
Recalling”: solitamente è meglio che l’utente ricostruisca grazie all’interfaccia i
passaggi da eseguire piuttosto che dover ricordare a memoria i passaggi per navigare
nell’interfaccia o compiere una azione. In questo caso l’interfaccia non può aiutare in
nessun modo l’utente, che sarà costretto a dover ricordare le ​keyword necessarie
per proseguire. L’input vocale è buono quando c’è poco rumore ma peggiora molto
quando c’è poca connessione a internet e diventa difficile da usare se i comandi sono
difficili da pronunciare o ricordare.
2) tangible​/​tactile​, che consiste nel muovere o posizionare un
certo oggetto. Molto facile da imparare, tramite questa
interfaccia input e output avvengono allo stesso modo (tramite
l’oggetto), e non sembra nemmeno di star interagendo con un
computer. Molto buono per task che richiedono poca
attenzione o che hanno scopi educativi. Un esempio di
dispositivo di questo tipo è questo orologio, che cambia il suo
output in base alla posizione in cui si trova.
3) gestures​, come ad esempio swipe, pinch, mid-air gestures o
movimento del corpo generico. Buoni per videogames, wearable devices e per
interazioni corte ma poco appropriate per comandi complicati.
4) context sensitive information​, ossia quando il dispositivo esegue azioni in base al
cambiamento dell’ambiente in cui si trova. Ad esempio un dispositivo che, quando
esci di casa e chiudi la porta, spegne tutte le luci. Utile poiché non ha bisogno di
attenzioni da parte dell’utente, ma ha molte limitazioni.
5) computer vision approaches​, come riconoscimento biometrico, bar codes, QR codes.
Molto pratico perché permette all’utente di non inserire manualmente dei dati ma
può essere impreciso e ha un elevato costo.

User Experience per i dispositivi di IoT


Il servizio Internet è cruciale per il funzionamento della maggioranza dei dispositivi di IoT.
Essi sono inoltre basati completamente sui dati, raccolti dal mondo esterno e collezionati.
L’utente di solito è ben conscio dei rallentamenti che ci possono essere sulla rete, pertanto
ha un margine di tolleranza per i fallimenti di connessione oppure i download lenti. Tuttavia,
l’aspettativa è molto alta per quanto riguarda il feedback (bisogna sempre notificare lo stato
del sistema velocemente e senza errori). Un problema di questi dispositivi è che consumano
molto per connettersi, pertanto si connettono a intermittenza per risparmiare batteria. Il
codice inoltre può girare in differenti sezioni del sistema completo (basti immaginare
un’architettura client-server connessa a dispositivi di IoT) e il fallimento di una delle parti
può causare un errore in tutto il sistema. L’utente non sa tutti i problemi dietro il sistema e
non può capire le cause di tali errori ma bisogna comunque mantenerlo più possibile al
controllo della situazione.
IoT design stack
La progettazione di un sistema che sfrutti dispositivi di IoT si articola nelle seguenti fasi:
1) Visual design​: progettazione di layout e schermate
2) I​nteraction design​: delineare i comportamenti e azioni tra utente e dispositivo
3) Industrial design​: scegliere l’hardware da usare e delineare i vincoli tecnici
4) Interusability​: progettare l’interazione tra i dispositivi utilizzati
5) Service design​: progettazione delle funzionalità, degli aggiornamenti software,
dell’assistenza clienti e degli acquisti in-app
6) Platform design​: progettazione dell’architettura software e scelta dei framework da
usare

Beacon Based Information


Un ​beacon è fondamentalmente un dispositivo che dice “sono qui” alle altre applicazioni.
Ogni beacon ha un UUID unico che può essere trasmesso alle applicazioni. I beacon
trasmettono dati tramite Bluetooth: essi trasmettono in broadcast il loro UUID e messaggi
promozionali con un piccolo impiego di bytes. Il beacon è un dispositivo appartenente alla
fascia Bluetooth Low Energy (​BLE​). Caratteristiche tecniche generali di un dispositivo BLE:
● raggio di comunicazione massimo di 90 metri
● 2.4 GHz
● ridotto consumo energetico
● versione Bluetooth 4.x
Il range di un beacon va dai 5 ai 70 metri e ha una durata media delle batterie dai 3 ai 5 anni
(dipende dalle impostazioni e dalla frequenza con cui altri dispositivi si connettono ad esso).
Una ​regione è l’area all’interno della quale il segnale del beacon è ricevuto. Le applicazioni
possono registrarsi a tali regioni per poter poi sfruttare il beacon. Le azioni sono attivate
solamente entrando/uscendo da queste regioni. Il funzionamento è sia in background che
foreground e anche quando l’applicazione viene disattivata, e in tal caso prevede un basso
consumo di energia. Solo se si è in foreground, si possono attivare azioni anche in base a
quanto si è in prossimità di un beacon, calcolandone la distanza (qua il consumo è alto). La
Apple ha una propria versione di beacon chiamata ​iBeacon​. Essi hanno in più che possono
ascoltare fino a 20 regioni (beacon UUIDs) e permettono di trasmettere in broadcast anche
due valori in più, chiamati Major e Minor. Le app possono guardare questi valori in un
database e compiere azioni in base ad essi. Un altro protocollo per i beacon è ​Eddystone
(cross-platform: i beacon Eddystone possono essere intercettati sia da dispositivi Android
che da iOS). Il payload degli Eddystone contiene una ben più vasta gamma di valori:
● Eddystone UID​: 10-byte namespace + 6-byte instance
● Eddystone URL​: indirizzo URL compresso che può essere utilizzato dal client
● Eddystone TLM​: stato del beacon, utile per la manutenzione
● Eddystone EID​: Ephemeral ID, un identificatore che cambia ogni tot minuti. Utile per
evitare che app non autorizzate possano sfruttare il beacon: questo ID infatti è
generato con una chiave che solo l’app proprietaria del beacon possiede
I beacon sono comunemente usati per:
● pubblicità
● navigazione indoor
● contenuti in base alla posizione
● people monitoring
● access control
● asset tracking
● …

Chatbots
I chatbots sono software con cui gli utenti possono interagire utilizzando il ​linguaggio
naturale​: invece di usare widget, puoi usare direttamente voce o testo come se stessi
parlando a una persona reale (l’utente non deve apprendere nulla). I chatbot sono
comunemente utilizzati per:
● scopi educativi
● ottenere informazioni
● intrattenimento
● imparare e mettere in pratica una lingua
● business
● e-commerce (shopping bots)
I chatbot sono anche particolarmente utili per scopi di ricerca (intelligenza artificiale,
simulazione di un dialogo umano) e commerciali (assistenti vocali, helps chat). L’interfaccia
come già accennato può essere ​vocale​ o ​testuale​. Ci sono due tipi di chatbot:
1) Basati su ​regole​: il sistema cerca una corrispondenza tra le possibili risposte e l’input
ricevuto utilizzando opportune regole;
2) Basati sull’​IA​: il sistema cerca di elaborare autonomamente un argomento per la
conversazione (meno passivo e in grado di indirizzare la conversazione con l’utente
verso certi argomenti).
Molti bot sono accessibili attraverso servizi di messaggistica (Facebook, Telegram),
attraverso specifici messaggi che li invocano.
I servizi offerti dai bot sono:
● previsioni del tempo: gli domandi che tempo farà e loro rispondono
● gestione attività: utili per ricordare degli appuntamenti sul calendario
● notizie
● prenotazioni di viaggi (esempio: volo)

Funzionamento di un message Chatbot


Il chatbot basato su messaggi testuali funziona in questo modo: inserisci una domanda e il
chatbot provvede a fornire la migliore risposta oppure esegue una azione se richiesto. I
chatbot di questo tipo possono partecipare anche ai gruppi (su Telegram). Ogni sistema,
come Facebook Messenger, Telegram e Discord, mette a disposizione delle API per creare
dei bot (sia basati su regole che IA). L’architettura dietro a un bot prevede che esso sia attivo
su un servizio di backend che hosta anche il database che verrà utilizzato per immagazzinare
le informazioni, e che il client acceda a tale bot tramite la piattaforma che lo ospita (che sia
Telegram, Facebook ecc.). La prima cosa da fare per creare un chatbot è di definire un
contesto​, ​creando una conversazione stateful​: i bot devono salvare tutto ciò che l’utente
dice e devono rispondere basandosi sulle precedenti conversazioni. Gli utenti vogliono una
conversazione più naturale possibile. Nota importante è quella di mostrare sempre
chiaramente quali sono i comandi utili, in particolare il comando per dare il via alla
conversazione. La conversazione deve essere più ​guidata​ dal bot possibile.

Voice User Interface


VUI vs VCD
La Voice User Interface (VUI) è l’interfaccia con cui l’utente può comunicare attraverso la
voce con la macchina. Da non confondere con il Voice Command Device (VCD): la VUI è il
software​ (ad esempio Google Assistant, Alexa, Siri…), mentre il VCD è il ​dispositivo fisico
(esempio Google Home, Amazon Echo…). La stessa VUI può girare su diversi VCD.

A che servono?
Negli Stati Uniti un sondaggio ha mostrato che i dispositivi VCD per usi domestici sono
spesso impiegati per:
● impostare la musica
● sapere che tempo farà
● sentire le notizie
● accendere/spegnere luci
● impostare la sveglia
● fare domande “divertenti”

Come funzionano i dispositivi VCD


Il dialogo tra utente e macchina avviene in 3 modi diversi:
1. il sistema formula delle domande e l’utente risponde (esempio: “Chi dovrei
chiamare?”;
2. il sistema permette all’utente di effettuare qualsiasi tipo di domanda chiedendo
“Come posso aiutarti?”;
3. il sistema permette agli utenti di interrompere un task in esecuzione e riformulare la
domanda.
La pipeline di esecuzione prevede che all’inizio il sistema individui la voce dell’utente
quando egli si sta rivolgendo ad esso (e deve distinguere tale voce eventualmente dalle
altre). Fatto ciò, attraverso l’Automatic Speech Recognition (ASR) il sistema riconosce cosa è
stato detto, e usando la componente NLG (Natural Language Generation) formula una
risposta basandosi su tutte le domande e risposte precedenti. Infine, la risposta viene
fornita in output sottoforma di voce o testo usando la componente TTS (text-to-speech
synthesis). I vantaggi offerti da dispositivi basati su Voice Recognition sono legati alla facilità
d’uso (senza mani e senza doverli guardare). Sono pertanto adatti per azioni veloci o di
routine (anche per piccole transazioni).
Problemi frequenti
I problemi principali della VUI sono principalmente dovuti agli errori di riconoscimento della
voce, essendo basati su una tecnologia non ancora precisa al 100%. Tali errori portano a
volte a non sapere se la macchina ha recepito bene il messaggio e sta compiendo l’azione
corretta. Un altro problema è stabilire quando è il tuo turno nel discorso (e che succede se
interrompi la macchina mentre parla). La mancanza di una interfaccia visuale, infatti, fa
provare all’utente una sensazione di minore controllo, visto che a volte non sa se “è
autorizzato” a dare informazioni in input alla macchina. L’ideale è permettere sempre
all’utente di interrompere un dialogo (con ad esempio una keyword “help”). Un’ultima
problematica, questa volta non dovuta alla tecnologia in sé bensì a motivazioni culturali, è
dovuta al contesto in cui si trova l’utente, che potrebbe trovarsi poco a suo agio a parlare
con un telefono davanti ad altre persone (questo potrebbe cambiare con gli anni).

Best practices
Anche qui vale la solita regola ​“Recognition rather than Recall”​: non va bene avere troppe
opzioni vocali (keywords), poiché l’utente non riesce a ricordarle tutte e a volte non riesce a
finire il suo task proprio perché non ricorda una keyword. Una buona prassi è avere poche
keywords e utilizzare comandi che l’utente solitamente già conosce. Evitare liste di opzioni
tipo “Dire <<questo>> per fare questo”, “Dire <<quest’altro>> per fare quest’altro”,
eccetera (Siri fa una cosa del genere). In aggiunta, il sistema deve fornire solo le
informazioni essenziali (le informazioni implicite sono inoltre preferite rispetto a quelle più
esplicite). Notificare robe tipo “Sto chiamando Chiara” non è utile. E’ fondamentale, infine,
permettere all’utente di poter rimediare ai propri errori, anche se tornare indietro in una
conversazione è difficile dal momento in cui non puoi modificare la query vocale inserita
precedentemente.

Haptic Interaction
Questo tipo di interazione prevede un approccio combinato di interazione tramite
movimento e ​touch (spesso con le dita). L’haptic interaction è possibile utilizzando appositi
hardware dotati di ​vibrazione​, principale strumento di comunicazione tattile con l’utente.
Essa è particolarmente utile in situazione in cui l’utente non potrebbe vedere una eventuale
interfaccia visuale (ad esempio mentre guida, oppure se l’utente è cieco). Un esempio di
haptic interaction lo abbiamo nei binari dei treni, dove una linea gialla con delle sporgenze
nel pavimento segnala ai non vedenti che stanno varcando il limite di sicurezza della
banchina.

Vari tipi di percezione


Lo studio del funzionamento del corpo umano è alla base di questo tipo di interazione. Vi
sono due livelli di percezione: ​fisico​, in cui il corpo riceve lo stimolo attraverso i suoi
“sensori” e ​percettivo​, in cui le informazioni sono inviate tramite il sistema nervoso al
cervello ed elaborate. La percezione è basata su due tipi di sensi:
● Senso cutaneo​: consapevolezza dell’ambiente circostante tramite i recettori della
pelle
● Senso cinestetico​: consapevolezza della posizione relativa del corpo
La percezione​ tattile​ coinvolge solo il senso cutaneo, mentre la percezione cinestetica solo il
senso cinestetico ed infine l’​haptic ​coinvolge entrambi i sensi.

Touch VS Vista
Durante un movimento, il nostro cervello crea una “copia” del nostro sistema motorio e
prova a prevedere i risultati del movimento (tipo la posizione raggiunta) e li confronta coi
risultati effettivi (un tipico esempio di missmatch avviene in auto, in cui se guardi in basso,
poiché il cervello non percepisce visivamente del movimento ma i recettori avvertono che ci
si sta muovendo, si crea un conflitto che genera il mal d’auto). Tale effetto è detto ​efference
copy​. A volte vi è conflitto tra vista e tocco: in alcuni task, la vista è più importante del tocco
e viceversa (non vi è un senso dominante). La vista, al contrario del tocco, permette una
veloce elaborazione della struttura degli oggetti. Il tocco, seppur lento a elaborarne la
forma, è invece l’unico senso a permettere di elaborare la sostanza di cui un oggetto è
composto.

Simboli per l’Haptic Interaction


L’interazione haptic prevede uno standard per quanto riguarda i simboli:
● linee:​ sono delle linee in rilievo in una superficie. Possono essere lisce o ruvide
(puntinate). Il problema delle linee è quando il loro spessore supera quello del dito
perché non vi è percezione dei bordi
● punti:​ possono essere usati per mettere in evidenza la differenza tra un oggetto e il
background (esempio le tastiere dei vecchi cellulari)
● areal symbols:​ usano un pattern o una texture per trasmettere una informazione. Le
performance possono variare in base allo spazio tra i punti, la velocità e la forza
usata dall’utente mentre scorre il dito

Limitazioni della percezione del tatto


Le principali limitazioni del tatto sono:
● risoluzione spaziale:​ ossia quando la distanza tra 2 punti è talmente piccola che
vengono percepiti come un unico punto. Questo effetto è anche detto ​Blurring effect
● risoluzione temporale:​ quanto tempo intercorre tra il contatto con un simbolo e
l’elaborazione di esso (2-40 ms)
● integrazione percettiva:​ l’utente può fallire nel riconoscimento
● attenzione limitata:​ l’utente può fallire a riconoscere qualcosa se le informazioni
sono troppe

Haptic feedback
Alcuni metodi per la stimolazione tattile sono:
• Deformazione della pelle
• Vibrazione
• Stimolazione elettrica
• Allungamento della pelle
• Attrito (microallungamenti della pelle)
• Temperatura
È possibile forzare le interfacce a feedback (haptic) misurando le posizioni e le forze della
mano dell’utente e/o delle altre parti del corpo e mostrandole all’utente.
Per mostrare questo tipo di dati si devono computare e generare le forze innescate dalle
interazioni che l’utente ha con i vari oggetti virtuali, basandosi sulla posizione del
dispositivo. Il rendering di un oggetto può essere visto come lo spingere il device fuori
dall’oggetto ogni qualvolta che prova a spostarsi dentro l’oggetto stesso: più in fondo
all’oggetto provi a spostare, maggiore è la forza che ti spinge via. Ciò permette alle superfici
di assumere l’effetto di solidità. Il senso del tatto umano è abbastanza sensibile da
richiedere una velocità di elaborazione di almeno 1000 Hz per quanto riguarda il rendering
haptic.
Le applicazioni delle interazioni haptic sono molteplici: in particolare, in campo medico
vengono utilizzate per la visualizzazione e la modellizzazione dei tessuti, per allenare, per
effettuare interventi chirurgici a distanza, per la riabilitazione. Per quanto riguarda la
modellizzazione tridimensionale, troviamo usi nella prototipazione virtuale, nella scultura
virtuale di oggetti 3D (la superficie dell’oggetto può essere percepita già durante la
modellizzazione).

Tangible User Interface


Le tangible UIs sono nate nei primi anni ‘90 perché lo standard WIMP (windows, inputs,
menus, pointers) estranea l’uomo dal suo habitat naturale, costringendo ad utilizzare
oggetti che sono esterni all’uomo. Ciò ha portato alla nascita delle tangible user interface.
Abbiamo due diversi modelli di sviluppo per queste UI: Virtual Reality e Augmented Reality.
La scelta si divide tra l’avere a disposizione un mondo virtuale o arricchire il mondo reale
attraverso il computer. L’obiettivo è arricchire le interazioni comuni dell’uomo aggiungendo
nuovi effetti attraverso l’uso di dispositivi adeguati. I dispositivi che permettono questo
arricchimento hanno un sistema embedded che permette loro di svolgere il lavoro del
computer per estendere le interazioni dell’uomo con la macchina. Nel ‘93 la rivista CACM -
Comunication of ACM – ha parlato per la prima volta di questo tipo di interfacce
contrapponendole all’uso standard del computer. Un primo prototipo di tangible UI è la
Marble Answering Machine, un tool che avrebbe dovuto sostituire la segreteria telefonica,
esso consisteva nell’associare i nuovi messaggi in segreteria e delle biglie: quando si voleva
riascoltare il messaggio bastava semplicemente mettere la biglia associata in un apposito
scomparto, rimettendo apposto la biglia il messaggio veniva cancellato. Altri esempi di
tangible Ui sono le Graspable Interface, che consistono di una superfice tangible, e degli
oggetti fisici ai quali vengono associati degli oggetti virtuali, una volta posizionati gli oggetti
fisici sulla supeficie in essa compariva l’oggetto virtuale e modificando la posizione
dell’oggetto fisico anche quella dell’oggetto virtuale veniva modificata; un esempio pratico
di questa interfaccia è la tangible bits, utilizzata per simulare le ombre nate da edifici e
costruzioni durante ilgiorno, le ombre vengono generate in modo digitale su una superficie
apposita tenendo in considerazione la forma e la dimensione dell’edificio, esso
rappresentato da un oggetto fisico. La tangible bits può mostrare anche come il vento venga
incanalato nelle strade di una città. Esistono molti progetti di tangible UI come il
Shape-Shifting Digital Clay del MIT che attraverso dei blocchi mostrano il movimento di una
corrente d’acqua e il sandscape che, utilizzando la sabbia,Lp mostra le differenze di altitudini
delle forme create.
In definitiva le Tangible User Interface sono sistemi che danno forma fisica a informazioni
digitali, utilizzando oggetti fisici sia per rappresentare gli output sia come controlli gli input
dei mezzi computazionali. L’​affordance​ è l’insieme delle proprietà di un oggetto che
suggerisce ad un essere umano le azioni specifiche per manipolarlo: ad esempio, un pomello
permette di essere tenuto in mano e girato, un bottone permette di essere premuto etc.
Con questa proprietà, emerge la necessità di distinguere le Affordances reali e quelle
percepite (ad esempio un bottone in una GUI.

Sovrapposizione con altre aree


L’Affordance apre a molte possibilità riguardo l'utilizzo delle tui in altri campi: ad esempio, si
può creare una Tangible augmented reality (combinando tui e AR) in cui gli oggetti virtuali
sono associati a oggetti fisici, oppure in cui si possono associare dei video a marchi visivi che
permettono di effettuare diverse azioni su di essi. Altri esempi possono trovarsi in:
• interazioni tangible da tavola, che combina superfici multitocco interattive e TUI
attraverso una videocamera, un proiettore e uno schermo traslucido (c’è anche una
versione iPad)
• Oggetti d’ambiente: un fiore che sboccia quando un collega è libero, modificare l’audio e il
video di una finestra multimediale a seconda della prossimità dell’utente, il nabaztag bunny
che attraverso l’interfaccia tangible fornisce informazioni all’utente, cuscini interattivi
• Promemoria ed etichette tangible: piazzare un oggetto particolare in prossimità di un
lettore innesca azioni specifiche (piazzare i souvenirs su una superficie apre l’album di foto
associato)

Modello
Il modello utilizzato dalle tui è MCRit (Model-Control-Representation), sia per tangible che
intangible e permette di integrare rappresentazioni e controlli fisici in interfacce utente
tangible.
Oggetti tangible sono accoppiati tramite funzionalità digitali a dati digitali (computational
coupling): gli oggetti tangible rappresentano il mezzo del controllo interattivo. Spostare e
manipolare oggetti è la forma di controllo principale, spostando un oggetto si ha la
precezione di dare un input al sistema e ci si aspetta un output digitale, quindi diciamo che
questi oggetti sono associati percettivamente con rappresentazioni digitali (ad esempio,
audio ed effetti visivi). Lo stato degli oggetti tangible rappresenta l’intero stato del sistema
(representational significance). In questo modo, il sistema rimane parzialmente utilizzabile
se la corrente salta.

Classificazione delle UI
Superfici interattive (ad esempio tangible bits)
• Constructive assembly (ad esempio sandscape)
• Token + vincoli (ad esempio marble answering machine)

Domini di applicazione
Apprendimento
• Problem Solving e Planning
• Visualizzazione delle informazioni
• Programmazione tangible
• Intrattenimento, gioco ed intrattenimento a scopo educativo (edutainment)
• Musica e spettacolo
• Social Comunication
• Tangible reminders e tags

Tecnologie
Le tecnologie principali per lo sviluppo delle tangible interface sono:
• RFID, radio-frequency IDentification, attraverso radiofrequenze si mandano informazioni
(tags) al sistema, ed esso risponde alle interrogazioni.
• Computer Vision, attraverso dispositivi si interagisce con una realta “aumentata” con
informazioni, immagini o video.
• Microcontrolli, Sensori e Attuatori, attraverso i microcontrolli e i sensori viene registrato
l’input e attraverso gli attuatori viene inviato l’output.

Limitazioni e punti deboli


Le TUI hanno delle limitazioni importanti, non sono scalabili, spesso si è in possesso di pochi
dati, per la loro natura hanno bisogno di molto spazio per essere utilizzate; non sono
versatili, ogni tui è progettata per un singolo utilizzo e non può generalizzare a più di quello;
l’utilizzo stesso della tui può risultare faticoso, c’è bisogno di movimento e la dimensione
degli oggetti e i continui spostamenti possono creare disagio; infine le tui non sono
malleabili, siccome gli oggetti fisici rappresentano almeno parzialmente lo stato del sistema
se viene effettuato uno spostamento che di conseguenza cambia lo stato del sistema esso
non può essere annullato automaticamente, non è presente la l’undo, quindi per tornare
allo stato precedente bisogna spostare manualmente tutti gli oggetti, un altro problema
portato dalla non malleabilità è che non esiste uno storico delle azioni che sono state
effettuate, bisogna ricordarsi ogni movimento per essere passati da uno stato ad un altro.

Gestural Interaction
Sono un tipo di comunicazione né verbale, né vocale in cui le azioni e i movimenti del corpo
comunicano messaggi particolari: tra questi movimenti ci sono quelli delle mani, del viso o di
altre parti del corpo. Grazie ad algoritmi matematici (Gesture recognition) è possibile
riconoscere ed interpretare posture, andamenti, comportamenti e più in generale la
prossemica (La prossemica è la disciplina semiologica che studia i gesti, il comportamento, lo
spazio e le distanze all'interno di una comunicazione, sia verbale sia non verbale). Ci sono
due tipi di gestures:
• Touch gestures, quelle legate all’utilizzo del touchscreen dello smartphone (swipe, pin,
tap, ecc)
• Touchless gestures
Touchless Gesture
Sono delle gestures che servono ad interagire con i dispositivi senza toccarli: sono basati
sulle discipline come computer vision e image processing attraverso sensori di misurazione
quali accelerometro, giroscopio, magnetometro. Queste gestures vengono utilizzate insieme
a diverse tecnologie, tra cui troviamo le videocamere stereoscopiche, infrarossi, guanti che
catturano i movimenti delle mani, guanti con i cavi, scanner laser. Un problema delle
gestures è che devono essere socialmente accettabili. Un esempio di prodotto che utilizza le
Touchless gestures è il Kinekt di Microsoft.

3D User Interfaces
In questo tipo di interazione uomo-macchina i compiti dell’utente vengono eseguiti
direttamente in un contesto spaziale 3D. Ad esempio fare movimenti nello spazio fisico 3D o
manipolare strumenti, sensori o dispositivi nello spazio 3D. L’interazione 3D è una scelta
naturale per i grandi contesti di visualizzazione. L’enabler tecnologico delle UI 3D è il
tracciamento spaziale, il tracciamento spaziale non è sufficiente da solo (non basta), la
maggior parte dei tracker portatili include altri tipi di input, perché è difficile mappare tutte
le azioni dell’interfaccia alla posizione, all’orientamento o al movimento del tracker.
(Pulsanti, joystick).
Virtual Reality
Virtual Reality simula una realtà, questa realtà non esiste fisicamente ma è fatta apparire dal
software. Virtual Reality riesce a creare un ambiente immersivo e Feedback sensoriale
(uditivo, visivo, tattile…).
Tecnologie Virtual Reality​:
Ci sono 3 tipi di interazione tramite VR:
● desktop VR​ (ad esempio videogiochi in prima persona).
● Head-mounted display​: accessibile con un VR headset, come l’oculus rift. Il VR
headset è composto da due schermi su cui vengono mandate immagini differenti,
l’audio è stereo, e il movimento della testa viene tracciato dai sensori. Questo tipo di
dispositivi offre un haptic feedbak. L’interazione con un VR head-mounted avviene
tramite dispositivi come mouse 3D, guanti con cavo, motion controller e sensori di
tracciamento ottico. Per quanto sembri di avere raggiunto un obiettivo surreale
progettuale, questa tecnologia ha incontrato un limite umano, la ​motion sickness​ o
virtual reality sickness, ciò nasce dal fatto che il corpo si muove e l’occhio vede un
mondo in continua evoluzione ma la posizione del corpo non cambia: questo
provoca un senso di nausea all’utente, non tutti ne sono affetti.
● Mouse 3D, wired glove, controller di movimento e optical tracking sensor​.
Virtual Reality può causare sintomi simili alla cinetosi, ovvero, disagio generale, mal di testa,
nausea, vomito, pallore, sudorazione, affaticamento, sonnolenza, disorientamento e apatia.
Applicazioni Virtual Reality:​ divertimento, robotica, scienze sociali e psicologia, assistenza
sanitaria, istruzione e formazione, belle arti, ingegneria, salute e sicurezza, eredità culturale,
progettazione urbana, marketing digitale.
Augmented reality
Realtà aumentata aggiunge oggetti nel mondo reale, non nel vero senso della parola, cioè gli
oggetti che risiedono nel mondo reale sono “aumentati” da informazioni percettive
generate dal computer.
AR vs VR:​ La realtà aumentata altera la percezione in corso di un ambiente reale, mentre la
realtà virtuale sostituisce completamente l’ambiente reale dell’utente con uno simulato. Le
informazioni sul mondo reale circostante dell’utente diventano interattive e manipolabili
digitalmente, sovrapposti al mondo reale.
Mixed reality
Augmented Virtuality: ​cioè fusione di oggetti del mondo reale in mondi virtuali. Un esempio
Microsoft HoloLens, occhiali intelligenti a realtà mista sviluppati e prodotti da Microsoft.

Interaction fidelity
Le interazioni che vengono realizzate devono avere un grado oggettivo di coerenza: le azioni
(movimenti, forze, parti del corpo in uso, etc) usate per un task nella UI devono
corrispondere alle azioni utilizzate per quello stesso task nel mondo reale. Si parla perciò di
Realismo continuo (Continuum realism). Talvola le azioni possono assumere un carattere
naturale o magico per seguire la metafora naturale: estendere le abilità dell’utente oltre ciò
che è possibile nel mondo reale (quindi iper-naturale).

Limitazioni e punti deboli


Dato che le interazioni 3D sono realizzate in aria e non su una superficie, non abbiamo
attrito, né un supporto fisico per realizzare movimenti più controllati e precisi. Gli umani
hanno un tremore naturale alle mani che rende i movimenti in aria molto agitati. Le
interfacce basate su puntatori tridimensionali che usano il ray-casting (metafora del
puntatore laser) amplificano il tremore della mano sempre di più man mano che ci si
allontana dal bersaglio. Inoltre, i trackers non si possono posare, in quanto non si è sicuri
che una volta posati restino nella stessa posizione.
Le soluzioni possibili a questi punti deboli sono:
• Filtrare l’output dei trackers per ridurre il rumore
• Modificare il rapporto control/display (C/D). Se il rapporto tende a 1, si sta riducendo il
movimento nel mondo virtuale rispetto a quello nel mondo reale
• Non richiedere di essere più precisi di quanto sia assolutamente necessario
• Progressive refinement: Seleziona, poi rifinire la selezione

Zooming interfaces
Le zooming interfaces sono basate sulle viste: vengono utilizzati bottoni e tabs per passare
da una vista all’altra, ma a volte risulta difficile tornare indietro e ricordarsi dove si trovasse
una particolare informazione od opzione. Come un labirinto, è difficile uscirne a meno che
non si “voli” al di sopra di esso ed è difficile ricordarsi della lunga sequenza di svolte. Queste
interfacce sono realizzate tramite piani infiniti con risoluzione infinita. Su ogni piano
possono essere effettuate diverse operazioni:
• ​Pan​:​ “volare” sul piano in modo da avere una vista generale del piano stesso
• ​Climb​: passare al piano precedente facendo uno zoom-out
• ​Dive In:​ passare al piano successivo facendo uno zoom-in
Con queste azioni gli utenti possono cambiare la scala dell’area che si sta visualizzando.
Nelle ZUI l’utente tende a ricordare le posizioni relative ed i punti di riferimento (landmarks)
e fa associazioni basandosi sulla prossimità degli elementi. Lo zoom crea una gerarchia tra i
piani, e l’utente può organizzare gli oggetti sui piani come preferisce.

HCI in the car


Al momento, nelle automobili possiamo trovare CPU, sensori, attuatori, molti dispositivi
interattivi. Tutti questi elementi sono connessi all’automobile. Dei sistemi interattivi fanno
parte i sistemi di navigazione, di intrattenimento, i cellulari e i sistemi di HVAC (Heating,
Ventilation, Air Conditioning). Le UIs nel campo delle automobili hanno caratteristiche
diverse dalle altre, come ad esempio quelle per ambienti desktop, mobile. I controlli devono
seguire accorgimenti particolari: bisogna tenere in considerazione che il focus si sposta dalla
strada al dispositivo, poi di nuovo sulla strada. Perciò serve più tempo e il contesto deve
essere ripristinato dopo ogni interazione. Ad esempio, un menu deve tornare allo stato
iniziale dopo aver concluso un’interazione. Esiste un tipo di interazione che non richiede
l’uso delle mani (Hands-free interaction) e che si serve di:
• Audio output
• Speech recognition
• Gesture recognition
Alcuni dei sistemi/contolli presenti nelle auto sono Hands-free interactions:
• Cambio automatico
• ABS
Controlli di stabilità
• Active cruise
• Lane-keeping
• Frenare
• Tenere la distanza dai veicoli davanti e dietro o ai lati
• Parcheggio automatico
• Rilevazione dei veicoli vicini
• Pagamento automatico per le autostrade e per i parcheggi
Tutti questi controlli hands-free non richiedono l’attenzione dell’utente. Soprattutto nelle
automobilidi ultima generazione dove l’azione di guidare è molto meno incentrata
all’utente, è necessario che l’utente creda nelle decisioni che prende l’automobile in modo
da utilizzare al meglio tutti quei controlli che allegeriscono il lavoro del conducente. Però, a
sua volta, l’automobile deve ridurre al minimo i falsi allarmi, ovvero l’automobile deve
riconoscere in maniera accurata le situazioni di pericolo (altrimenti il conducente tenderà a
non utilizzare i controlli hands-free). Se il conducente è troppo sicuro di sé, tenderà a usare i
controlli in modo sbagliato. Inoltre, l’automobile deve ridurre le situazioni in cui è necessaria
una decisione del conducente in quanto sono situazioni in cui non c’è il tempo di far capire
al conducente il contesto e aspettare che venga presa la decisione. Questi sistemi hanno
alcuni difetti: sono fonti di distrazione in quanto richiedono lo spostamento del focus su di
essi e/o richiedono un carico di concentrazione che non sono adeguati quando si sta
guidando. Anche utilizzare schermi touch-sensitive costituisce un problema per quanto
riguarda la sicurezza alla guida: da un lato è comodo avere molteplici schermate e molteplici
bottoni nella stessa posizione (mentre i bottoni tradizionali della radio sono fissi e statici),
poiché è possibile avere molte opzioni in una interfaccia compatta, tuttavia il fatto che
l’interfaccia possa “mutare” richiede che l’utente distolga l’attenzione dalla strada per
vedere in che stato verte il sistema, mentre se si adottano soluzioni tradizionali con bottoni
fisici l’utente non ha bisogno di distogliere lo sguardo dalla strada poiché ricorda la
posizione dei bottoni.

Potrebbero piacerti anche