1. Mobile Applications
Stefano Sanna
15-19 Settembre 2008
Parco Scientifico e Tecnologico della Sardegna
2. Obiettivi del seminario
• Esplorare lo stato dell’arte della Human-Computer Interaction sui
terminali commerciali
• Fornire le linee guida per la progettazione di applicazioni efficaci
• Presentare il futuro dell’interazione basata su sensori e sistemi
embedded
3. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
4. Relatore
• Stefano Sanna
- Present:
• Senior Engineer & Java ME Tech Lead @ beeweeb technologies
• Developer, technical writer & Java community supporter
- Past:
• Author of “Java Micro Edition”, Hoepli Informatica 2007
• Software Engineer @ CRS4 [1999-2006]
- Other:
• Tech & food blogger @ http://www.gerdavax.it
• Co-developer of first italian iPhone e-book
5. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
6. Mobile Computing
Progettazione e sviluppo di applicazioni
per
oggetti personali programmabili e connessi
di
supporto alla mobilità delle persone
7. Si parla di...
• Telefoni cellulari, palmari, tablet PC
• In-car computer
• Wireless Networks, Cellular Networks, Satellite Communication
8. Non si parla di...
• Notebooks, sub-notebooks
• Web Kiosk
• Media Center
10. Internet + Mobile
• L’uso massivo e sistematico della Rete e dei terminali mobili di
nuova generazione costituisce la base per la realizzazione di
scenari applicativi always-on e pervasivi
- Internet sempre accessibile, da postazione fissa e da terminale
mobile
- Informazioni in tempo reale, eventualmente georeferenziate
- Possibilità di comunicare con diversi mezzi: SMS, email, voce, instant
messaging, video conferenza
- Controllo e automazione di procedure senza necessità di
presenza: acquisti, prenotazioni, verifica intrusioni
11. Tanti servizi
Slide by Rudy De Waele
http://www.slideshare.net/rudydw/mobile-20-over-the-air
12. Un’isola...
camera SMS games
MMS email
GPS Mobile TV browsing VoIP
visual tags local processing
& storage
RFID/NFC
ambient
intelligence
sensors
Iceberg image by StarStore
http://www.starstore.com
13. Molti, troppi ostacoli
• Malgrado le aspettative e i numeri in gioco, il Mobile Computing
stenta a decollare in pienezza e con lo stesso vigore di
Internet
• Gli “utenti comuni” trovano ostacoli che generano diffidenza:
- accedere ai servizi è complesso (configurazione, installazione, uso)
- i costi dei servizi non sono facilmente determinabili a priori
- non esiste una tariffazione flat “senza sorprese” in ambito UMTS
- le applicazioni sono di scarsa qualità
- manca interoperabilità tra i dispositivi
14. Anche chi sviluppa...
• Software house e sviluppatori indipendenti trovano a loro volta
numerosi ostacoli e “trappole” che comportano un enorme
spreco di energie:
- la molteplicità di dispositivi, sistemi operativi e piattaforme richiede uno
sforzo considerevole di porting
- l’obsolescenza dei dispositivi rende obsolete le applicazioni
- c’è frammentazione anche nei sistemi di distribuzione e acquisto di
prodotti e servizi
- gli utenti che vanno oltre telefonate e SMS sono ancora pochi...
15. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HMI su dispositivi mobili
• Mobile sensor: l’evoluzione della HMI
• Ambient interaction e Capillary Computing
• Conclusioni
16. Miti da sfatare
• Telefoni cellulari e PDA sono “computer sfortunati” con poca
memoria, CPU lenta e display ridicolo
• Progettare le interfacce grafiche per applicazioni ad essi destinate
è banale, perché i componenti sono pochi e le possibilità di
personalizzazione limitate
• Date le modeste dimensioni delle librerie di programmazione,
sviluppare applicazioni per dispositivi mobili è piuttosto semplice
e i tempi di realizzazione molto brevi
17. Non è il mercato desktop
• Il mercato desktop è ben consolidato e poco frammentato
• Tre sistemi operativi:
- Microsoft Windows (ormai solo XP e Vista)
- Varie distribuzioni Linux (principalmente Ubuntu e Fedora)
- Apple Mac OS X (principalmente 10.4 e 10.5)
• Un’unica piattaforma hardware: Intel (o compatibili)
18. Un mercato frammentato
• Piattaforme hardware diverse e tra loro incompatibili
• Sistemi operativi aperti, licenziati e proprietari, spesso
specializzati per una piccola famiglia di dispositivi
• Linguaggi di programmazione distribuiti a macchia di leopardo
• L’aggiornamento di uno o più strati (hardware, sistema operativo,
ambiente di programmazione) può rendere le applicazioni
esistenti incompatibili con i nuovi prodotti
19. Sistemi operativi
• Con API aperte:
- Symbian OS (Nokia)
- Windows Mobile (Microsoft)
- Linux (Google Android, Motorola MOTOMAGX, Access, OpenMoko...)
- iPhone OS (Apple)
• Sistemi chiusi
- Nokia OS
- Motorola OS
- ...
20. Linguaggi/Piattaforme
• Symbian C++
• .NET Compact Framework
• Java Micro Edition
• Android (subset Java SE + librerie specializzate)
• iPhone OS (Objective-C)
• Linux C++
• Flash Lite
• Python
21. Chi supporta cosa
• Symbian OS: C++, Python, Java ME, Flash Lite
• Windows Mobile: .NET Compact Framework, Java ME, Flash Lite
• Linux: C++, Python, Android (?)
• Sistemi proprietari: Java ME, Flash Lite
• Ovviamente ogni sistema operativo porta le proprie librerie,
rendendo praticamente improponibile il porting: l’applicazione
deve essere riscritta ex-novo per girare su un nuovo dispositivo
22. Quale piattaforma?
• Non esiste la piattaforma software o l’ambiente di
programmazione universale: ogni progetto di Mobile Computing
implica uno o più compromessi sul tipo di dispositivo, sul sistema
operativo, sul linguaggio di programmazione, sulla diffusione
• Numerosi progetti falliscono inesorabilmente perché non
tengono conto di questa specificità, ostinandosi a pensare che
basti un po’ di abilità a superare le limitazioni imposte dal sistema
operativo o dall’ambiente di programmazione
• I requisiti di progetto ed eventuali vincoli sull’hardware
determinano la piattaforma da usarsi e i compromessi a cui
occorre sottostare
23. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
24. Usability & Mobile HCI
Accessibility
Multimodality
Networking
Graphical User
Interface Hardware &
Controllers
Users’ Mobility
Applications
Navigation
Enterprise
Mobility
Entertainment Pervasive
Computing
25. I canoni “classici”
• La caratterizzazione dei dispositivi mobili e la progettazione delle
applicazioni è stata finora guidata dai seguenti parametri:
- piccolo display: bassa risoluzione (QCIF/QVGA), area ridotta (diagonale
inferiore ai 2”)
- modesta potenza di elaborazione e ridotta quantità di memoria
- digitazione difficoltosa, input semplificato
- ampiezza di banda per connettività ridotta (poche decine di Kbps)
- autonomia limitata
- capacità multimediali limitate
26. I canoni attuali
• Quanto descritto nella slide precedente non è vero per i
dispositivi moderni:
- display: sino a 320x480 (iPhone) o 800x480 (Nokia N810)
- CPU: oltre i 400MHz, con storage fino a 16GB
- sistemi di digitazione assistita molto efficienti, tastiere QWERTY a video
- connettività ad alta velocità (HSDPA fino a 7.2Mbps)
- autonomia di parecchi giorni
- supporto per audio e video on-demand e in streaming
27. Una anomalia temporale
• Lo studio della Mobile HCI è tutt’altro che concluso: vecchi
approcci sono stati abbandonati, nuovi paradigmi cercano di dare
risposte ai problemi ancora aperti (usabilità in primis)
• Tra mondo desktop e mondo mobile c’è una curiosa anomalia
temporale:
- Internet “è arrivata nelle case” quando tutti i concetti delle UI erano già
assodati e consolidati nei sistemi operativi
- I risultati migliori della ricerca e della sperimentazione sulle UI per
dispositivi mobili stanno arrivando ora, ma “la gente ha già in tasca” i
cellulari stupidi da tempo
28. Due miliardi su sei miliardi
• Alcune stime parlano di circa due miliardi di telefoni cellulari
programmabili in funzione nel mondo: un terzo della popolazione
mondiale può accedere a servizi di Mobile Computing
• Non esiste una interfaccia per tutti gli utenti:
- Nazionalità, lingua, cultura, estrazione sociale, lavoro, hobby sono fattori
che modificano notevolmente i “gusti” in fatto di interfacce utente
- Design, sistemi operativi e applicazioni devono tenere conto di queste
differenze, assecondando la sensibilità e il gusto degli utenti
29. Tre più quattro
• Physical Layout
- Brick
- Flip
- Slide
• UI
- Display portrait + tastierino numerico
- Display landscape + tastiera estesa
- Touchscreen pointer-based (con o senza tastiera)
- Touchscreen gesture-based
30. Brick Layout
• Il terminale ha una design monolitico a
sviluppo verticale, tutti i componenti
dell’interfaccia sono disponibili
contemporaneamente
• Non ci sono parti in movimento
• Accensione, volume audio e fotocamera
sono accessibili attraverso tasti dedicati
Nokia 6120 Classic
32. Brick Layout: implicazioni
• L’applicazione “sa” di poter disporre sempre di tutti i componenti
dell’interfaccia utente: display e tastiera (di qualunque tipo) è
sempre pronta e attiva
• Una applicazione in background può attirare l’attenzione
dell’utente ponendosi in primo piano per informarlo di un nuovo
evento
• La privacy è a rischio: in qualunque momento il display è
potenzialmente accessibile a sguardi indiscreti (es: gli SMS su
iPhone!)
33. Flip Layout
• Display principale e tastiera si chiudono uno
sull’altro proteggendosi
• In posizione chiusa la dimensione verticale
è notevolmente ridotta
• Per l’utilizzo di tutte le funzioni è necessario
“aprire” il terminale
• Un display secondario ed alcuni controlli
esterni consentono di attivare alcune
funzioni senza aprire il terminale
Nokia 6131
35. Flip Layout: implicazioni
• Se il telefono è “chiuso”, l’applicazione non può visualizzare alcuna
informazione all’utente; vibrazione e/o suoni sono l’unico modo
per attirare l’attenzione
• Se il telefono è “aperto”, l’applicazione dispone di tutti i
componenti dell’interfaccia utente
• La privacy è garantita: il display è protetto finché il proprietario
del telefono non decide di aprire il terminale e utilizzarlo
36. Slide Layout
• Il display principale e i tasti principali sono sempre accessibili
• Il tastierino numerico (o la tastiera estesa) appaiono e
scompaiono attraverso scorrimento sotto il display
• In posizione aperta, il “feeling” è
pressoché identico ad un
telefono con layout brick
• Molte funzionalità
possono essere utilizzate
senza “aprire” il terminale
Sony-Ericsson W910i
38. Slide Layout: implicazioni
• Il display e i comandi principali sono sempre visibili e accessibili
• La tastiera a scomparsa non è sempre disponibile e molto spesso
le applicazioni di terze parti non possono conoscerne lo stato;
per questo motivo, le viste proposte dall’applicazione devono
essere sempre gestibili con i comandi principali, mentre l’uso della
tastiera estesa deve essere richiesto solo a seguito di un comando
impartito dall’utente
• Come nel Brick Layout, la privacy è compromessa: il display è
sempre visibile, anche quando l’utente non sta usando il
dispositivo
39. Portrait + keypad numerico
• Il display si sviluppa verticalmente
• L’input avviene attraverso tastierino
numerico, più alcuni pulsanti accessori
• Un joypad a 5 vie è lo strumento principale
di navigazione nell’interfacce attraverso
oggetti selezionabili (direzione) e attivabili
(fire)
• Alla base del display sono presenti due
pulsanti (softbutton) la cui funzione
dipende dal contesto applicativo
Nokia 6120 Classic
40. Landscape più tastiera estesa
• Il display ha sviluppo orizzontale
• L’input avviene attraverso una tastiera
qwerty, più alcuni pulsanti accessori
• La navigazione sui componenti grafici
avviene attraverso joypad a 5 vie,
trackball o trackpad
• Talvolta sono presenti dei softbutton
alla base del display
Blackberry 8800
41. Touchscreen pointer-based
• L’interfaccia grafica, su display landscape
o portait, è accesibile attraverso pennino
• I componenti grafici riprendono i concetti
classici delle interfacce PC: icone, menù,
barre di scorrimento, liste di selezione sono
accessibili toccando le parti sensibili con il
pennino
• Le funzionalità più comuni (telefono, volume,
spegnimento) sono accessibili attraverso tasti dedicati
HTC 4350
• In assenza di pennino, la UI è difficile da utilizzare
42. Touchscreen gesture-based
• L’interfaccia grafica, in modalità portrait o
landscape, è accessibile utilizzando le dita
• Non sono previsti menù (occuperebbero
troppo spazio per essere attivabili con le dita):
le operazioni sui singoli oggetti sono compiute
attraverso “gesti”, “tratti” mentre le funzioni
di gestione delle viste sono minimali
• Le funzioni principali sono accessibili attraverso
tasti dedicati
Apple iPhone 2G
43. Touchscreen gesture-based
• Non essendo presenti menù contestuali, l’interfaccia grafica
dell’iPhone OS interpreta i gesti dell’utente in base al contesto
corrente:
- Tap: mostra informazioni sul contesto corrente, se non già visualizzate
(esempi: Photos, iPod)
- Double Tap: zoom-in e zoom-out
- Drag: scorrimento o attivazione funzioni contestuali (esempi: Mail)
- Double drag: ingrandimento e rotazione 2D/3D
44. Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
45. Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
(touchscreen + tastiera estesa) (Windows Mobile)
APPLICAZIONE
(no multitouch)
46. Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
(iPhone / iPod Touch) (iPhone OS)
APPLICAZIONE
(multitouch)
47. Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
(principalmente Nokia S60) (Symbian OS)
APPLICAZIONE
(massima integrazione con le funzionalità telefoniche)
48. Dai requisiti alla realizzazione
Specifiche Prototipo User
Applicazione
Funzionali Applicazione Experience
Specifiche
Funzionali
Prototipo
Applicazione
Applicazione
User
Experience
49. User Experience
• Come e più che in altri settori, la User Experience deve guidare la
progettazione insieme ai requisiti funzionali
• Viste, comandi, controlli e testi devono essere comprensibili a
persone di qualsiasi età, cultura ed esperienza
• La sfida più grande: una applicazione per un
dispositivo mobile deve essere immediatamente
accessibile anche per un utente che non conosce il
terminale in uso
50. L’importanza dei testi
• Più della grafica, il testo deve guidare l’utente alla prossima
azione, senza generare smarrimento o fastidio nell’uso del
dispositivo.
51. Accessibilità
• Oltre alle “preoccupazioni” del design, del bello, dell’avveniristico,
occorre valutare l’impatto che le scelte progettuali hanno
sull’accessibilità
• Le risposte alle semplici domande che seguono offrono una
interessante strumento di valutazione:
- è possibile utilizzare il terminale con una mano sola?
- è possibile utilizzare la tastiera o il touch screen con dei guanti o
senza il pennino in dotazione?
- è utilizzabile anche da un ipovedente?
55. Navigazione UI su mobile
• Ogni vista è full screen, non esistono floating windows
• L’applicazione in primo piano nasconde qualsiasi altra applicazione
in esecuzione
• I comandi principali si limitano al joypad + suftbutton o agli
elementi grafici (touchscreen): raramente sono presenti shortcut
57. Il binomio “esci/indietro”
Se la navigazione è profonda, la distinzione tra “Esci” e “Indietro” è superflua
Nokia Series 60
58. Il bivio
“Indietro” alla vista
precedente (“Generali”) o
alla lista delle Impostazioni?
Nokia Series 60
59. Uso delle navigation bar
MENU MENU - SETUP MENU - SETUP - TELEFONO MENU - SETUP - TEL - GENERALE
Una barra di navigazione consente all’utente di sapere qual’è il contesto
corrente e quale effetto avranno le azioni compiute sull’interfaccia grafica
Concept su
Nokia Series 60
63. Checklist di navigazione
• L’utente deve avere chiara percezione del contesto attuale,
del contesto precendente ed eventualmente dei contesti
successivi disponibili
• Se “distratto” (l’utente è in mobilità, non è concentrato sul
dispositivo) deve poter riprendere l’uso dell’applicazione senza
navigare all’indietro per capire il contesto
• Esiste un solo flusso di navigazione in avanti ed indietro
64. Da portrait a landscape
• Alcuni dispositivi con layout portrait possono ruotare la
propria interfaccia per consentirne l’uso in modalità landscape
• Il sistema operativo provvede a ruotale le componenti grafiche e
a rimappare opportunamente i tasti (es: DESTRA-SINISTRA sul
joypad diventa SU-GIÙ)
• La visualizzazione landscape consente una migliore fruibilità dei
siti web, contenuti multimediali, mappe geografiche
65. Criticità
• Il tastierino numerico diventa praticamente inutilizzabile, le
serigrafie appaiono verticali e la sagona dei singolo tasti può
diventare fastidiosa se ruotata di 90°
• I softbutton risultano posizionati lateralmente anziché alla
base del display e devono essere accompagnati da etichette
disegnate verticalmente, rendendo l’interfaccia “anomala”
Nokia 6210 Navigator
66. UI e controlli ortogonali
Nokia 6210 Navigator Sony-Ericsson C902
Due barre orizzantali mostrano le Manca qualsiasi informazione sul livello del
informazioni essenziali, comprese le segnale, sull’ora, sul livello batteria. Le
etichette di testo dei softbutton a destra etichette di testo sono in sovraimpressione
67. Non solo dimensioni
• Il passaggio alla modalità landscape consente di predisporre
interfacce grafiche difficilmente adattabili alla modalità landscape
• A seconda della funzionalità desiderata, l’utente potrà usare il
dispositivo nella sua configurazione migliore: l’oggetto di adatta
alla funzione da svolgere
Apple iPhone OS
69. Animazioni
• Gli elementi grafici animati consentono di notificare all’utente che
un comando è stato ricevuto o che un’operazione non istantanea
è in esecuzione e occorre attendere
• Lo scorrimento di porzioni della interfaccia utente comunica
l’entità di modifica del contesto
• Effetti “rimbalzo” indicano che non è possibile scorrere
ulteriormente: anziché bloccare l’interfaccia, il sistema risponde
con un messaggio più esplicito
71. Uso delle animazioni
• Un uso attento delle animazioni può arricchire notevolmente
l’interfaccia grafica, eliminando le ambiguità e riducendo gli
elementi statici di supporto
- Slide: navigazione
- Fade: cambio completo di contesto
- Flip: impostazioni della vista corrente
• Cocoa Touch, il framework grafico dell’iPhone OS, fornisce le
primitive per animare il cambio di vista delle applicazioni,
rendendo stardard i flussi di navigazione
72. La Divina Commedia (2.0)
• Le Cantiche scorrono verticamente,
segnalando che l’azione compiuta sul
pulsante di selezione ha comportato
un cambiamento totale del contento
• I Canti scorrono orizzontalmente all’interno
delle ToolBar, segnalando che l’azione
compiuta sul pulsante ha comportato un
cambiamento parziale di contesto
• Le informazioni sul software sono “sul retro”
della copertina, accessibili attraverso una
rotazione sull’asse verticale
Apple iPhone 2G
73. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
74. La frontiera dell’interazione
• Layout, display, tastiere e touchscreen sono l’interfaccia attraverso
cui l’utente comanda il dispositivo e fruisce dei servizi
• I dispositivi mobili hanno contesti di utilizzo imprevedibili,
legati a qualsiasi attività degli utenti: a casa, per strada, in treno,
all’imbarco di un volo, ad un concerto, in un meeting di lavoro, a
letto a notte fonda...
• L'interazione non si limita all'accesso esplicito al dispositivo
attraverso la sua UI, ma è legata al movimento, alla
posizione, all'ambiente, al dispositivo stesso, che possono
essere considerate sorgenti di input automatiche
75. Tre contesti
• Device, user e ambient sono i tre contesti di esecuzione che
possono essere esplorati attraverso opportuni sensori
• I valori letti attraverso questi ultimi costituiscono un flusso
continuo di dati di input con cui una applicazione può
attivare in autonomia una o più funzioni
76. Sensor Context
• Device
- i sensori forniscono informazioni sullo stato del dispositivo, come il
livello di carica della batteria e del segnale ricevuto o l'inclinazione nello
spazio (attraverso un giroscopio o piu' accelerometri)
• User
- i sensori forniscono informazioni sullo stato dell'utente solidale con il
dispositivo: posizione, altitudine, velocità, nonché dati biologici quali
pressione arteriosa, pulsazioni cardiache e tasso alcoolico
• Ambient
- i sensori a bordo del dispositivo rilevano grandezze fisiche relative
all'ambiente quali umidità, pressione atmosferica, direzione del campo
magnetico terrestre, intensità luminosa o sonora tag RFID.
77. Sensori a bordo
• Luminosità e prossimità
• GPS
• Accelerometro
• NFC
• Fotocamera
78. Luminosità
• Il sensore di luminosità non interviene direttamente nel
comportamento dell’applicazione ma migliora la qualità della user-
experience
- In caso di illuminazione ambientale intensa, aumenta la luminosità del
display (affinché sia ben visibile) e spegne la retroilluminazione della
tastiera (per risparmiare batteria)
- In caso di utilizzo al buio, diminuisce la luminosità del display (affinché
non dia fastidio alle pupille dilatate) e accende la retroilluminazione
della tastiera (che altrimenti sarebbe invisibile)
• Applicazioni intelligenti potrebbero utilizzare questo sensore
per adattare il proprio comportamento (ad esempio, disattivando
gli effetti sonori se il dispositivo è al buio)
79. Prossimità
• Il sensore di prossimità è permette di rilevare
la presenza di un corpo (una mano, il viso)
nelle immediate vicinanze del dispositivo
• Il Nokia 7650 è stato il primo
cellulare a disporre di questo tipo di sensore
e ad utilizzarlo per passare automaticamente
dalla modalità vivavoce a quella normale
portando telefono all’orecchio
• L’iPhone utilizza il sensore di prossimità per
spegnere il display durante la telefonata
e risparmiare carica della batteria Nokia 7650
80. GPS
• Consente alle applicazioni di determinare automaticamente
posizione e velocità del dispositivo
• Inizialmente era disponibile come espansione
CompactFlash/PCMCIA o modulo Bluetooth
• Numerosi modelli di recente produzione
includono un ricevitore A-GPS (Assisted GPS),
che si appoggia ad un assistance server per i calcoli
più onerosi. L’A-GPS è più rapido all’avvio, consente
di risparmiare CPU e batteria, ma necessita di una
connessione wireless attiva
Nokia N96
81. GPS: applicazioni
• Location-based services: le informazioni
richieste o inviate ai servizi remoti e
gestiti dall’applicazione sono scelte in
base ai dati di localizzazione
• Georeferenced-games: la presenza del
giocatore in un luogo fisico assegnato
è parte integrante del gioco
• Navigatore satellitare
Alla ricerca di una pizzeria
nel Medio Campidano...
82. GPS: librerie
• Le prime applicazioni basate su GPS si interfacciavano
direttamente allo stream seriale NMEA proveniente dal GPS e
dovevano provvedere alla decodifica dei dati
• I moderni sistemi operativi ed ambienti di programmazione
offrono API di alto livello per la lettura di posizione,
altitudine, velocità e direzione goniometrica
• I framework più evoluti come la Location API di Java ME offrono
la possibilità di registrare una applicazione al sistema di
localizzazione, affinché venga automaticamente segnalato
l’ingresso in una zona di interesse
83. Accelerometro
• Permette di misurare le accelerazioni a cui è soggetto il
dispositivo (compresa, ovviamente, l’accelerazione di gravità)
• Sono disponibili modelli a 2 e 3 assi, con range ±1g, ±2g, ±6g
• Introdotto dalla console Nintendo Wii e dalla prima generazione
di iPhone, l’accelerometro è utilizzato per rilevare:
- movimenti corrispondenti ad accelerazioni repentine del dispositivo
- inclinazione rispetto alla direzione della forza peso
84. Accelerometro: applicazioni
• Giochi:
- i movimenti a video sono scatenati da movimenti fisici nello spazio
• Multimedia controller:
- come shaker per cambiare brano in riproduzione o per mixare in
tempo reale e casuale diversi campioni audio
• Interface controller:
- commutazione automatica in modalità landscape quando si ruota il
dispositivo
85. Accelerometro: librerie
• I sistemi di sviluppo e gli ambienti di programmazione stanno
rapidamente integrando librerie per la lettura dei dati
dell’accelerometro
- Symbian OS su C++ e Python
- Java Micro Edition, con la Mobile Sensor API (JSR 256) implementata
sulla JP-8 di alcuni device Sony-Ericsson
- iPhone OS: l’applicazione può controllare direttamente l’accelerometro
o lasciare che il sistema operativo ruoti i componenti dell’interfaccia
grafica (notificando comunque la rotazione)
86. Graviter: Twitter by gestures
• Il telefono cellulare è un invisibile osservatore dei gesti delle
persone: la posizione “racconta” cosa sta facendo l’utente
Y
X
Z
Posizione e orientamento del
telefono sono interpretati ed
Sony-Ericsson W910i inviati a Twitter
87. Dov’è il vostro telefono?
Sulla scrivania In the shirt
(orizzontale) (vertical)
Available Busy Happy Upset
Z = 1, Y = 0 Z = -1, Y = 0 Z = 0, Y = 1 Z = 0, Y = -1
89. NFC
• NFC (Near Field Communication) è una specifica standard per
comunicazioni radio sicure a corto raggio che estende la
tecnologia RFID per:
- Lettura e scrittura di tag
- Riconoscimento di oggetti
- Autenticazione utente
- Mutua autenticazione degli utenti
• Il telefono cellulare diventa comtemporaneamente lettore/
scrittore di tag, tag esso stesso, motore crittografico
90. NFC: applicazioni e librerie
• Come RFID da cui deriva, NFC si presta a numerose applicazioni,
tra cui:
- instant ticketing by touch
- controllo accessi
- annotazione digitale
• La prima piattaforma che supporta nativamente
lo standard NFC è Java Micro Edition, attraverso
la Contactless Connection API (JSR 257)
disponibile sui terminali commeciali
Nokia 6131 NFC e Nokia 6212 Classic NFC
91. Fotocamera
• Anche la fotocamera può essere annoverata tra i sensori più
sofisticati dei terminali mobili odierni: oltre a scattare foto di
qualità elevata, consente di acquisire Visual Tag, ovvero codici
bidimensionali (Data Matrix, Semacode, QR Code...) in
maniera automatica
• I possono contenere informazioni dettagliate sull’oggetto a cui
appartengono, link web, codici di attivazione
92. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
94. Pervasive, ubiquitous
• Modello di Human-Computer Interaction in cui il calcolatore
connesso alla Rete permea gli oggetti del quotidiano
• Elettrodomestici, impianti di domotica, autoveicoli, sistemi
informativi in spazi pubblici diventano nodi della Rete a tutti gli
effetti, la “Internet of Things”
• Si tratta apparati in grado di utilizzare nativamente uno o più
protocolli standard, come HTTP (con web service SOAP o
REST), XMPP, SMTP, TCP, UDP...
96. Sensor Networks
• La formidabile riduzione dei costi dell’hardware e la disponibilità
di minuscoli microcontroller in grado rilevare dati ambientali,
azionare automatismi e comunicare su reti ad hoc (wireless e
non) ha dato una spinta notevole al perfezionamento e alla
diffusione delle sensor network
Golden Forest by *Micky
http://www.flickr.com/photos/emzee/
97. Oltre il pervasive
• Questi oggetti miniaturizzati ed estremamente specializzati vivono
di vita propria e comunicano su proprie reti con protocolli ad hoc
• Costituiscono una rete indipendente, un Capillary
Computing che porta risorse di automazione su ogni oggetto
• Tecnologie quali SunSPOT, Sentilla Perk e Arduino consentono la
sperimentazione in questo interessantissimo settore
99. SunSPOT
• Small Programmable Object Technology
• Progetto sviluppato dai Laboratori
di Ricerca Sun
• Piattaforma per reti wireless di
sensori intelligenti
• Laboratorio “live” per realizzare nuovi
scenari applicativi:
- The (Inter)net of Things
- “Program the world”
100. Il ruolo dei dispositivi mobili
• I telefoni cellulari più recenti dispongono di numerose interfacce
di comunicazione:
- Bluetooth
- HSDPA/HSUPA
- WLAN
- NFC
- ZigBee (in futuro?)
• Dove non è prevista una UI, il terminale mobile diventa lo
strumento ideale per accedere alle reti capillari locali
101. Programma
• Introduzione al Mobile Computing
• Mobile Platform e Mobile Device
• HCI su dispositivi mobili
• Mobile sensor: l’evoluzione della HCI
• Ambient interaction e Capillary Computing
• Conclusioni
102. HCI: il prossimo futuro
• Interfacce touch/multitouch senza pennino sostituiranno le altre
interfacce; l’input a tastiera sarà limitato ad applicazioni dedicate
• Come per il T9, nato per facilitare la digitazione di testi sul
tastierino numerico, arriveranno sistemi avanzati di digitazione
testi su touchscreen
• L’uso sistematico di sensori di bordo permetterà una rilevazione
capillare (!) dell’inquinamento: l’approccio collaborativo alla
salvaguardia dell’ambiente (OpenSpime e Green Phone)
103. Conclusioni
• Il Mobile Computing è il settore con il più vasto bacino di utenza,
probabilmente paragonabile solo alla TV: a designer e sviluppatori
il compito di realizzare interfacce utente semplici, efficaci ed
universali
• L’uso dei sensori a bordo e l’interfacciamento a risorse di
Capillary Computing sta trasformando i terminali mobili da
strumenti di accesso al Web in console di accesso a qualsiasi
risorsa programmabile