[#WPDEV] 1. Conoscere la piattaforma

right-HERO_MANGO_062411Quando decidiamo di sviluppare una applicazione per una piattaforma mobile, la cosa più sensata da fare è cercare di sfruttarne le caratteristiche principali ed i punti di forza. Ogni piattaforma è diversa dalle altre, con tutti i relativi pro e contro del caso.

Iniziando la progettazione di una applicazione senza avere ben chiare queste caratteristiche e senza avere una visione globale del sistema su cui essa girerà, aumenta il rischio di realizzare applicazioni di scarso successo.

Anche se questo può sembrare banale e scontato, guardando diverse applicazioni presenti all’interno del Marketplace si nota come l’attinenza alla piattaforma non è affatto una cosa scontata. Ci sono infatti diverse applicazioni in cui è evidentemente stato fatto un semplice porting da altre piattaforme. Per questioni di correttezza, non andrò a citare le suddette applicazioni, ma vi invito, la prossima volta che usate una qualsiasi applicazione, a fare caso a quante di esse, ad esempio, usano dei bottoni per spostarsi tra le pagine o mostrano delle pou-up “iPhone” style.

Acquisire conoscenza della piattaforma, secondo me, significa prendere contatto con il dispositivo, usando per quanto possibile le funzionalità del sistema operativo e le applicazioni fornite in bundle che, spesso, si attengono alle linee guida da usare anche nelle nostre applicazioni.

Lavorando su Windows Phone 7, per comprendere a fondo novità come Panorama, Pivot e Live Tile (solo per rimanere in ambito di User Interface), non c’è niente di meglio che usare il device, navigare ad esempio tra i contatti, usare la posta elettronica, navigare tra le immagini o la musica o usare Office. Semplicemente osservando dettagliatamente il comportamento di questi elementi, si riescono a capire molte delle potenzialità del sistema che potremmo usare nelle nostre applicazioni.
Non ci credete?
Facciamo allora qualche esempio (riferito a Windows Phone 7.5).

 

 

People

1614.WpTkOct10-LongListSelector-JumpList

Aprendo i contatti, si accede al relativo Panorama che mostra, come prima schermata, tutti i contatti in cui c’è la vostra foto con l’ultimo status condiviso e, subito in basso, i gruppi. Scorrendo verticalmente la lista, verranno visualizzati i contatti in ordine alfabetico, raggruppati per lettera. Cliccando su una qualsiasi lettera, verrà aperta la “jump list” da cui è possibile passare direttamente alla lettera desiderata.

Una finezza che è possibile trovare sia nell’elenco dei contatti che nella lista delle applicazioni, è che, scorrendo la lista, la lettera corrente resta ancorata in cima alla pagina, fino alla lettera successiva. Implementare questo tipo di controlli non è complicatissimo (lo vedremo tra qualche post) ma spesso non viene fatto.

Sempre all’interno dei contatti, è possibile vedere il funzionamento del controllo panorama. Su questo non mi dilungo in quanto è stato già trattato e, il controllo, è incluso nei template standard di Visual Studio.

Panorama e Pivot, come più volte detto, rappresentato un nuovo concetto di navigazione all’interno delle proprie applicazioni. Usarli nelle nostre applicazioni è immediato ed a costo zero ma ci sono tante app che o non li usano, o li usano in modo errato.

Pinnando poi un qualsiasi contatto nella home del device, si può apprezzare il concetto di live tile. Abbiamo subito accesso alle info del contatto o, semplicemente guardando la home, possiamo subito vedere se ci sono novità che riguardano il contatto stesso. Il back della tile ci mostra infatti queste informazioni.

Su Windows Phone 7.5, abbiamo la possibilità anche noi di sfruttare a pieno tutte le funzionalità delle tile. Funzionalità di cui molte applicazioni possono trarre giovamento.

 

Posta Elettronica

Avete provato ad usare la posta elettronica su Windows Phone 7.5? La conversation view permette di raggruppare tutti i messaggi appartenenti alla stessa conversazione. Anche questo tipo di controllo è disponibile per le nostre applicazioni e, anche qui, ce ne sono diverse che ne potrebbero trarre giovamento.

 

 

Live Tile

WP_000132Ho già fatto un accenno alle Live Tile parlando dei contatti ma, di scenari in cui le live tile possono tornare davvero utili, ce ne sono moltissimi.

Questo nuovo elemento ha il vantaggio di poter mostrare, ai nostri utenti, una serie di informazioni senza dover necessariamente aprire l’applicazione. Ci sono già svariate applicazioni meteo, ad esempio, che permettono di avere, sempre a portata di mano sulla home del device, le previsioni della propria città. Con l’arrivo delle multi tile, si potranno ad esempio avere previsioni per diverse città.

Pensate a quanto possano essere utili le live tile nelle applicazioni che state sviluppando. La domanda che in genere mi pongo, quando penso ad una applicazione per Windows Phone è: quali info mi sarebbe comodo avere sempre a disposizione? Provate farvela anche voi e capirete quanto le live tile possano esservi utili.

 

Altro

Usando il device, ci si renderà sempre più conto di come sono strutturate le funzionalità del sistema operativo. Animazioni, transizioni, struttura dei controlli e delle pagine, sono tutte cose a cui prestare la massima attenzione. Dopo aver letto questo post, se avete sotto mano un device, provate a fare caso alle applicazioni che state usando ed alle differenze che esse hanno rispetto all’usabilità del telefono. Personalmente mi è capitato di notare parecchie differenze che, magari, a prima vista non si notano.

Volete un esempio pratico?
Prendete il vostro device e cliccate sull’icona del Marketplace. Cliccate su App, scorrete a destra e cliccate su “tutte”. Osservate l’animazione con cui vengono presentati i risultati. Ora, navigate nelle vostre applicazioni ed osservate quante di esse usano le animazioni per popolare le liste.

 

Fin qui, mi sono limitato a parlare di aspetti relativi all’interfaccia utente. Aspetti che poi rappresentano il punto di contatto tra il vostro lavoro e gli utenti che usano la vostra applicazione. Ma la conoscenza della piattaforma deve necessariamente comprendere anche le API esposte dal sistema operativo e quindi sfruttabili anche da noi.

Per approfondire questo argomento, non c’è niente di meglio della documentazione ufficiale.

 

Conclusioni

Per concludere questo primo post, il consiglio che posso darvi quando volete iniziare a sviluppare su Windows Phone è: pensate alla vostra applicazione, usate il device per capire i paradigmi legati alla UI e cercate nella documentazione le API che vi servono. Solo in questo modo avrete sotto mano tutti gli elementi per iniziare la progettazione.