+    Dal palmare alliPhone. Il mobile    computing e le sue applicazioni nel    mondo della comunicazione.    Tecnologie M...
Docente  Dr. Paolo        Casoto, Ph. D.  E-mail: casoto@mobe.it  C.V.:      Laurea Specialistica in Informatica     ...
Sommario  Il   mobile computing  Introduzione             alle principali piattaforme mobili  Applicazioni    Codici Q...
Mobile Computing    Con il termine mobile computing si identificano tutte le     attività informatiche eseguite mediante ...
Scenario tipico di UbiquitousComputing    L’utente raggiunge la propria abitazione in auto. Il computer di     bordo dell...
Scenario tipico di UbiquitousComputing / 2    Naturalmente quello che vi ho descritto è uno scenario     limite, ancora f...
Limitazioni del Mobile Computing    Scarsità di larghezza di banda         Sistemi wireless WAN lenti (GPRS, UMTS), dest...
Limitazioni del Mobile Computing/2    La principale limitazione è caratterizzata, tuttavia, della particolare tipologia  ...
Limitazioni del Mobile Computing/3Come potete immaginarel’interazione con l’iPad èsicuramente unica…        Dr. Paolo Caso...
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                       ...
Condizioni             ambientali variabiliMobilità                                       Privacy                         ...
Cambia radicalmente il contesto diinterazione rispetto al PC    Contesto fisico         Dispositivi utilizzati in       ...
Contesto dell’interazione    Utenti di dispositivi mobili sono più soggetti a distrazioni     ‒         Notifiche, chiama...
Contesto socialeUtilizzo in ambienti pubblici                                           Dispositivo quale contenitore     ...
Cambiano i bisogni                                              informativi degli utenti                                  ...
L’utente ha la testa altrove, stafacendo altro in contemporanea                               Informazioni giuste, nel pos...
PC e Mobile a confronto    PC                                         Dispositivo mobile     ‒    Tendenzialmente stazio...
Utenti di corsaMultitasking                                                Interazione di                                 ...
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 utiliz...
Smartphone (2010)    Dispositivo portatile che abbina funzionalità di telefono     cellulare a quelle gestione di dati pe...
L’evoluzione della specie (96 - 01)Nessunafunzione                                     Displaytelefonica                  ...
L’evoluzione della specie (03 - 06)                                                             ConnettivitàDisplay a colo...
L’evoluzione della specie                                                MultitouchConnettivitàInternetevoluta            ...
Nel 2010 si stimano nel mondo:        Oltre 4.6 miliardi di dispositivi        mobili        Oltre 5 miliardi di contratti...
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 acc...
In Sudafrica idispositivi mobili sonoil primo media, con 29milioni di utenti
Negli U.S.A.1/3 dei                                         nuovi dispositivi è uno                                       ...
Gli utenti sono molto                                chiari sulle preferenze                                per il loro pr...
Cosa vogliono queste persone dal  proprio smartphone ?Dr. Paolo Casoto, Ph.D - 2011
Messaggi                                           SMS                                      MMS                           ...
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 ...
Maggiore attenzione da                                    parte di utenti di origine                                    as...
Perché le persone                                afroamericane preferiscono il                                BB?Dr. Paolo...
Gli utenti iOS ed Android                                      tendono ad avere un                                      nu...
App = applicazione software                                          in esecuzione all’interno del                        ...
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, t...
Di app ce ne sono già                                 centinaia di migliaia                                             Se...
Piattaforme per dispositivi mobili    Analizziamo le 7 principali piattaforme di sviluppo di     applicazioni per disposi...
Piattaforme per dispositivi mobili /2     Android: rappresenta la soluzione più innovativa fra quelli      disponibili su...
Windows CE / Windows Mobile    Naturalmente, accanto alle piattaforme citate, non può essere     dimenticata la famiglia ...
Windows CE / Windows Mobile / 2    La piattaforma Windows Mobile, rappresenta una estensione     della piattaforma Window...
Windows CE / Windows Mobile / 3    Attualmente Windows CE è alla versione 6.0, mentre     Windows Mobile alla versione 6....
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 ...
J2ME in dettaglio: visione globale Non è un nuovo linguaggio: si “adatta” Java tradizionale alle caratteristiche dei disp...
J2ME in dettaglio: strutturapiattaforma    Dr. Paolo Casoto, Ph.D - 2011
J2ME in dettaglio: le configurazioniNome Config.          Descrizione                    Dispositivi TargetCLDC           ...
J2ME in dettaglio: i profili    Un profilo estende la configurazione su cui si basa,     aggiungendo classi adatte al dom...
Differenze con J2SE (1/2)‫‏‬    Limitazioni di J2ME rispetto a J2SE:         Calcoli in virgola mobile            Fanno...
Differenze con J2SE (2/2)‫‏‬     Gestione delle eccezioni        L’insieme degli errori inclusi in CLDC è limitato: capa...
Alcuni esempi di Midlet    Dr. Paolo Casoto, Ph.D - 2011
Installazione delle applicazioniJ2ME    Per installare la propria applicazione su cellulare     supportante java basta co...
La piattaforma BlackBerry    Piattaforma sviluppata dall’azienda canadese R.I.M. destinata     principalmente all’utenza ...
La piattaforma BlackBerry / 2    Attualmente alla versione 6.0, sebbene sul mercato risultino     ancora più numerosi i d...
Lo sviluppo di appliazioni perpiattaforma BlackBerry    La piattaforma BlackBerry mette a disposizione degli     sviluppa...
BlackBerry Java API    Consentono allo sviluppatore di applicazioni l’accesso ad un     notevole insieme di funzionalità:...
BlackBerry Java API – InterfacciaGrafica    Un ulteriore innovazione rispetto allo sviluppo di     applicazioni J2ME è ra...
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 a...
iOS – Sviluppare per iPhone / iPad2    Consente l accesso a tutti i sensori disponibili a bordo del     dispositivo e di ...
iOS – Sviluppare per iPhone / iPad3    Integrazione con la piattaforma di distribuzione di contenuti     pubblicitari iAd...
Android    Non è un telefono         Ma una piattaforma software         Utilizzata su molti telefoni    Stack softwar...
Android: dispositivi    Dr. Paolo Casoto, Ph.D - 2011
Android: promotori    Open handset alliance         Imprese di software: Google, Ebay,         Produttori telefonini: H...
Android: distribuzione del mercato                                    Android 1.5   6.3%                                  ...
Caratteristiche    Indipendenti dallhardware         Application framework, permette riuso e sostituzione di ogni       ...
Architettura    Dr. Paolo Casoto, Ph.D - 2011
Architettura / 2    Kernel       Linux  version 2.6       Sicurezza, gestione memoria, gestione processi,        stack ...
Architettura / 3    Runtime         Librerie base         Maggior parte delle funzionalità di J2SE         Dalvik VM  ...
Architettura / 4    Librerie         Forniscono i principali servizi cui il programmatore può fare          riferimento ...
Android e J2ME a confronto    J2ME         Vecchia generazione telefoni cellulari         Macchina virtuale + API dispo...
Android ed iPhone a confronto / 1    Categoria                          iPhone                                       Andro...
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.    Iniz...
Symbian: caratteristiche    Funzionalità di multithreading, multitasking e protezione     della memoria.         Possibi...
Symbian: dispositivi    Dr. Paolo Casoto, Ph.D - 2011
Maemo – MeeGo    Maemo è una piattaforma di sviluppo creata da Nokia per     equipaggiare i propri smartphone in sostituz...
Maemo – MeeGo / 2    Supporta le principali funzionalità dei dispositivi mobili     precedentemente analizzate, con una p...
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 co...
Utilizzi della tecnologia QR    Possibili utilizzi dei codici QR         Promozione, advertising         Etichettatura ...
Augmented Reality    Sovrapposizione di livelli informativi (elementi virtuali e     multimediali, dati geolocalizzati, e...
Augmented Reality / 2    Usata in ambiti molto specifici:         Ambito militare         Ambito medicale         Rice...
Augmented Reality / 3    Dr. Paolo Casoto, Ph.D - 2011
Cosa abbiamo visto insieme  Introduzione            alla programmazione di dispositivi mobili     Introduzione Generale ...
Cosa abbiamo visto insieme  Applicazioni   Codici QR   Realtà aumentata   Social media   Commercializzazione di conte...
Upcoming SlideShare
Loading in...5
×

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

1,317

Published on

Introduzione al mobile ed alle piattaforme mobili

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,317
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. + Dal palmare alliPhone. Il mobile computing e le sue applicazioni nel mondo della comunicazione. Tecnologie Mobili - Lezione 1 Dr. Paolo Casoto, Ph.D - 2011
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Limitazioni del Mobile Computing/3Come potete immaginarel’interazione con l’iPad èsicuramente unica… Dr. Paolo Casoto, Ph.D - 2011
  10. 10. Limitazioni del Mobile Computing/4Ma fino a poco tempo falo standard era questo Dr. Paolo Casoto, Ph.D - 2011
  11. 11. Alcuni esempi di Interfaccia Utente Dr. Paolo Casoto, Ph.D - 2011
  12. 12. Insomma, il mobile è differente Privacy Tastiera completa Postazione di lavoro Connessione veloce Postazione comoda
  13. 13. Condizioni ambientali variabiliMobilità Privacy ridotta o assente Display limitati Connettività limitata Radicale cambio di contesto
  14. 14. 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
  15. 15. 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
  16. 16. Contesto socialeUtilizzo in ambienti pubblici Dispositivo quale contenitore di dati personali e sensibili Dr. Paolo Casoto, Ph.D - 2011
  17. 17. Cambiano i bisogni informativi degli utenti Informazione puntuale, contestuale e dettagliataContesto mentale Dr. Paolo Casoto, Ph.D - 2011
  18. 18. 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
  19. 19. 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
  20. 20. Utenti di corsaMultitasking Interazione di durata limitata (microtasking) Interazione focalizzataModalità di utilizzo Dr. Paolo Casoto, Ph.D - 2011
  21. 21. Improbabile scenario applicativoDr. Paolo Casoto, Ph.D - 2011
  22. 22. Probabile scenario applicativo Dr. Paolo Casoto, Ph.D - 2011
  23. 23. 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
  24. 24. 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
  25. 25. L’evoluzione della specie (96 - 01)Nessunafunzione Displaytelefonica monocromatici Chiamate ed SMS Pennino Dr. Paolo Casoto, Ph.D - 2011
  26. 26. L’evoluzione della specie (03 - 06) ConnettivitàDisplay a colori Internet TrackpadMemoriaespandibile Fotocamera Multimedialità Dr. Paolo Casoto, Ph.D - 2011
  27. 27. L’evoluzione della specie MultitouchConnettivitàInternetevoluta Schermi di grandi dimensioni Semplicità GPS Centinaia di migliaia di Dr. Paolo Casoto, Ph.D - 2011 app…
  28. 28. 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)
  29. 29. Dr. Paolo Casoto, Ph.D - 2011
  30. 30. Dr. Paolo Casoto, Ph.D - 2011
  31. 31. Nei paesi sviluppati quasi metà dellaDr. Paolo Casoto, Ph.D - 2011 popolazione è costantemente connessa
  32. 32. Dr. Paolo Casoto, Ph.D - 2011
  33. 33. 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
  34. 34. In Sudafrica idispositivi mobili sonoil primo media, con 29milioni di utenti
  35. 35. 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
  36. 36. 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
  37. 37. Cosa vogliono queste persone dal proprio smartphone ?Dr. Paolo Casoto, Ph.D - 2011
  38. 38. Messaggi SMS MMS Chat Email Skype Dr. Paolo Casoto, Ph.D - 2011
  39. 39. Multimedia Gioco SocialDr. Paolo Casoto, Ph.D - 2011
  40. 40. … o semplicemente contro la noiaDr. Paolo Casoto, Ph.D - 2011
  41. 41. 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
  42. 42. Maggiore attenzione da parte di utenti di origine asiatica ed ispanicaGruppi etnici con etàmedia inferiore Dr. Paolo Casoto, Ph.D - 2011
  43. 43. Perché le persone afroamericane preferiscono il BB?Dr. Paolo Casoto, Ph.D - 2011
  44. 44. 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
  45. 45. 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
  46. 46. App v.s. sito web Dr. Paolo Casoto, Ph.D - 2011
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. Windows CE / Windows Mobile / 4 Dr. Paolo Casoto, Ph.D - 2011
  55. 55. 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
  56. 56. 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
  57. 57. J2ME in dettaglio: strutturapiattaforma Dr. Paolo Casoto, Ph.D - 2011
  58. 58. 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
  59. 59. 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
  60. 60. 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
  61. 61. 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
  62. 62. Alcuni esempi di Midlet Dr. Paolo Casoto, Ph.D - 2011
  63. 63. 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
  64. 64. 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
  65. 65. 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
  66. 66. 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
  67. 67. 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
  68. 68. 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
  69. 69. L’interfaccia grafica BlackBerry Dr. Paolo Casoto, Ph.D - 2011
  70. 70. 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
  71. 71. 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
  72. 72. 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
  73. 73. 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
  74. 74. Android: dispositivi Dr. Paolo Casoto, Ph.D - 2011
  75. 75. 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
  76. 76. 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%
  77. 77. 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
  78. 78. Architettura Dr. Paolo Casoto, Ph.D - 2011
  79. 79. 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
  80. 80. 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
  81. 81. 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
  82. 82. 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
  83. 83. 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
  84. 84. Android ed iPhone a confronto / 2 Dr. Paolo Casoto, Ph.D - 2011
  85. 85. 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
  86. 86. 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
  87. 87. Symbian: dispositivi Dr. Paolo Casoto, Ph.D - 2011
  88. 88. 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
  89. 89. 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
  90. 90. Maemo – MeeGo / 3 Dr. Paolo Casoto, Ph.D - 2011
  91. 91. 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
  92. 92. 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
  93. 93. 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
  94. 94. 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
  95. 95. Augmented Reality / 3 Dr. Paolo Casoto, Ph.D - 2011
  96. 96. 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
  97. 97. Cosa abbiamo visto insieme  Applicazioni   Codici QR   Realtà aumentata   Social media   Commercializzazione di contenuti   Pubblicità e promozione Dr. Paolo Casoto, Ph.D - 2011

×