SlideShare una empresa de Scribd logo
1 de 105
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
    embedded
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
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
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
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 Communication
Non si parla di...



•   Notebooks, sub-notebooks

•   Web Kiosk

•   Media Center
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 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
Tanti servizi




         Slide by Rudy De Waele
         http://www.slideshare.net/rudydw/mobile-20-over-the-air
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
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
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...
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
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
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 applicazioni
    esistenti 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

•   Python
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
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
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
Usability &       Mobile HCI
Accessibility
                                            Multimodality
                       Networking

Graphical User
  Interface                                   Hardware &
                                              Controllers
                          Users’ Mobility

        Applications
                                                Navigation

                          Enterprise
                           Mobility
  Entertainment                              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 limitate
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
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
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
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
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
Brick Layout




Apple iPhone

                           Samsung i600

                                          Sony-Ericsson K800i
               Nokia E71
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!)
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
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 utilizzarlo
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
Slide Layout




                           Nokia N810
             HTC P4350
Nokia N96
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
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
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
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
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
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
Tre gradi di libertà apparenti


 HARDWARE          PIATTAFORMA




         APPLICAZIONE
Tre gradi di libertà apparenti


  HARDWARE                                          PIATTAFORMA

(touchscreen + tastiera estesa)                       (Windows Mobile)




                           APPLICAZIONE
                                  (no multitouch)
Tre gradi di libertà apparenti


 HARDWARE                                   PIATTAFORMA

  (iPhone / iPod Touch)                        (iPhone OS)




                          APPLICAZIONE
                             (multitouch)
Tre gradi di libertà apparenti


 HARDWARE                                             PIATTAFORMA

 (principalmente Nokia S60)                                    (Symbian OS)




                        APPLICAZIONE
               (massima integrazione con le funzionalità telefoniche)
Dai requisiti alla realizzazione

Specifiche     Prototipo        User
                                         Applicazione
Funzionali   Applicazione   Experience




Specifiche
Funzionali
                     Prototipo
                                         Applicazione
                    Applicazione
   User
Experience
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
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 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?
Tre problematiche attuali



•   Navigazione nell’interfaccia grafica


•   Visualizzazione landscape


•   Animazioni
UI 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 agli
    elementi grafici (touchscreen): raramente sono presenti shortcut
Lettura SMS su Nokia S60




                      Nokia Series 60
Il binomio “esci/indietro”




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




                                                                             Nokia Series 60
Il bivio




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


                                Nokia Series 60
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
Un primo miglioramento




                     Apple iPhone OS
Un primo miglioramento




                     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 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
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
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
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
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
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 scorrere
    ulteriormente: 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 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
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
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
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
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
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.
Sensori a bordo


•   Luminosità e prossimità

•   GPS

•   Accelerometro

•   NFC

•   Fotocamera
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)
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
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
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...
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
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
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
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)
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
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
Graviter on iPhone OS
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
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 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
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
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, 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...
Internet
Computing
(server, PC)


 Mobile
Computing

 Pervasive
Computing
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 Capillary
    Computing che porta risorse di automazione su ogni oggetto


•   Tecnologie quali SunSPOT, Sentilla Perk e Arduino consentono la
    sperimentazione in questo interessantissimo settore
Internet
Computing
(server, PC)


 Mobile
Computing

 Pervasive
Computing

 Capillary
Computing
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 locali
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
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)
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
Riferimenti



• Stefano Sanna
 -   email: gerdavax@tiscali.it
 -   blog: http://www.gerdavax.it
 -   Skype: gerdavax
Mobile Applications

Más contenido relacionado

Destacado

День самоуправления
День самоуправления День самоуправления
День самоуправления Yanina
 
2010 Toyota Corolla Irving
2010 Toyota Corolla Irving2010 Toyota Corolla Irving
2010 Toyota Corolla IrvingToyota of Irving
 
Cover letter Dominic
Cover letter DominicCover letter Dominic
Cover letter DominicDominic Bassi
 
2.5 Ishikawa Fishbone
2.5 Ishikawa Fishbone2.5 Ishikawa Fishbone
2.5 Ishikawa FishboneCody States
 
childrens party entertainment
 childrens party entertainment childrens party entertainment
childrens party entertainmentmillardjones
 

Destacado (7)

День самоуправления
День самоуправления День самоуправления
День самоуправления
 
2010 Toyota Corolla Irving
2010 Toyota Corolla Irving2010 Toyota Corolla Irving
2010 Toyota Corolla Irving
 
Hetherly-Kirsten
Hetherly-KirstenHetherly-Kirsten
Hetherly-Kirsten
 
Cover letter Dominic
Cover letter DominicCover letter Dominic
Cover letter Dominic
 
Transcript_140042568 (1)
Transcript_140042568 (1)Transcript_140042568 (1)
Transcript_140042568 (1)
 
2.5 Ishikawa Fishbone
2.5 Ishikawa Fishbone2.5 Ishikawa Fishbone
2.5 Ishikawa Fishbone
 
childrens party entertainment
 childrens party entertainment childrens party entertainment
childrens party entertainment
 

Similar a HCIM08 - Mobile Applications

Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliFunzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliNicola Losito
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play frameworkCSP Scarl
 
Mobile security & privacy - Paranoia in movimento
Mobile security & privacy - Paranoia in movimentoMobile security & privacy - Paranoia in movimento
Mobile security & privacy - Paranoia in movimentoAlfredo Morresi
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Controllo di un impianto My Home da iPad iPhone-iPod touch
Controllo di un impianto My Home da iPad iPhone-iPod touch  Controllo di un impianto My Home da iPad iPhone-iPod touch
Controllo di un impianto My Home da iPad iPhone-iPod touch INGEGNI Tech Srl
 
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/fodd
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/foddFODD 2015 Mobile App based on ServiceMap, http://www.disit.org/fodd
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/foddPaolo Nesi
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
L'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaL'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaMicrofocusitalia
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Gianluca Musetti
 
Presentazione ITATIS 2012
Presentazione ITATIS 2012Presentazione ITATIS 2012
Presentazione ITATIS 2012ITATIS S.r.l.
 
Aree di ricerche progetti logistica trasporti 2010
Aree di ricerche progetti logistica trasporti 2010Aree di ricerche progetti logistica trasporti 2010
Aree di ricerche progetti logistica trasporti 2010CATTID "Sapienza"
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeedAntonio Cafiero
 
Tecnologie inquiete ...
Tecnologie inquiete ...Tecnologie inquiete ...
Tecnologie inquiete ...Clay Casati
 

Similar a HCIM08 - Mobile Applications (20)

Post PC Devices
Post PC DevicesPost PC Devices
Post PC Devices
 
Micro Applicazioni Mobile
Micro Applicazioni MobileMicro Applicazioni Mobile
Micro Applicazioni Mobile
 
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliFunzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
 
Introduzione ad NFC
Introduzione ad NFCIntroduzione ad NFC
Introduzione ad NFC
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play framework
 
Mobile security & privacy - Paranoia in movimento
Mobile security & privacy - Paranoia in movimentoMobile security & privacy - Paranoia in movimento
Mobile security & privacy - Paranoia in movimento
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Controllo di un impianto My Home da iPad iPhone-iPod touch
Controllo di un impianto My Home da iPad iPhone-iPod touch  Controllo di un impianto My Home da iPad iPhone-iPod touch
Controllo di un impianto My Home da iPad iPhone-iPod touch
 
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/fodd
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/foddFODD 2015 Mobile App based on ServiceMap, http://www.disit.org/fodd
FODD 2015 Mobile App based on ServiceMap, http://www.disit.org/fodd
 
Sviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi MobiliSviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi Mobili
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
L'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaL'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a porta
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution
 
Presentazione ITATIS 2012
Presentazione ITATIS 2012Presentazione ITATIS 2012
Presentazione ITATIS 2012
 
Aree di ricerche progetti logistica trasporti 2010
Aree di ricerche progetti logistica trasporti 2010Aree di ricerche progetti logistica trasporti 2010
Aree di ricerche progetti logistica trasporti 2010
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeed
 
Tecnologie inquiete ...
Tecnologie inquiete ...Tecnologie inquiete ...
Tecnologie inquiete ...
 

Más de Stefano Sanna

Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Stefano Sanna
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldStefano Sanna
 
Android Things Linux Day 2017
Android Things Linux Day 2017 Android Things Linux Day 2017
Android Things Linux Day 2017 Stefano Sanna
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in actionStefano Sanna
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconStefano Sanna
 
Augmented Smartphone
Augmented SmartphoneAugmented Smartphone
Augmented SmartphoneStefano Sanna
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low EnergyStefano Sanna
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidStefano Sanna
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVStefano Sanna
 
NFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniNFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniStefano Sanna
 
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniAndroid & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniStefano Sanna
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappoleStefano Sanna
 
Android Bluetooth Hacking
Android Bluetooth HackingAndroid Bluetooth Hacking
Android Bluetooth HackingStefano Sanna
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open HardwareStefano Sanna
 
Playing with Mobile 2.0
Playing with Mobile 2.0Playing with Mobile 2.0
Playing with Mobile 2.0Stefano Sanna
 
Comunicazione Pervasiva
Comunicazione PervasivaComunicazione Pervasiva
Comunicazione PervasivaStefano Sanna
 
Introduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTIntroduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTStefano Sanna
 
Sensoristica Avanzata per Dispositivi Mobili
Sensoristica Avanzata per Dispositivi MobiliSensoristica Avanzata per Dispositivi Mobili
Sensoristica Avanzata per Dispositivi MobiliStefano Sanna
 

Más de Stefano Sanna (20)

Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical world
 
Android Things Linux Day 2017
Android Things Linux Day 2017 Android Things Linux Day 2017
Android Things Linux Day 2017
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in action
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeacon
 
Augmented Smartphone
Augmented SmartphoneAugmented Smartphone
Augmented Smartphone
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low Energy
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera Android
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TV
 
NFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniNFC: tecnologia e applicazioni
NFC: tecnologia e applicazioni
 
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniAndroid & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioni
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappole
 
Android Bluetooth Hacking
Android Bluetooth HackingAndroid Bluetooth Hacking
Android Bluetooth Hacking
 
Android
AndroidAndroid
Android
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open Hardware
 
Playing with Mobile 2.0
Playing with Mobile 2.0Playing with Mobile 2.0
Playing with Mobile 2.0
 
Sun SPOT
Sun SPOTSun SPOT
Sun SPOT
 
Comunicazione Pervasiva
Comunicazione PervasivaComunicazione Pervasiva
Comunicazione Pervasiva
 
Introduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTIntroduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOT
 
Sensoristica Avanzata per Dispositivi Mobili
Sensoristica Avanzata per Dispositivi MobiliSensoristica Avanzata per Dispositivi Mobili
Sensoristica Avanzata per Dispositivi Mobili
 

HCIM08 - Mobile Applications

  • 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
  • 9. Un mercato immenso Telefoni cellulari venduti (milioni) Source: GARTNER
  • 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
  • 31. Brick Layout Apple iPhone Samsung i600 Sony-Ericsson K800i Nokia E71
  • 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
  • 37. Slide Layout Nokia N810 HTC P4350 Nokia N96
  • 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?
  • 52. Tre problematiche attuali • Navigazione nell’interfaccia grafica • Visualizzazione landscape • Animazioni
  • 53. UI in ambiente desktop
  • 54. Navigazione rapida La vista Exposé di Mac OS X
  • 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
  • 56. Lettura SMS su Nokia S60 Nokia Series 60
  • 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
  • 60. Un primo miglioramento Apple iPhone OS
  • 61. Un primo miglioramento Apple iPhone OS
  • 62. Quattro livelli Apple iPhone OS
  • 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
  • 68. Da testuale a grafico 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
  • 93. Domotica Beppe Grillo http://www.beppegrillo.it
  • 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
  • 98. Internet Computing (server, PC) Mobile Computing Pervasive Computing Capillary Computing
  • 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
  • 104. Riferimenti • Stefano Sanna - email: gerdavax@tiscali.it - blog: http://www.gerdavax.it - Skype: gerdavax