• Save
Dal palmare all'iPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione.
Upcoming SlideShare
Loading in...5
×
 

Dal palmare all'iPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione.

on

  • 1,449 views

Introduzione al mobile ed alle piattaforme mobili

Introduzione al mobile ed alle piattaforme mobili

Statistics

Views

Total Views
1,449
Views on SlideShare
1,414
Embed Views
35

Actions

Likes
2
Downloads
0
Comments
0

2 Embeds 35

http://caspaolo.blogspot.com 25
http://caspaolo.blogspot.it 10

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dal palmare all'iPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione. Dal palmare all'iPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione. Presentation Transcript

  • + Dal palmare alliPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione. Tecnologie Mobili - Lezione 1 Dr. Paolo Casoto, Ph.D - 2011
  • Docente  Dr. Paolo Casoto, Ph. D.  E-mail: casoto@mobe.it  C.V.:   Laurea Specialistica in Informatica   Dottorato di ricerca in Intelligenza Artificiale   Analista programmatore in Java, .NET, Objective C, Dynamic NAV   “Programmo o cerco di far programmare gli altri” Dr. Paolo Casoto, Ph.D - 2011
  • Sommario  Il mobile computing  Introduzione alle principali piattaforme mobili  Applicazioni   Codici QR   Realtà aumentata   Social media   Commercializzazione di contenuti   Pubblicità e promozione Dr. Paolo Casoto, Ph.D - 2011
  • Mobile Computing  Con il termine mobile computing si identificano tutte le attività informatiche eseguite mediante dispositivi indipendenti dalla specifica posizione dell’utente.   Computer portatili (e.g.: notebook, netbook et al.)   Telefoni cellulari   Palmari e smartphone   Navigatori GPS, fotocamere digitali, lettori mp3  In particolare la tecnologia è enfatizzata sulla possibilità di utilizzo dei dispositivi anche in movimento e con una connettività continua alla rete internet mediante le tecnologie più moderne, quali Wi-Fi, GPRS, UMTS at al. Dr. Paolo Casoto, Ph.D - 2011
  • Scenario tipico di UbiquitousComputing  L’utente raggiunge la propria abitazione in auto. Il computer di bordo dell’auto si collega al computer che controlla l’abitazione ed attiva le luci del giardino.  L’utente raggiunge l’ingresso di casa ed il ricevitore RFID che ha integrato nel proprio telefono cellulare invia un segnale alla porta e ne sblocca la serratura.  L’utente raggiunge la cucina; le luci si accendono automaticamente via via che l’utente passa da una stanza all’altra e successivamente si spengono per ridurre i consumi.  Al tramonto la casa chiude automaticamente le tapparelle ed attiva le luci ambientali. Dr. Paolo Casoto, Ph.D - 2011
  • Scenario tipico di UbiquitousComputing / 2  Naturalmente quello che vi ho descritto è uno scenario limite, ancora futuristico (o almeno non alla portata di tutti).  Ipotizziamo alcuni scenari più comuni di utilizzo delle tecnologie mobili:   Mobile Commerce: e-commerce eseguito dal dispositivo mobile, utilizzando informazioni quali il posizionamento GPS e database cartografici.   Mobile E-Health: utilizzo dei dispositivi mobili per la gestione di informazioni di carattere sanitario o per il monitoraggio degli utenti (e.g.: monitoraggio degli anziani o di pazienti affetti da particolari malattie)   Mobile Government: possibilità di fruire dai dispositivi mobili dei servizi offerti dalle pubbliche amministrazioni. Dr. Paolo Casoto, Ph.D - 2011
  • Limitazioni del Mobile Computing  Scarsità di larghezza di banda   Sistemi wireless WAN lenti (GPRS, UMTS), destinati in primo luogo per luso dei telefono;  Norme di sicurezza  Consumo   Necessità di disporre di batterie che sopperiscano alla mancanza di elettricità, senza inficiare sul peso del dispositivo  Interferenze di trasmissione   Le condizioni atmosferiche e la conformazione del territorio possono comportare problemi di ricezione e trasmissione, soprattutto in ambienti chiusi come gallerie e edifici. Ad esempio nel caso del GPS a Venezia.  Potenziali danni alla salute   Radiazioni emesse da cellulari e reti wireless non sono ancora noti. Dr. Paolo Casoto, Ph.D - 2011
  • Limitazioni del Mobile Computing/2  La principale limitazione è caratterizzata, tuttavia, della particolare tipologia di interazione uomo macchina (HCI) che i dispositivi mobili, con le loro ridotte dimensioni, sono in grado di offrire all’utente.  Schermi di dimensione ridotta, di difficile lettura in ambiente esterno (e.g.: riflesso del sole).  Dispositivi di input lenti o imprecisi, quali tastiere di dimensioni ridotte, tastiere limitate al solo tastierino numerico o tastiere virtuali.   Necessità di introdurre strumenti alternativi di gestione dell’input quale il T9  Dispositivi di input che richiedono lunghe sessioni di apprendimento   Riconoscimento vocale   Riconoscimento della scrittura Dr. Paolo Casoto, Ph.D - 2011
  • Limitazioni del Mobile Computing/3Come potete immaginarel’interazione con l’iPad èsicuramente unica… Dr. Paolo Casoto, Ph.D - 2011
  • Limitazioni del Mobile Computing/4Ma fino a poco tempo falo standard era questo Dr. Paolo Casoto, Ph.D - 2011
  • Alcuni esempi di Interfaccia Utente Dr. Paolo Casoto, Ph.D - 2011
  • Insomma, il mobile è differente Privacy Tastiera completa Postazione di lavoro Connessione veloce Postazione comoda
  • Condizioni ambientali variabiliMobilità Privacy ridotta o assente Display limitati Connettività limitata Radicale cambio di contesto
  • Cambia radicalmente il contesto diinterazione rispetto al PC  Contesto fisico   Dispositivi utilizzati in qualunque ambiente ed in qualunque situazione.  Contesto dell’interazione   Dispositivi utilizzati in contemporanea all’esecuzione di altre attività Dr. Paolo Casoto, Ph.D - 2011
  • Contesto dell’interazione  Utenti di dispositivi mobili sono più soggetti a distrazioni ‒  Notifiche, chiamate, mail, sms. ‒  Interazione con altre persone. ‒  Utenti sempre di corsa.  Modalità di interazione con le applicazioni differenti rispetto alle applicazioni tradizionali (es. chiusura app)  Piattaforme mobili ‒  Offrono meno libertà allutente. ‒  Rendono più semplice lutilizzo ‒  Dovrebbero rendere più semplice l’utilizzo Dr. Paolo Casoto, Ph.D - 2011
  • Contesto socialeUtilizzo in ambienti pubblici Dispositivo quale contenitore di dati personali e sensibili Dr. Paolo Casoto, Ph.D - 2011
  • Cambiano i bisogni informativi degli utenti Informazione puntuale, contestuale e dettagliataContesto mentale Dr. Paolo Casoto, Ph.D - 2011
  • L’utente ha la testa altrove, stafacendo altro in contemporanea Informazioni giuste, nel posto giusto, al momento giusto, nel modo giusto Dr. Paolo Casoto, Ph.D - 2011
  • PC e Mobile a confronto  PC   Dispositivo mobile ‒  Tendenzialmente stazionario ‒  Mobile ‒  Il suo utilizzo è attività ‒  Utilizzato spesso facendo primaria dellutente altro ‒  Usato in comodità ‒  Utilizzato ovunque e in qualunque situazione ‒  Connesso o non connesso ‒  Lo stato della connessione ‒  Piattaforme a lento sviluppo può variare spesso ‒  Necessità informativa ‒  Piattaforme in rapidissimo approfondita sviluppo ‒  Nessun problema di ‒  Necessità informativa mirata alimentazione ‒  La batteria dura 1 giorno Dr. Paolo Casoto, Ph.D - 2011
  • Utenti di corsaMultitasking Interazione di durata limitata (microtasking) Interazione focalizzataModalità di utilizzo Dr. Paolo Casoto, Ph.D - 2011
  • Improbabile scenario applicativoDr. Paolo Casoto, Ph.D - 2011
  • Probabile scenario applicativo Dr. Paolo Casoto, Ph.D - 2011
  • Palmare (2000)  PDA (Personal Digital Assistant) o palmtop.  Computer di dimensioni contenute, tali da essere utilizzato sul palmo di una mano e dotato di uno schermo tattile  Originariamente concepito come agenda elettronica o sistema non particolarmente evoluto.   Orologio, calcolatrice, calendario, rubrica dei contatti, lista di impegni/attività e la possibilità di memorizzare note e appunti.  Evolutosi, a partire dal 1993 (anno di rilascio dell’Apple Newton), fino ad implementare tutte le funzionalità dei moderni computer  Integrazione della di connettività telefonica GSM/GPRS/EDGE/UMTS/ HSDPA   Nascita del concetto di smartphone Dr. Paolo Casoto, Ph.D - 2011
  • Smartphone (2010)  Dispositivo portatile che abbina funzionalità di telefono cellulare a quelle gestione di dati personali (PDA).  Può derivare dallevoluzione di un PDA a cui si aggiungono funzioni di o viceversa, di un telefono mobile a cui si aggiungono funzioni di PDA.   Il dibattito è acceso  Possibilità di installare programmi applicativi, che aggiungono nuove funzionalità a quelle esistenti.  Integrazione della connessione GSM/GPRS/EDGE/UMTS/ HSDPA/HSUPA e delle tecnologie Bluetooth e Wi-Fi per le comunicazioni con altri dispositivi. Dr. Paolo Casoto, Ph.D - 2011
  • L’evoluzione della specie (96 - 01)Nessunafunzione Displaytelefonica monocromatici Chiamate ed SMS Pennino Dr. Paolo Casoto, Ph.D - 2011
  • L’evoluzione della specie (03 - 06) ConnettivitàDisplay a colori Internet TrackpadMemoriaespandibile Fotocamera Multimedialità Dr. Paolo Casoto, Ph.D - 2011
  • L’evoluzione della specie MultitouchConnettivitàInternetevoluta Schermi di grandi dimensioni Semplicità GPS Centinaia di migliaia di Dr. Paolo Casoto, Ph.D - 2011 app…
  • Nel 2010 si stimano nel mondo: Oltre 4.6 miliardi di dispositivi mobili Oltre 5 miliardi di contratti mobileOltre 3.4 miliardi di utenti (metà dellapopolazione mondiale)
  • Dr. Paolo Casoto, Ph.D - 2011
  • Dr. Paolo Casoto, Ph.D - 2011
  • Nei paesi sviluppati quasi metà dellaDr. Paolo Casoto, Ph.D - 2011 popolazione è costantemente connessa
  • Dr. Paolo Casoto, Ph.D - 2011
  • Nel 2010 in Africa il numero di persone che dispongono di un dispositivo mobile è superiore al numero di persone con accesso all’acqua potabileDr. Paolo Casoto, Ph.D - 2011
  • In Sudafrica idispositivi mobili sonoil primo media, con 29milioni di utenti
  • Negli U.S.A.1/3 dei nuovi dispositivi è uno smartphoneSempre negli U.S.A.1/3 dei nuovismartphone è unsistema Android Dr. Paolo Casoto, Ph.D - 2011
  • Gli utenti sono molto chiari sulle preferenze per il loro prossimo smartphone… …e questa scelta si riflette sul mercato…Dr. Paolo Casoto, Ph.D - 2011
  • Cosa vogliono queste persone dal proprio smartphone ?Dr. Paolo Casoto, Ph.D - 2011
  • Messaggi SMS MMS Chat Email Skype Dr. Paolo Casoto, Ph.D - 2011
  • Multimedia Gioco SocialDr. Paolo Casoto, Ph.D - 2011
  • … o semplicemente contro la noiaDr. Paolo Casoto, Ph.D - 2011
  • Oltre il 70% dei giovani cinesi utilizza lo smartphone per navigareProblematicadell’emancipazionefemminile in India Maggior sviluppo della connettività domestica Dr. Paolo Casoto, Ph.D - 2011
  • Maggiore attenzione da parte di utenti di origine asiatica ed ispanicaGruppi etnici con etàmedia inferiore Dr. Paolo Casoto, Ph.D - 2011
  • Perché le persone afroamericane preferiscono il BB?Dr. Paolo Casoto, Ph.D - 2011
  • Gli utenti iOS ed Android tendono ad avere un numero maggiore di app… …ed ad utilizzarle in maniera più integrata con le loro attività giornaliereDr. Paolo Casoto, Ph.D - 2011
  • App = applicazione software in esecuzione all’interno del dispositivo mobileL’innovazione: consentireall’utente di scaricare le appche preferisce Per tutto c’è una app… Dr. Paolo Casoto, Ph.D - 2011
  • App v.s. sito web Dr. Paolo Casoto, Ph.D - 2011
  • Il modello di distribuzione delleapplicazioni  iOS rappresenta la piattaforma di sviluppo più evoluta al momento, tuttavia impone molte restrizioni all’attività degli sviluppatori.  Innanzitutto tutte le applicazioni possono essere installate sui differenti dispositivi esclusivamente previa la piattaforma App Store di Apple. Non è possibile effettuare altre tipologie di installazione   E’ vero in parte, ma non mi dilungo sulla cosiddetta installazione ad hoc  Per poter essere pubblicata all’interno dell’App Store di Apple le applicazioni devono essere validate da un insieme di reviewer, che possono valutarne utilità, caratteristiche tecniche e grafiche ed accettarne o respingerne la pubblicazione.   Il giudizio dei revisori è insindacabile ma non uguale per tutti . Dr. Paolo Casoto, Ph.D - 2011
  • Di app ce ne sono già centinaia di migliaia Servono fortuna, una buona idea, un ottimo progetto e …Trasformare una app in un tanta attività di promozionesuccesso è difficile Dr. Paolo Casoto, Ph.D - 2011
  • Piattaforme per dispositivi mobili  Analizziamo le 7 principali piattaforme di sviluppo di applicazioni per dispositivi mobili attualmente disponibili sul mercato:   Windows CE / Phone 7   J2ME: piattaforma basata sulla tecnologia Java ed attualmente supportata da una vasta gamma di dispositivi, in particolare di fascia medio-bassa (e.g: Nokia, Samsung, LG, Sony-Ericsson).   BlackBerry: estensione di J2ME con l’aggiunta di componenti nativi per lo sviluppo dell’interfaccia grafica e per l’interazione con la piattaforma BlackBerry.   iOS: piattaforma basata su Objective C per lo sviluppo su iPad / iPhone ed iPod Touch. Rappresenta la piattaforma che ha riscosso il maggior successo nel corso degli ultimi anni, con alcuni milioni di nuovi dispositivi venduti in tutto il mondo. Dr. Paolo Casoto, Ph.D - 2011
  • Piattaforme per dispositivi mobili /2   Android: rappresenta la soluzione più innovativa fra quelli disponibili sul mercato, basata su una soluzione open source sviluppata da Google. La piattaforma non si limita ai dispositivi mobili in senso stretto ma sta divenendo una realtà per l’intero mondo della programmazione embedded ed industriale.   Televisioni, schede integrate, dispositivi embedded   Symbian: rappresenta il sistema operativo proprietario utilizzato fino ad oggi dai dispositivi Nokia. Sviluppato nelle due versioni S40 ed S60, il sistema operativo Symbian rappresenta una delle piattaforme più performanti e caratterizzata dalla maggiore libertà di sviluppo per lo sviluppatore   MeeGo – Maemo: successore di Symbian sviluppato da Nokia ed integrato a tecnologie open source su base Linux. Dr. Paolo Casoto, Ph.D - 2011
  • Windows CE / Windows Mobile  Naturalmente, accanto alle piattaforme citate, non può essere dimenticata la famiglia di soluzioni Microsoft per la programmazione di dispositivi mobili.  Sebbene tali piattaforme ricoprano un insieme molto ridotto del mercato degli smartphone (inferiore al 5%), rappresenta lo stato dell’arte nell’ambito dei dispositivi per la logistica e, in generale, dei dispositivi per il supporto alla manifattura.  La piattaforma Windows CE (Compact Edition) rappresenta una versione “ridotta” della versione desktop, in accordo con le specifiche limitazioni dei dispositivi mobili, quali dimensioni dello schermo e potenza di calcolo. Dr. Paolo Casoto, Ph.D - 2011
  • Windows CE / Windows Mobile / 2  La piattaforma Windows Mobile, rappresenta una estensione della piattaforma Windows CE per processori della famiglia ARM (smartphones)  Aggiunge a Windows CE il supporto ad interfacce grafiche più evolute, alla gestione di contenuti multimediali, alla gestione di documenti di Office ed al supporto delle funzionalità tipiche di un dispositivo telefonico   Chiamate, rubrica, invio messaggi SMS ed MMS, et al.  Entrambe le piattaforme consentono lo sviluppo di applicazioni mediante l’adozione di una versione ridotta del framework .NET, denominata Compact Framework. Dr. Paolo Casoto, Ph.D - 2011
  • Windows CE / Windows Mobile / 3  Attualmente Windows CE è alla versione 6.0, mentre Windows Mobile alla versione 6.5  Nell’ottobre 2010 è stata presentata la piattaforma Windows Phone 7.   Radicalmente differente dai suoi predecessori, Windows Phone 7 non presenta alcuna compatibilità con le applicazioni sviluppate per i sistemi precedenti.   Lo sviluppo è basato esclusivamente sulle funzionalità offerte dalla versione 4.0 del framework .NET, con tecnologie differenti da quelle adottate in ambito Windows CE e Windows Mobile.   Include le funzionalità delle piattaforme più moderne ed una interfaccia grafica curata ed arricchita rispetto alla classica interfaccia offerta da Windows Mobile. Dr. Paolo Casoto, Ph.D - 2011
  • Windows CE / Windows Mobile / 4 Dr. Paolo Casoto, Ph.D - 2011
  • La piattaforma J2ME: storia  J2ME: un ritorno alle origini di Java  Storia:   Primi anni ’90: Parte OAK del Green Project Linguaggio OO per dispositivi di consumo (prima idea di “write once, run anywhere”)‫‏‬   1996: Java Card Piattaforma Java per Smart Card   1997: PersonalJava Per dispositivi connessi alla rete, con interfaccia utente   1998: EmbeddedJava Per dispositivi Java integrati: ogni costruttore sceglie le API adatte per la sua applicazione   1999: Spotless System e KVM La più piccola JVM con le funzioni Java di base Dr. Paolo Casoto, Ph.D - 2011
  • J2ME in dettaglio: visione globale Non è un nuovo linguaggio: si “adatta” Java tradizionale alle caratteristiche dei dispositivi mobili  Struttura di j2me:   Configurazioni:   CLDC, con relativi profili  CDC, con relativi profili   Grazie a J2ME è possibile sviluppare per molteplici Piattaforme (e.g.: cellulari, smartphone, TV, et al.). Dr. Paolo Casoto, Ph.D - 2011
  • J2ME in dettaglio: strutturapiattaforma Dr. Paolo Casoto, Ph.D - 2011
  • J2ME in dettaglio: le configurazioniNome Config. Descrizione Dispositivi TargetCLDC Adatta a dispositivi di Processore a 16-32 bit,(Connected consumo con limitate almeno 160KB di memoriaLimited Device capacità. Il cuore è la persistente, almeno 32KConfiguration)‫ ‏‬Virtual Machine KVM non pers., qualche tipo di connessione (es. cellulari, low-end PDAs)‫‏‬CDC Per dispositivi con capacità Processore a 32 bit,(Connected meno restrittive dei almeno 2MB di memoriaDevice precedenti. Il cuore è la totale, qualche tipo diConfiguration)‫‏‬ Virtual Machine CVM connessione (es. high-end PDAs, disp. embedded avanzati)‫‏‬ Dr. Paolo Casoto, Ph.D - 2011
  • J2ME in dettaglio: i profili  Un profilo estende la configurazione su cui si basa, aggiungendo classi adatte al dominio di applicazione  Profili CLDC:   MIDP: il primo e più maturo profilo j2me, adatto allo sviluppo di applicazioni per dispositivi wireless come cellulari e smartphone   PDAP: profilo creato appositamente per PDA, estende MIDP e CLDC per sfruttare le maggiori capacità di questi dispositivi  Profili CDC:   FP – Foundation Profile   PBP – Personal Basis Profile   PP – Personal Profile Dr. Paolo Casoto, Ph.D - 2011
  • Differenze con J2SE (1/2)‫‏‬  Limitazioni di J2ME rispetto a J2SE:   Calcoli in virgola mobile   Fanno un uso intenso del processore   Qui non c’è co-processore matematico   Assenti i tipi float e double, non supportati dal linguaggio   Finalizzazione   Non è possibile dichiare un metodo finalize()‫‏‬   L’overload sarebbe troppo alto in termini di risorse   Gruppi di thread e thread demoni   Non esiste la classe ThreadGroup   I thread sono trattati singolarmente Dr. Paolo Casoto, Ph.D - 2011
  • Differenze con J2SE (2/2)‫‏‬   Gestione delle eccezioni   L’insieme degli errori inclusi in CLDC è limitato: capacità ristretta di gestire eccezioni   Gestione in J2SE molto complessa, è difficile da realizzare con processori limitati   In sistemi embedded il recupero da condizioni di errore è specifico del dispositivo   Interfaccia nativa Java (JNI) non implementata   Implementazione troppo costosa   Non dispone della Reflection Dr. Paolo Casoto, Ph.D - 2011
  • Alcuni esempi di Midlet Dr. Paolo Casoto, Ph.D - 2011
  • Installazione delle applicazioniJ2ME  Per installare la propria applicazione su cellulare supportante java basta copiarla nel dispositivo  Esistono due modi per farlo   Utilizzare il cavetto dati del cellulare   Utilizzare il bluetooth   Utilizzare un metodo di approvigionamento: OTA Dr. Paolo Casoto, Ph.D - 2011
  • La piattaforma BlackBerry  Piattaforma sviluppata dall’azienda canadese R.I.M. destinata principalmente all’utenza business   Consente l’invio e la ricezione della mail in modalità “push”   Non è il telefono ad essere sempre connesso e ricercare la presenza di nuove mail, bensì il gestore del servizio a comunicare la presenza di nuove mail   Rispetto alle altre piattaforme è studiato per ottimizzare le prestazioni ed i servizi anche in presenza di connettività limitata o ridotta.   Un dispositivo BlackBerry utilizza, generalmente, un terzo della connettività richiesta dagli altri dispositivi per accedere ai medesimi servizi.  Opera su una rete riservata, utilizzando un protocollo a livello di trasporto proprietario, compresso e criptato.   Vi ricordate i livelli ISO/OSI delle prime lezioni? Dr. Paolo Casoto, Ph.D - 2011
  • La piattaforma BlackBerry / 2  Attualmente alla versione 6.0, sebbene sul mercato risultino ancora più numerosi i dispositivi con piattaforma 4.x e 5.x  Nato per l’invio di e-mail, il BlackBerry si distingue per la presenza su quasi tutti i modelli della tastiera qwerty completa, espressamente studiata per essere utilizzata con i pollici.   Fanno eccezione i modelli della serie STORM, dotati di interfaccia touch screen  Fortemente legata alla rete GSM/UMTS ed all’operatore, a causa delle specifiche caratteristiche legate alla connettività, la piattaforma è caratterizzata dalla possibilità di controllare molteplici dispositivi, le loro impostazioni ed i loro aggiornamenti in modalità centralizzata.   BES: Blackberry Enterprise Server Dr. Paolo Casoto, Ph.D - 2011
  • Lo sviluppo di appliazioni perpiattaforma BlackBerry  La piattaforma BlackBerry mette a disposizione degli sviluppatori due differenti approcci allo sviluppo di applicazioni:   BlackBerry Web Development: insieme di strumenti e librerie per il supporto allo sviluppo di siti web ed applicazioni Javascript + HTML + CSS (definite Widget) ottimizzate per l’esecuzione all’interno del dispositivo BlackBerry.   Soluzione adatta allo sviluppo di siti destinati alla fruizione di servizi aziendali (e.g.: porting di una applicazione web esistente all’interno dell’azienda).   BlackBerry Java Development: insieme di strumenti di sviluppo di midlet J2ME (MIDP 2.0), le quali possono utilizzare un insieme di funzionalità accessorie proprie del dispositivo, grazie all’integrazione delle BlackBerry Java API. Dr. Paolo Casoto, Ph.D - 2011
  • BlackBerry Java API  Consentono allo sviluppatore di applicazioni l’accesso ad un notevole insieme di funzionalità:   Integrazione con le applicazioni native per la gestione dei contatti, del calendario, per l’invio di mail e messaggi e per la visualizzazione di mappe   Possibilità di esecuzione in background delle applicazioni, le quali possono anche essere collegate alle funzionalità di notifica push delle e-mail   Possibilità di implementare con facilità strumenti di Instant Messaging   Integrazione con tutti i sensori ed i dispositivi di connessione disponibili all’interno del dispositivo, quali Bluetooth, Wi-Fi, GPS, connessione 3G/UMTS. Dr. Paolo Casoto, Ph.D - 2011
  • BlackBerry Java API – InterfacciaGrafica  Un ulteriore innovazione rispetto allo sviluppo di applicazioni J2ME è rappresentato dalla presenza di un ricco insieme di componenti per la realizzazione di interfacce grafiche evolute.  Rispetto al modello J2ME, basato sul concetto di Canvas o su soluzioni alternative quali LWUIT, le API rese disponibili dalla BlackBerry Java API consentono lo sviluppo di applicazioni del tutto simili nell’aspetto e nell’interazione alle funzionalità base del dispositivo.  In aggiunta le API della piattaforma consentono l’integrazione di componenti multimediali, quali immagini e contenuti audio e video. Dr. Paolo Casoto, Ph.D - 2011
  • L’interfaccia grafica BlackBerry Dr. Paolo Casoto, Ph.D - 2011
  • iOS – Sviluppare per iPhone / iPad  Sistema operativo su base Linux per la gestione dei dispositivi Apple, giunto alla versione 4.2  Rilasciato nel 2007, ha subito numerose estensioni ed aggiornamenti al fine di renderlo sempre più evoluto ed aderente alle nuove funzionalità offerte dall hardware Apple  Programmabile grazie all iPhone SDK, un insieme di librerie che gli sviluppatori possono utilizzare per dar vita alla loro applicazioni personalizzate.  Basato sull utilizzo dei linguaggi Objective C, per l interazione di alto livello e C per le chiamate di basso livello. Dr. Paolo Casoto, Ph.D - 2011
  • iOS – Sviluppare per iPhone / iPad2  Consente l accesso a tutti i sensori disponibili a bordo del dispositivo e di tutte le possibili forme di connettività in modo quasi trasparente   GPS, bussola, giroscopio, sensore di luminosità.  Consente la gestione avanzata di contenuti audio e video, con possibilità di interazione con le eventuali sorgenti input (una o più videocamere) disponibili all interno del dispositivo.  Consente l interazione con gli apparati hardware per l accelerazione dei contenuti grafici OpenGL, garantendo la possibilità di sviluppare veri e propri videogames mobili. Dr. Paolo Casoto, Ph.D - 2011
  • iOS – Sviluppare per iPhone / iPad3  Integrazione con la piattaforma di distribuzione di contenuti pubblicitari iAd di Apple, grazie alla quale lo sviluppatore può inserire all interno del proprio applicativo banner informativi e pubblicitari.  Possibilità di distribuire agli utenti contenuti a pagamento (App Purchase) che l utente può acquistare dall interno dell applicativo utilizzando le credenziali di pagamento del proprio account iTunes.  Possibilità di interagire e scambiare dati via Bluetooth con altri dispositivi Apple, ad esempio per consentire la creazione di applicazioni social. Dr. Paolo Casoto, Ph.D - 2011
  • Android  Non è un telefono   Ma una piattaforma software   Utilizzata su molti telefoni  Stack software open source per dispositivi mobili   Sistema operativo   Middleware   Applicazioni chiave  Linguaggio   Java   Dalvik, macchina virtuale per dispositivi embedded Dr. Paolo Casoto, Ph.D - 2011
  • Android: dispositivi Dr. Paolo Casoto, Ph.D - 2011
  • Android: promotori  Open handset alliance   Imprese di software: Google, Ebay,   Produttori telefonini: HTC, LG, Motorola, Samsung   Operatori: NTT DoCoMo, T-mobile, Telecom, Telefonica   Imprese dei semiconduttori: Intel, Nvidia, Texas Instruments  Attualmente alle versione 2.3, GingerBread, ma con un mercato molto eterogeneo di dispositivi e versioni disponibili Dr. Paolo Casoto, Ph.D - 2011
  • Android: distribuzione del mercato Android 1.5 6.3% Android 1.6 10.6% Android 2.1 39.6% Dr. Paolo Casoto, Ph.D - 2011 Android 2.2 43.4%
  • Caratteristiche  Indipendenti dallhardware   Application framework, permette riuso e sostituzione di ogni componente   Dalvik virtual machine   Browser integrato, basato sul motore open source WebKit (Safari)   Grafica ottimizzata 2D e 3D (OpenGL ES)   SQLite per memorizzazione strutturata dei dati   Supporto media (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  Dipendenti dallhardware   GSM   Bluetooth, 3G, WiFi   Fotocamera, videocamera, GPS, bussola, accelerometri Dr. Paolo Casoto, Ph.D - 2011
  • Architettura Dr. Paolo Casoto, Ph.D - 2011
  • Architettura / 2  Kernel   Linux version 2.6   Sicurezza, gestione memoria, gestione processi, stack di rete, driver   Abstraction layer tra lhardware e il resto del sistema operativo   Implementa i driver per il controllo di schermo, fotocamera, videocamera, USB, tatiera, bluetooth, wifi, memoria flash, audio, gestione energia at al. Dr. Paolo Casoto, Ph.D - 2011
  • Architettura / 3  Runtime   Librerie base   Maggior parte delle funzionalità di J2SE   Dalvik VM   Dispositivo può eseguire più istanze della VM in modo efficiente   Ciascuna applicazione Android viene eseguita in un suo processo, con la propria istanza di macchina virtuale   la Dalvik VM esegue files nel formato Dalvik Executable (.dex) Dr. Paolo Casoto, Ph.D - 2011
  • Architettura / 4  Librerie   Forniscono i principali servizi cui il programmatore può fare riferimento per lo sviluppo delle sue applicazioni personalizzate  Application Framework: insieme di servizi e componenti di sistema   Views: interfaccia grafica   Content Providers: accesso e condivisione di dati   Resource Manager: accesso a risorse esterne, come stringhe di testo localizzato, immagini, file di layout   Notification Manager: visualizza notifiche personalizzate   Activity Manager: gestisce il ciclo di vita delle applicazioni e fornisce un sistema comue di navigazione nella GUI  Applicazioni standard Dr. Paolo Casoto, Ph.D - 2011
  • Android e J2ME a confronto  J2ME   Vecchia generazione telefoni cellulari   Macchina virtuale + API dispositivi mobili   Si appoggia su sistemi operativi esterni   In teoria write one run everywhere ... in realtà ogni produttore ha un proprio standard  Android   Sistema operativo + macchina virtuale + API + applicazioni   Forte integrazione tra alto e basso livello   Applicazioni non monolitiche , ma costituite da piccoli blocchi autonomi Dr. Paolo Casoto, Ph.D - 2011
  • Android ed iPhone a confronto / 1 Categoria iPhone AndroidDispositivo iPhone / iPad / iPhond Touch Molti, caratteristiche diverse (tastiera, schermo piccolo/grande)Diffusione Alta Media (ma crescita più rapida)Costo Alto Varia (più basso di iPhone)Programmazione Mac - Objective C Ovunque - Java Pochi formati di dispositivi Tanti dispositivi molto differentiAggiornamenti Aggiornamento di dispositivo Spesso troppo frequenti, fanno invecchiare velocemente i dispositiviAperto? No Completamente aperto e customizzabile (applicazioni, interfaccia, ...)Multitouch Si Alcuni dispositiviMarket > 200k app – chiuso e validazione app > 100k applicazioni – aperto, meno controlloMultitasking Dal 4, solo per alcune applicazioni Desktop style (mail...). Ridurre impatto su batteriaReattività Sempre fluida (sacrificato multitasking) Generalmente sempre fluido, ma dipende dalla situazioneUser experience Dr. Paolo Casoto,studiata a 360 gradi Ottima e Ph.D - 2011 Si incominciano a vedere risultati
  • Android ed iPhone a confronto / 2 Dr. Paolo Casoto, Ph.D - 2011
  • Symbian  Sistema operativo per dispositivi mobili prodotto da Symbian Foundation alla fine degli anni 90.  Inizialmente adottatto da Nokia, Sony Ericcson, Samsung ed LG, dal 2008 è interamente di proprietà di Nokia che ne ha rilasciato i sorgenti come progetto Open Source.  Attualmente alla versione 9.4, consente lo sviluppo mediante un opportuna libreria Nokia denominata Nokia SDK, basata sulle librerie QT   Symbian è alquanto complesso da programmare poichè basato sul linguaggio ad oggetti C++, con una particolare attenzione all utilizzo della memoria.  Esiste una versione innovativa della piattaforma, denominata Release 3.0, utilizzata esclusivamente dal dispositivo Nokia N8.  Seppur anziano ad oggi è, grazie alla diffusione di Nokia, ancora il leader del mercato, con oltre il 42% di dispositivi. Dr. Paolo Casoto, Ph.D - 2011
  • Symbian: caratteristiche  Funzionalità di multithreading, multitasking e protezione della memoria.   Possibilità di realizzare applicativi e servizi in background, che rimangono attivi anche quando non sono visualizzati sul display del dispostivo.   Integrazione completa con tutte le funzionalità del dispositivo (oltre al classico modello sandbox adottato nel caso delle applicazioni J2ME ed iOS).  Basato su eventi, consente la disattivazione della CPU non vi sono eventi attivi   Il corretto uso di questa tecnica consente un maggiore durata delle batterie. Dr. Paolo Casoto, Ph.D - 2011
  • Symbian: dispositivi Dr. Paolo Casoto, Ph.D - 2011
  • Maemo – MeeGo  Maemo è una piattaforma di sviluppo creata da Nokia per equipaggiare i propri smartphone in sostituzione a Symbian, oramai non più comparabile con i diretti competitor.  Basato su una infrastruttura Linux, Maemo riprende molte delle tecnologie Linux adottate tipicamente nelle soluzioni desktop, quali le librerie grafiche GTK del progetto GNOME.  A causa della somiglianza con la piattaforma Linux desktop e della disponibilità del codice sorgente, il porting di applicazioni tradizionali su Maemo è una operazione abbastanza semplice   Molti software open source, come Open Office, possono essere utilizzati anche su Maemo Dr. Paolo Casoto, Ph.D - 2011
  • Maemo – MeeGo / 2  Supporta le principali funzionalità dei dispositivi mobili precedentemente analizzate, con una particolare attenzione all interazione con i dispositivi di tipo touch.  Dalle prossime versioni la piattaforma sarà integrata con un altra piattaforma per dispositivi mobili basata su Linux, la piattaforma MeeGo.   Piattaforma comune Nokia, Intel e Novell, finalizzata a rappresentare in futuro lo standard per la programmazione mobile Linux.   Attualmente supportata esclusivamente da alcuni dispositivi Nokia e da alcuni dispositivi embedded, quali televisioni e tablet. Dr. Paolo Casoto, Ph.D - 2011
  • Maemo – MeeGo / 3 Dr. Paolo Casoto, Ph.D - 2011
  • QR-Code  Un codice QR (in inglese, QR Code) è un codice a matrice (o codice a barre bidimensionale) creato dalla corporation giapponese Denso-Wave nel 1994.  Il "QR" deriva da "Quick Response" (Risposta Rapida), poiché il creatore pensava ad un codice che consentisse una rapida decodifica del suo contenuto.  I codici QR sono maggiormente comuni in Giappone e sono attualmente il più popolare tipo di codice bidimensionale in quel paese.  Leggibile da molteplici software disponibili per le principali tipologie di dispositivi cellulari dotati di fotocamera Dr. Paolo Casoto, Ph.D - 2011
  • Utilizzi della tecnologia QR  Possibili utilizzi dei codici QR   Promozione, advertising   Etichettatura e tracciamento di prodotti alimentari   Giochi ed interazione sociale   Veicolazione di contenuti Web su dispositivi per i quali la digitazione dell indirizzo URL è critica. Dr. Paolo Casoto, Ph.D - 2011
  • Augmented Reality  Sovrapposizione di livelli informativi (elementi virtuali e multimediali, dati geolocalizzati, ecc.) allesperienza reale di tutti i giorni.  Gli elementi che "aumentano" la realtà possono essere aggiunti attraverso un device mobile, un PC, dispositivi di visione e di manipolazione (occhiali e guanti VR) che aggiungono informazioni multimediali alla realtà.  Il sovrapporsi di elementii reali e virtuali crea una "Mixed Reality". Dr. Paolo Casoto, Ph.D - 2011
  • Augmented Reality / 2  Usata in ambiti molto specifici:   Ambito militare   Ambito medicale   Ricerca accademica.  Campagne di comunicazione augmented advertising pubblicate sui giornali o sulla rete  Trovare informazioni rispetto al luogo in cui ci si trova (e.g.: alberghi, bar, ristoranti, stazioni della metro)  Trovare i Twitters vicini;  Ritrovare la macchina parcheggiata  Innovative modalità di gioco (e.g. Caccia al tesoro) o di interazione informativa (e.g.: messaggistica). Dr. Paolo Casoto, Ph.D - 2011
  • Augmented Reality / 3 Dr. Paolo Casoto, Ph.D - 2011
  • Cosa abbiamo visto insieme  Introduzione alla programmazione di dispositivi mobili   Introduzione Generale   Windows CE / Mobile / Phone 7   J2ME   BlackBerry   iOS   Android   Symbian   Maemo – MeeGo Dr. Paolo Casoto, Ph.D - 2011
  • Cosa abbiamo visto insieme  Applicazioni   Codici QR   Realtà aumentata   Social media   Commercializzazione di contenuti   Pubblicità e promozione Dr. Paolo Casoto, Ph.D - 2011