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