• Non ci sono risultati.

Mobile Applications

N/A
N/A
Protected

Academic year: 2021

Condividi "Mobile Applications"

Copied!
157
0
0

Testo completo

(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

(7)

Mobile Computing

Progettazione e sviluppo di applicazioni per

oggetti personali programmabili e connessi di

supporto alla mobilità delle persone

(8)

Si parla di...

Telefoni cellulari, palmari, tablet PC

In-car computer

Wireless Networks, Cellular Networks, Satellite Communication

(9)

Non si parla di...

Notebooks, sub-notebooks

Web Kiosk

Media Center

(10)

Non si parla di...

Notebooks, sub-notebooks

Web Kiosk

Media Center

(11)

Un mercato immenso

Telefoni cellulari venduti (milioni)

Source: GARTNER

(12)

Un mercato immenso

Telefoni cellulari venduti (milioni)

Source: GARTNER

(13)

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

(14)

Tanti servizi

Slide by Rudy De Waele

http://www.slideshare.net/rudydw/mobile-20-over-the-air

(15)

Un’isola...

SMS

MMS email

camera games

(16)

Un’isola...

browsing VoIP GPS Mobile TV

SMS

MMS email

camera games

(17)

Un’isola...

browsing VoIP GPS Mobile TV

SMS

MMS email

camera games

(18)

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

(19)

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

(20)

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...

(21)

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

(22)

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

(23)

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)

(24)

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

(25)

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

-

...

(26)

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

(27)

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

(28)

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

(29)

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

(30)

Mobile HCI

(31)

Mobile HCI

Graphical User

Interface Hardware &

Controllers

Applications

Users’ Mobility

Navigation

Entertainment

Enterprise Mobility Usability &

Accessibility

Networking Multimodality

Pervasive

Computing

(32)

Mobile HCI

Graphical User

Interface Hardware &

Controllers

Applications

Users’ Mobility

Navigation

Entertainment

Enterprise Mobility Usability &

Accessibility

Networking Multimodality

Pervasive

Computing

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

Brick Layout

Apple iPhone

Nokia E71

Samsung i600

Sony-Ericsson K800i

(40)

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!)

(41)

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

(42)

Flip Layout

(43)

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

(44)

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

(45)

Slide Layout

Nokia N96

Nokia N810 HTC P4350

(46)

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

(47)

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

(48)

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

(49)

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 4350

(50)

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

(51)

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

(52)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(53)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(54)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(touchscreen + tastiera estesa)

(55)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(touchscreen + tastiera estesa) (Windows Mobile)

(56)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(touchscreen + tastiera estesa) (Windows Mobile)

(no multitouch)

(57)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(58)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(multitouch)

(59)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(iPhone / iPod Touch)

(multitouch)

(60)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(iPhone / iPod Touch) (iPhone OS)

(multitouch)

(61)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(62)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(massima integrazione con le funzionalità telefoniche)

(63)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(Symbian OS)

(massima integrazione con le funzionalità telefoniche)

(64)

Tre gradi di libertà apparenti

HARDWARE PIATTAFORMA

APPLICAZIONE

(principalmente Nokia S60) (Symbian OS)

(massima integrazione con le funzionalità telefoniche)

(65)

Dai requisiti alla realizzazione

(66)

Dai requisiti alla realizzazione

Specifiche

Funzionali Prototipo

Applicazione User

Experience Applicazione

(67)

Dai requisiti alla realizzazione

Specifiche

Funzionali Prototipo

Applicazione User

Experience Applicazione

Specifiche Funzionali Experience User

Prototipo

Applicazione Applicazione

(68)

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

(69)

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.

(70)

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.

(71)

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?

(72)

Tre problematiche attuali

Navigazione nell’interfaccia grafica

Visualizzazione landscape

Animazioni

(73)

UI in ambiente desktop

(74)

Navigazione rapida

La vista Exposé di Mac OS X

(75)

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

(76)

Lettura SMS su Nokia S60

Nokia Series 60

(77)

Lettura SMS su Nokia S60

Nokia Series 60

(78)

Lettura SMS su Nokia S60

Nokia Series 60

(79)

Lettura SMS su Nokia S60

Nokia Series 60

(80)

Lettura SMS su Nokia S60

Nokia Series 60

(81)

Il binomio “esci/indietro”

Nokia Series 60

(82)

Il binomio “esci/indietro”

Nokia Series 60

(83)

Il binomio “esci/indietro”

Nokia Series 60

(84)

Il binomio “esci/indietro”

Nokia Series 60

(85)

Il binomio “esci/indietro”

Se la navigazione è profonda, la distinzione tra “Esci” e “Indietro” è superflua

Nokia Series 60

(86)

Il bivio

Nokia Series 60

(87)

Il bivio

Nokia Series 60

(88)

Il bivio

Nokia Series 60

(89)

Il bivio

“Indietro” alla vista

precedente (“Generali”) o alla lista delle Impostazioni?

Nokia Series 60

(90)

Uso delle navigation bar

Concept su Nokia Series 60

(91)

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

(92)

Un primo miglioramento

Apple iPhone OS

(93)

Un primo miglioramento

Apple iPhone OS

(94)

Un primo miglioramento

Apple iPhone OS

(95)

Un primo miglioramento

Apple iPhone OS

(96)

Quattro livelli

Apple iPhone OS

(97)

Quattro livelli

Apple iPhone OS

(98)

Quattro livelli

Apple iPhone OS

(99)

Quattro livelli

Apple iPhone OS

(100)

Quattro livelli

Apple iPhone OS

(101)

Quattro livelli

Apple iPhone OS

(102)

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

(103)

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

(104)

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

(105)

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

(106)

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

(107)

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

(108)

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

(109)

Da testuale a grafico

Apple iPhone OS

(110)

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

(111)

Il “fine corsa”

(112)

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

(113)

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

(114)

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

(115)

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

(116)

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

(117)

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.

(118)

Sensori a bordo

Luminosità e prossimità

GPS

Accelerometro

NFC

Fotocamera

(119)

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)

(120)

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

(121)

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

(122)

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...

(123)

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

(124)

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

(125)

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

(126)

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)

(127)

Graviter: Twitter by gestures

Il telefono cellulare è un invisibile osservatore dei gesti delle persone: la posizione “racconta” cosa sta facendo l’utente

X Y

Z

Posizione e orientamento del telefono sono interpretati ed

inviati a Twitter

Sony-Ericsson W910i

(128)

Dov’è il vostro telefono?

(129)

Dov’è il vostro telefono?

Sulla scrivania

(orizzontale)

(130)

Dov’è il vostro telefono?

Sulla scrivania

(orizzontale)

Z = 1, Y = 0

Available

(131)

Dov’è il vostro telefono?

Sulla scrivania

(orizzontale)

Z = -1, Y = 0

Busy

Z = 1, Y = 0

Available

(132)

Dov’è il vostro telefono?

Sulla scrivania

(orizzontale)

In the shirt

(vertical)

Z = -1, Y = 0

Busy

Z = 1, Y = 0

Available

(133)

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

(134)

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

(135)

Graviter on iPhone OS

(136)

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

(137)

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

(138)

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

(139)

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

(140)

Domotica

(141)

Domotica

Beppe Grillo

http://www.beppegrillo.it

(142)

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...

(143)

Internet Computing (server, PC)

(144)

Mobile Computing

Internet Computing (server, PC)

(145)

Pervasive Computing

Mobile Computing

Internet Computing (server, PC)

(146)

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

(147)

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/

(148)

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

(149)

Pervasive Computing

Mobile Computing

Internet Computing (server, PC)

(150)

Capillary Computing

Pervasive Computing

Mobile Computing

Internet Computing (server, PC)

(151)

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”

(152)

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

(153)

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

(154)

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)

(155)

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

(156)

Riferimenti

Stefano Sanna

-

email: gerdavax@tiscali.it

-

blog: http://www.gerdavax.it

-

Skype: gerdavax

(157)

Mobile Applications

Riferimenti

Documenti correlati

Il concetto di variabile nel linguaggio C rappresenta una astrazione della cella di memoria.. L'istruzione di assegnamento, quindi, e` l'astrazione dell'operazione di scrittura

quando 5 eurocent al minuto per le chiamate che iniziano dopo le 8 e prima delle 18; 15 eurocent nelle altre fasce orarie4. con scatto 15 eurocent alla risposta + 5 eurocent

mobile ha ormai abbracciato un po’ tutte le aree di applicazioni nei sistemi informativi, dalla gestione della forza vendita basata su reti cellulari alle applicazioni di

ðil valore di i mi dice in ogni istante quante volte è stato già eseguito il corpo del ciclo. Strutture di Controllo: Cicli >>

Sottoprogrammi: Sintassi e Semantica >> Linee Guida per i

ðpasso 2.2.4: analizza il tentativo e stampa l’esito Sottoprogrammi: Metodologia di Sviluppo >> Indovina il Numero.. Mecca - Programmazione Procedurale in Linguaggio

ðDefinizione di Funzioni ðDefinizione di Procedure ðChiamata di Funzioni ðChiamata di Procedure ðPassaggio dei Parametri ðProgrammazione Modulare. Termini

© 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota di copyright a pag. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright