Applicazioni per dispositivi mobili
Transcript
Applicazioni per dispositivi mobili
UNIVERSITA’ DEGLI STUDI DI L’AQUILA FACOLTA’ DI INGEGNERIA Applicazioni per dispositivi mobili: gli strumenti di sviluppo di Flash Lite. Diego Vasarelli Indice degli argomenti trattati. • Introduzione agli Smartphone. • Problematiche dello dispositivi mobili. sviluppo di applicazioni • Mobile User Interface Design Patterns. • La piattaforma Flash Lite. • Sviluppo di una applicazione in Flash Lite. per Cosa si intende per Smartphone. • P.D.A. con funzioni di telefono. • Telefono con funzioni di P.D.A. Alcuni Dati • Fra il 2004 ed il 2005 sono stati venduti più di 12 milioni di apparecchi. • 18,7 milioni di Smartphone Symbian venduti durante il secondo trimestre 2007. Sistemi operativi su Smartphone. •Symbian OS, •Palm OS (PalmSource), •Windows Mobile Pocket PC e Windows Mobile Smartphone (Microsoft), • BlackBarry (RIM), •BREW (Qualcomm), •Linux. Di questi Symbian è oggi il più diffuso con l'80% del mercato. Problematiche dello sviluppo di applicazioni per dispositivi mobili. Studio delle caratteristiche di uno Smartphone (Pro e Contro) •Portabilità •Compatibilità con molti formati di file Pro •Connettività •Schermo ridotto •Potenza computazionale limitata •Memorie minime Le applicazioni per dispositivi mobili devono quindi tener conto di queste limitazioni Contro Mobile User Interface Design Patterns. Design Pattern: modello di programmazione che riassume delle buone soluzioni a problemi che frequentemente vengono affrontati nello sviluppo delle applicazioni. Mobile User Interface Design Pattern: Pattern dedicati allo sviluppo di applicazioni per dispositivi mobili che garantiscano una semplice interazione con l’utente. Mobile User Interface Design Patterns. Mobile User Interface Design Pattern descritti: • List-Based Layout • Table-Based Layout • Menu • Game Navigation • Alphabetic Listing • Softkey and Button Management List-Based Layout. Visualizzare gli elementi in un layout basato su lista. Vantaggio: soluzione compatibile con schermi di diversa natura e dimensioni (liste multiple, scrolling) Limitazione: ogni elemento deve occupare una sola riga per essere ben visibile. Table-Based Layout. Visualizzare informazioni su layout tabellare. Vantaggio: È possibile inserire icone e informazioni di carattere testuale Limitazione: non utilizzabile se il numero di elementi da visualizzare è troppo numeroso per lo schermo utilizzato. Menu. Per la visualizzazione dei menu utilizziamo i postulati dell’HCI. Visualizziamo i comandi in un Menu con alcune accortezze: • Suddividere in gruppi (accesso frequente) • Fornire accesso veloce (numerico) • Per opzioni molto frequenti fornire accesso tramite combinazione di tasti Game Navigation. È necessario gestire efficacemente l’applicazione. Utilizziamo una struttura di navigazione che consenta una facile gestione dell’applicativo. Essa è composta da: • Splash Screen (schermata di accesso) • Game Menu (menu iniziale) • Pause Menu (menu di pausa) In questo modo l’utente gestisce facilmente l’applicazione Alphabetic Listing. L’utente deve poter effettuare una ricerca attraverso una lista numerosa di elementi. Utilizziamo degli elementi di navigazione intermedi: • Tasti del dispositivo • Modulo di ricerca alla pressione del tasto “1” L’utente sa cosa cerca ma non immagina dove sia posizionato, digitando poche lettere ottiene le informazioni cercate. SoftKey and Button Management. Rendere l’applicazione intuitiva per l’utente. Associamo agli elementi dell’interfaccia del dispositivo (SoftKeys) le stesse funzionalità associate dal sistema operativo. Vantaggio: l’utente sa utilizzare il dispositivo e similmente utilizza l’applicazione. Svantaggio: diversi dispositivi associano funzioni diverse alle Softkeys. La piattaforma Flash Lite. (1/2) Versione del Flash Player classico specifica per smartphone e altre device, si basa sul linguaggio proprietario di Macromedia denominato Actionscript. Utilizzato con successo in Giappone (DoCoMo), in Italia e nel resto d'Europa si sta affermando sui dispositivi Nokia, Siemens, Samsung, Lg, e Sony Ericssons. Completa portabilità: • Applicazione non cambia se utilizzata in dispositivi differenti. • Applicazioni possono essere esportate su computer e su web. La piattaforma Flash Lite. Due versioni disponibili: 1.1 e 2.0. Versione 2.0 caratterizzata da: • Supporto completo dell'Actionscript 2.0 • Supporto Video. • Caricamento di dati esterni via XML. • Caricamento esterno di file in formato Swf, Jpg, MP3. • Maggiore velocità d'esecuzione e stabilità del player. (2/2) Caratteristiche della piattaforma Lite. Analizzeremo alcune funzionalità offerte dal player Flash Lite: •Rendering di visualizzazione. •Controlli e navigazione. •Lavorare con file esterni all’applicazione. •Sistem Capabilities. •Pixel Font. •Shared Object. WorldClock realizzato in Flsh Lite. Rendering di visualizzazione. Spesso nelle applicazioni si devono utilizzare le funzionalità del telefono, l’utente potrebbe dover conoscere i dati sul livello di batteria e di ricezione ActionScript permette di: replicare utilizzando le primitive fornite. i dati necessari Fscommand2(“GetSignalLevel”) Fscommand2(“GetMaxSignalLevel”) Fscommand2(“GetBatteryLevel”) Fscommand2(“GetMaxBatteryLevel”) Visualizzazione informazioni telefono con Flash Lite. Controlli e navigazione. Le Softkeys sono normalmente utilizzate dal dispositivo. Per quanto visto è consigliabile utilizzarle nella nostra applicazione con le stesse funzionalità associate dal sistema operativo della periferica Flash Lite mette a disposizione primitive per la gestione dei pulsanti, in particolare: •Classe Key (ver 2.0) gestisce i pulsanti numerici • Primitive per il controllo delle Softkeys Calculator con Flash Lite. System Capabilities. Diversi dispositivi hanno caratteristiche di compatibilità diverse Per evitare il blocco dell’applicazione, Flash Lite utilizza le System Capabilities. System Capabilities: compatibilità del sistema con formati audio e video, modellano anche la capacità di inviare SMS, MMS, e-mail e salvare dati. È presente un array che memorizza le caratteristiche del dispositivo, in modo da poter utilizzare solamente formati compatibili con la periferica. Lavorare con file esterni all’applicazione. Dispositivi mobili hanno memorie ridotte. Le applicazioni in Flash Lite hanno, dunque, un limite massimo di dimensione di 1MB. Per non appesantire troppo la nostra applicazione possiamo decidere di importare dati da sorgenti esterne. Flash Lite 2.0 permette di importare file sonori, di immagini, video, XML. Combinando questa caratteristica con le capabilities descritte prima possiamo ottenere programmi stabili su diverse piattaforme. Pixel Font. Su schermi di dimensioni ridotte è diffcoltoso leggere attraverso l’utilizzo di font standard. Vengono in genere utilizzati pixel font, set di caratteri disegnati pixel per pixel. Immagine di pixel font da BestFlash.com Data la totale assenza di curve, questi font sono gradevoli per la visualizzazione su schermi di dimensioni ridotte Shared Object. Spesso applicazioni complesse necessitano di salvare i dati elaborati durante una sessione di lavoro Flash Lite 2.0 introduce gli Shared Object, utili in caso di • Scrittura dati. • Lettura dati. • Cancellazione dati. Vengono forniti allo sviluppatore metodi per • Capire se un dispositivo permetta l’utilizzo di questa risorsa • Gestire la memoria allocata del dispositivo • Gestire la dimensione di uno Shared object. Sviluppo di una applicazione. (1/3) Il tool utilizzato per sviluppare l’applicazione è Macromedia Flash 8. Esso permette di sviluppare applicazioni Flash dedicate a dispositivi Symbian series 60, include un emulatore che permette di testare la nostra applicazione su diversi tipi di dispositivi. Per evidenziare le scelte di programmazione e visualizzazione finora descritte si è implementata una applicazione poco complessa e funzionale allo scopo prefissatoci. Sviluppo di una applicazione. (2/3) L’applicazione sviluppata è il gioco Memory, che rappresenta un buon esempio di come affrontare le problematiche trattate. Esso consiste nel presentare all’utente una serie di carte coperte che devono essere scoperte a coppie. Se le carte scoperte nascondono lo stesso simbolo allora l’utente può procedere scegliendo altre due carte, in caso contrario devono essere coperte nuovamente. Scopo del gioco è riuscire a trovare tutte le coppie. Sessione di simulazione. (1/5) Appena avviata l’applicazione mostra la schermata di benvenuto (Splash Screen). Vengono mostrate le carte del gioco, l’utente può navigare con il joystick muovendosi tra le carte. Sessione di simulazione. (2/5) Si seleziona una seconda carta. I due simboli visibili sullo schermo non sono uguali, per cui dopo un lasso di tempo vengono nascosti. Se i simboli sono uguali, l’applicazione lascia sullo schermo entrambe le figure. Sessione di simulazione. (3/5) Si sceglie poi di visualizzare il menu “Opzioni”. Le carte e i simboli presenti sullo schermo vengono nascosti. Sessione di simulazione. (4/5) Sarà possibile scegliere una delle tre voci proposte: • “Ricomincia” per incominciare di nuovo lo stesso gioco. • “Nuovo Gioco” per incominciare con un secondo gioco. • “Istruzioni” visualizza una scherma di help. Menu di pausa. Sessione di simulazione. (5/5) Vengono scelte altre carte fin quando tutti i simboli saranno accoppiati e visibili sullo schermo. Compare la schermata di “Complimenti hai vinto” che avvisa della buona riuscita del gioco. Memory. (1/5) In un primo momento sono state disegnate le carte ed i simboli che verranno utilizzati Piano di lavoro fornito da Macromedia Flash 8. Memory. (2/5) Tramite codice ActionScript viene estratto un valore casuale per poter assegnare ad ogni sessione di lavoro dei simboli diversi a ciascuna carta. numero = random(16)+1 if(_root["c"+numero] != 1){ _root["c"+numero] = 1 } else{ call("estrai") } Memory. (3/5) Le scelte effettuate dall’utente vengo gestite attraverso la funzione controlla, che verifica la compatibilità dei simboli scelti. if(clip_selezionato != clip_uno){ _click ++; if(_click == 1){ clip_uno = clip_selezionato; cartauno = carta; valore_uno = valore_selezionato; } if(_click == 2){ if(valore_selezionato ne valore_uno){ _root["simbolo" add clip_uno]._visible = false; _root["simbolo" add clip_selezionato]._visible = false; _root[cartauno]._visible = true; _root[carta]._visible = true; } else { _root[cartauno]._visible = false; _root[carta]._visible = false; coppie++; if(coppie == 8){ vittoria._visible = true; }} _click = 0; clip_uno = 0; cartauno = 0; valore_uno = 0; }} Memory. (4/5) L’applicazione così realizzata implementa il seguente schema di navigazione: • Splash Screen iniziale. • Area di gioco. • Menu di pausa. Memory. (5/5) È tasti ILa Stato visualizzazione Softkey utilizzato sono dei ilstati pixel simboli gestiti fontseguendo e FFF delleReaction carte la logica sfrutta Trial dell’OS per un layout tabellare. Symbian migliorare per la visualizzazione Nokia. delle stringhe di testo. Conclusioni. L’applicazioni sviluppata implementa le soluzioni descritte. Esse sono state realizzate facilmente attraverso il linguaggio Flash, utilizzando i metodi forniti dal tool Macromedia Flash 8. Esportando il file Swf così realizzato su web, si riesce ad interagire con l’applicazione senza perdita di informazioni. L’utilizzo su dispositivi mobili, benché limitato dal joypad di selezione, non risulta difficoltoso, ma molto intuitivo. L’applicazione può essere utilizzata intuitivamente su dispositivi Nokia, grazie alle soluzioni di programmazione adottate l’utente sarà in grado di utilizzarla senza difficoltà.