Mobile Applications
Stefano Sanna 15-19 Settembre 2008
Parco Scientifico e Tecnologico della Sardegna
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 embeddedProgramma
•
Introduzione al Mobile Computing•
Mobile Platform e Mobile Device•
HCI su dispositivi mobili•
Mobile sensor: l’evoluzione della HCI•
Ambient interaction e Capillary Computing•
ConclusioniRelatore
•
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-bookProgramma
•
Introduzione al Mobile Computing•
Mobile Platform e Mobile Device•
HCI su dispositivi mobili•
Mobile sensor: l’evoluzione della HCI•
Ambient interaction e Capillary Computing•
ConclusioniMobile Computing
Mobile Computing
Progettazione e sviluppo di applicazioni per
oggetti personali programmabili e connessi di
supporto alla mobilità delle persone
Si parla di...
•
Telefoni cellulari, palmari, tablet PC•
In-car computer•
Wireless Networks, Cellular Networks, Satellite CommunicationNon si parla di...
•
Notebooks, sub-notebooks•
Web Kiosk•
Media CenterNon si parla di...
•
Notebooks, sub-notebooks•
Web Kiosk•
Media CenterUn mercato immenso
Telefoni cellulari venduti (milioni)
Source: GARTNER
Un mercato immenso
Telefoni cellulari venduti (milioni)
Source: GARTNER
Internet + Mobile
•
L’uso massivo e sistematico della Rete e dei terminali mobili di nuova generazione costituisce la base per la realizzazione discenari 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 intrusioniTanti servizi
Slide by Rudy De Waele
http://www.slideshare.net/rudydw/mobile-20-over-the-air
Un’isola...
SMS
MMS email
camera games
Un’isola...
browsing VoIP GPS Mobile TV
SMS
MMS email
camera games
Un’isola...
browsing VoIP GPS Mobile TV
SMS
MMS email
camera games
Un’isola...
Iceberg image by StarStore
http://www.starstore.com
RFID/NFC
sensors ambient
intelligence
local processing
& storage visual tags
browsing VoIP GPS Mobile TV
SMS
MMS email
camera games
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 dispositiviAnche chi sviluppa...
•
Software house e sviluppatori indipendenti trovano a loro volta numerosi ostacoli e “trappole” che comportano un enormespreco 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...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•
ConclusioniMiti 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à dipersonalizzazione limitate
•
Date le modeste dimensioni delle librerie di programmazione,sviluppare applicazioni per dispositivi mobili è piuttosto semplice e i tempi di realizzazione molto brevi
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)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 applicazioniesistenti incompatibili con i nuovi prodotti
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-
...Linguaggi/Piattaforme
•
Symbian C++•
.NET Compact Framework•
Java Micro Edition•
Android (subset Java SE + librerie specializzate)•
iPhone OS (Objective-C)•
Linux C++•
Flash Lite•
PythonChi 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 dispositivoQuale piattaforma?
•
Non esiste la piattaforma software o l’ambiente diprogrammazione 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 chebasti 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’hardwaredeterminano la piattaforma da usarsi e i compromessi a cui occorre sottostare
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•
ConclusioniMobile HCI
Mobile HCI
Graphical User
Interface Hardware &
Controllers
Applications
Users’ Mobility
Navigation
Entertainment
Enterprise Mobility Usability &
Accessibility
Networking Multimodality
Pervasive
Computing
Mobile HCI
Graphical User
Interface Hardware &
Controllers
Applications
Users’ Mobility
Navigation
Entertainment
Enterprise Mobility Usability &
Accessibility
Networking Multimodality
Pervasive
Computing
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 limitateI 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 streamingUna anomalia temporale
•
Lo studio della Mobile HCI è tutt’altro che concluso: vecchiapprocci 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 tempoDue miliardi su sei miliardi
•
Alcune stime parlano di circa due miliardi di telefoni cellulariprogrammabili 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 utentiTre 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-basedBrick Layout
•
Il terminale ha una design monolitico a sviluppo verticale, tutti i componenti dell’interfaccia sono disponibilicontemporaneamente
•
Non ci sono parti in movimento•
Accensione, volume audio e fotocamera sono accessibili attraverso tasti dedicatiNokia 6120 Classic
Brick Layout
Apple iPhone
Nokia E71
Samsung i600
Sony-Ericsson K800i
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’attenzionedell’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!)
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 alcunefunzioni senza aprire il terminale
Nokia 6131
Flip Layout
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 utilizzarloSlide 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 untelefono con layout brick
•
Molte funzionalitàpossono essere utilizzate senza “aprire” il terminale
Sony-Ericsson W910i
Slide Layout
Nokia N96
Nokia N810 HTC P4350
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 ildispositivo
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 attraversooggetti selezionabili (direzione) e attivabili (fire)
•
Alla base del display sono presenti due pulsanti (softbutton) la cui funzionedipende dal contesto applicativo
Nokia 6120 Classic
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 displayBlackberry 8800
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
•
In assenza di pennino, la UI è difficile da utilizzare HTC 4350Touchscreen gesture-based
•
L’interfaccia grafica, in modalità portrait o landscape, è accessibile utilizzando le dita•
Non sono previsti menù (occuperebberotroppo 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 dedicatiApple iPhone 2G
Touchscreen gesture-based
•
Non essendo presenti menù contestuali, l’interfaccia graficadell’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/3DTre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(touchscreen + tastiera estesa)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(touchscreen + tastiera estesa) (Windows Mobile)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(touchscreen + tastiera estesa) (Windows Mobile)
(no multitouch)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(multitouch)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(iPhone / iPod Touch)
(multitouch)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(iPhone / iPod Touch) (iPhone OS)
(multitouch)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(massima integrazione con le funzionalità telefoniche)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(Symbian OS)
(massima integrazione con le funzionalità telefoniche)
Tre gradi di libertà apparenti
HARDWARE PIATTAFORMA
APPLICAZIONE
(principalmente Nokia S60) (Symbian OS)
(massima integrazione con le funzionalità telefoniche)
Dai requisiti alla realizzazione
Dai requisiti alla realizzazione
Specifiche
Funzionali Prototipo
Applicazione User
Experience Applicazione
Dai requisiti alla realizzazione
Specifiche
Funzionali Prototipo
Applicazione User
Experience Applicazione
Specifiche Funzionali Experience User
Prototipo
Applicazione Applicazione
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 undispositivo mobile deve essere immediatamente accessibile anche per un utente che non conosce il terminale in uso
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.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.Accessibilità
•
Oltre alle “preoccupazioni” del design, del bello, dell’avveniristico, occorre valutare l’impatto che le scelte progettuali hannosull’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?Tre problematiche attuali
•
Navigazione nell’interfaccia grafica•
Visualizzazione landscape•
AnimazioniUI in ambiente desktop
Navigazione rapida
La vista Exposé di Mac OS X
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 aglielementi grafici (touchscreen): raramente sono presenti shortcut
Lettura SMS su Nokia S60
Nokia Series 60
Lettura SMS su Nokia S60
Nokia Series 60
Lettura SMS su Nokia S60
Nokia Series 60
Lettura SMS su Nokia S60
Nokia Series 60
Lettura SMS su Nokia S60
Nokia Series 60
Il binomio “esci/indietro”
Nokia Series 60
Il binomio “esci/indietro”
Nokia Series 60
Il binomio “esci/indietro”
Nokia Series 60
Il binomio “esci/indietro”
Nokia Series 60
Il binomio “esci/indietro”
Se la navigazione è profonda, la distinzione tra “Esci” e “Indietro” è superflua
Nokia Series 60
Il bivio
Nokia Series 60
Il bivio
Nokia Series 60
Il bivio
Nokia Series 60
Il bivio
“Indietro” alla vista
precedente (“Generali”) o alla lista delle Impostazioni?
Nokia Series 60
Uso delle navigation bar
Concept su Nokia Series 60
Uso delle navigation bar
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
MENU MENU - SETUP MENU - SETUP - TELEFONO MENU - SETUP - TEL - GENERALE
Un primo miglioramento
Apple iPhone OS
Un primo miglioramento
Apple iPhone OS
Un primo miglioramento
Apple iPhone OS
Un primo miglioramento
Apple iPhone OS
Quattro livelli
Apple iPhone OS
Quattro livelli
Apple iPhone OS
Quattro livelli
Apple iPhone OS
Quattro livelli
Apple iPhone OS
Quattro livelli
Apple iPhone OS
Quattro livelli
Apple iPhone OS
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 suldispositivo) deve poter riprendere l’uso dell’applicazione senza navigare all’indietro per capire il contesto
•
Esiste un solo flusso di navigazione in avanti ed indietroDa portrait a landscape
•
Alcuni dispositivi con layout portrait possono ruotare lapropria 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 geograficheCriticità
•
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
UI e controlli ortogonali
Nokia 6210 Navigator Sony-Ericsson C902
Due barre orizzantali mostrano le informazioni essenziali, comprese le etichette di testo dei softbutton a destra
Manca qualsiasi informazione sul livello del segnale, sull’ora, sul livello batteria. Le etichette di testo sono in sovraimpressione
UI e controlli ortogonali
Nokia 6210 Navigator Sony-Ericsson C902
Due barre orizzantali mostrano le informazioni essenziali, comprese le etichette di testo dei softbutton a destra
Manca qualsiasi informazione sul livello del segnale, sull’ora, sul livello batteria. Le etichette di testo sono in sovraimpressione
Non solo dimensioni
•
Il passaggio alla modalità landscape consente di predisporreinterfacce 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 svolgereApple iPhone OS
Non solo dimensioni
•
Il passaggio alla modalità landscape consente di predisporreinterfacce 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 svolgereApple iPhone OS
Da testuale a grafico
Apple iPhone OS
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 scorrereulteriormente: anziché bloccare l’interfaccia, il sistema risponde con un messaggio più esplicito
Il “fine corsa”
Uso delle animazioni
•
Un uso attento delle animazioni può arricchire notevolmente l’interfaccia grafica, eliminando le ambiguità e riducendo glielementi 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
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’azionecompiuta 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
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•
ConclusioniLa 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, allaposizione, all'ambiente, al dispositivo stesso, che possono essere considerate sorgenti di input automatiche
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ù funzioniSensor Context
•
Device-
i sensori forniscono informazioni sullo stato del dispositivo, come illivello 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 relativeall'ambiente quali umidità, pressione atmosferica, direzione del campo magnetico terrestre, intensità luminosa o sonora tag RFID.
Sensori a bordo
•
Luminosità e prossimità•
GPS•
Accelerometro•
NFC•
FotocameraLuminosità
•
Il sensore di luminosità non interviene direttamente nelcomportamento 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)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 primocellulare 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 telefonatae risparmiare carica della batteria Nokia 7650
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 produzioneincludono 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
GPS: applicazioni
•
Location-based services: le informazioni richieste o inviate ai servizi remoti egestiti 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 satellitareAlla ricerca di una pizzeria nel Medio Campidano...
GPS: librerie
•
Le prime applicazioni basate su GPS si interfacciavanodirettamente 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 dilocalizzazione, affinché venga automaticamente segnalato l’ingresso in una zona di interesse
Accelerometro
•
Permette di misurare le accelerazioni a cui è soggetto ildispositivo (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 pesoAccelerometro: 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 dispositivoAccelerometro: librerie
•
I sistemi di sviluppo e gli ambienti di programmazione stanno rapidamente integrando librerie per la lettura dei datidell’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’interfacciagrafica (notificando comunque la rotazione)
Graviter: Twitter by gestures
•
Il telefono cellulare è un invisibile osservatore dei gesti delle persone: la posizione “racconta” cosa sta facendo l’utenteX Y
Z
Posizione e orientamento del telefono sono interpretati ed
inviati a Twitter
Sony-Ericsson W910i
Dov’è il vostro telefono?
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
Z = 1, Y = 0
Available
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
Z = -1, Y = 0
Busy
Z = 1, Y = 0
Available
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
In the shirt
(vertical)
Z = -1, Y = 0
Busy
Z = 1, Y = 0
Available
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
In the shirt
(vertical)
Z = -1, Y = 0
Busy
Z = 1, Y = 0
Available
Z = 0, Y = 1
Happy
Dov’è il vostro telefono?
Sulla scrivania
(orizzontale)
In the shirt
(vertical)
Z = -1, Y = 0
Busy
Z = 1, Y = 0
Available
Z = 0, Y = 1
Happy
Z = 0, Y = -1
Upset
Graviter on iPhone OS
NFC
•
NFC (Near Field Communication) è una specifica standard per comunicazioni radio sicure a corto raggio che estende latecnologia 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
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
Fotocamera
•
Anche la fotocamera può essere annoverata tra i sensori più sofisticati dei terminali mobili odierni: oltre a scattare foto diqualità 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 attivazioneProgramma
•
Introduzione al Mobile Computing•
Mobile Platform e Mobile Device•
HCI su dispositivi mobili•
Mobile sensor: l’evoluzione della HCI•
Ambient interaction e Capillary Computing•
ConclusioniDomotica
Domotica
Beppe Grillo
http://www.beppegrillo.it
Pervasive, ubiquitous
•
Modello di Human-Computer Interaction in cui il calcolatore connesso alla Rete permea gli oggetti del quotidiano•
Elettrodomestici, impianti di domotica, autoveicoli, sistemiinformativi 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...Internet Computing (server, PC)
Mobile Computing
Internet Computing (server, PC)
Pervasive Computing
Mobile Computing
Internet Computing (server, PC)
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
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/
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 CapillaryComputing che porta risorse di automazione su ogni oggetto
•
Tecnologie quali SunSPOT, Sentilla Perk e Arduino consentono la sperimentazione in questo interessantissimo settorePervasive Computing
Mobile Computing
Internet Computing (server, PC)
Capillary Computing
Pervasive Computing
Mobile Computing
Internet Computing (server, PC)
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”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 localiProgramma
•
Introduzione al Mobile Computing•
Mobile Platform e Mobile Device•
HCI su dispositivi mobili•
Mobile sensor: l’evoluzione della HCI•
Ambient interaction e Capillary Computing•
ConclusioniHCI: 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 sultastierino 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 allasalvaguardia dell’ambiente (OpenSpime e Green Phone)
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 eduniversali