Take Me Back e lo sviluppo con Windows Phone 7 in OzoSoftware

di Alessio Leoncini, in Silverlight,

Lo scorso anno Microsoft ha annunciato le nuova piattaforma mobile, Windows Phone 7, e che l'ambiente di sviluppo si sarebbe programmata in Silverlight.
Da fan di Silverlight mi sono subito entusiasmato dal poter sviluppare applicazioni con le mie tecnologie preferite: poter realizzare le applicazioni che ho sempre desiderato su un dispositivo da portare sempre con me era fantastico, chi non l'ha sognato!

Come MVP di Silverlight sono in contatto quotidianamente con il team di sviluppo di Silverlight e Windows Phone 7 attraverso la newsletter interna, il team è sempre molto attivo e ci tiene sempre informati sull'andamento dello sviluppo chiedendo al gruppo dei partecipanti feedback e suggerimenti sulle direzioni che stanno prendendo.
Grazie a loro ho avuto la possibilità di studiare e di lavorare con le build intermedie di Windows Phone 7, e anche di studiare intimamente gli aspetti più specifici dello sviluppo sul dispositivo, grazie anche alla portabilità delle mie conoscenze su Silverlight.

Così come me, anche Marco, Cristian e Daniele, da appassionati di XAML e WPF si sono fatti prendere dalla voglia di portare le proprie capacità su applicazioni mobile e nelle nostre call settimanali, legate alla gestione di ASPItalia, le divagazioni su Windows Phone 7 erano sempre frequenti e "invadenti": l'entusiasmo era sempre altissimo e con esse il divertimento di confrontare i test che avevamo fatto nei nostri studi.

In modo del tutto automatico e quasi in contemporanea è nata l'idea di concretizzarci in un nome, in un gruppo, a cui dedicarci metodicamente alla creazione di applicazioni Windows Phone 7, e qualche mese fa è nato OzoSoftware.

Presi un po' dal sogno americano di pensare che le nostre applicazioni fossero scaricate da migliaia di utenti, e anche dal desiderio di approfondire le metodologie di sviluppo specifiche per Windows Phone 7 in applicazioni reali, abbiamo iniziato a raccogliere le nostre idee cercando quella migliore che potesse portarci ad un'applicazione utile per le persone ma anche ricca di funzionalità che ci permettesse di approfondire la gestione delle nuove caratteristiche del framework mobile.

Da questo brain-storming abbiamo concretizzato l'idea di Take Me Back: un'applicazione per tracciare la posizione dell'auto quando la parcheggiamo e ci allontaniamo verso i luoghi di altre attività, gite o lavoro, con la possibilità di memorizzare anche il punto e il tempo di arrivo alla destinazione.

Facendo riferimento alle esperienze quotidiane abbiamo voluto aggiungerci la possibilità di registrare la scadenza del parchimetro, in modo da poter essere informati della sua scadenza attraverso le push notification, cioè delle notifiche che l'utente può ricevere anche ad applicazione chiusa. Tutto questo ci ha permesso di studiare l'interazione con il GPS e con la rappresentazione delle varie posizioni sul controllo che visualizza le mappe di Bing oltre alla gestione del calcolo del percorso tra i punti, del nome della località attraverso i servizi di Bing e soprattutto della gestione di tutti questi dati nei confronti degli stati del sistema, a seguito di chiusura e riattivazione dell'applicazione: il tombstoning.

Abbiamo deciso di gestire i servizi per le notifiche attraverso un Worker Role di Azure, così abbiamo sfruttato le nostre conoscenze di Azure impiegandole in un uso concreto per l'app.

Inoltre, l'applicazione permette di condividere la posizione dell'auto nei social network di Facebook, Twitter e anche in SMS: in questo modo abbiamo studiato le problematiche di interazione con i servizi di queste piattaforme aggiungendo un valore di divertimento alla nostra applicazione, così tutti i nostri amici sanno dove parcheggiamo :)

Infine, abbiamo voluto implementare tutte le nostre funzionalità all'interno di un'interfaccia in linea con lo stile del telefono, in modo da valutare "con mano" le linee guida di design che Microsoft ha descritto con estrema precisione, per capire anche se tali linee guida ponessero dei limiti alla nostra creatività.

Nel corso dello sviluppo grafico ci siamo resi conto che abbiamo potuto seguire lo stile METRO anche aggiungendo le nostre idee su alcune maschere, e questo è stato molto piacevole perché abbiamo veramente apprezzato lo sforzo di Microsoft nell'avere studiato METRO come stile efficace al buon utilizzo del telefono e quindi delle applicazioni.

Il risultato è stato eccellente ed è confortato costantemente dai complimenti che ci fanno gli utenti che provano l'applicazione e anche da Microsoft stessa, che ci ha approvato "al primo colpo" la pubblicazione sul MarketPlace, anche per gli aggiornamenti che abbiamo fatto, segno che abbiamo fatto un buon lavoro anche a livello di codice nell'utilizzo delle risorse.

Sono molto contento di quanto abbiamo realizzato e di come lo abbiamo fatto: abbiamo lavorato in team impiegando le migliori caratteristiche di ciascuno di noi, ma ci siamo anche scambiati in alcune implementazioni a supporto l'uno dell'altro; abbiamo iniziato a programmare dopo aver prodotto un mokup interattivo che ci è stato di riferimento in ogni fase; ci siamo confrontati costantemente sulle scelte architetturali e sulle implementazioni di ciascuno, cercando di mantenere equo il livello di comprensione di tutti; abbiamo applicato i principi di unit testing ove necessario e abbiamo gestito il tutto con Team Foundation Server come source control e tracking dei bug in sviluppo. È stato veramente un lavoro interessante, ringrazio i mei compagni per la passione, per l'impegno, per la competenza e per la pazienza, elementi chiave di una buona collaborazione e di un buon risultato finale. E adesso.. un bel gioco in XNA! :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese