[#wp7] Smoked by Windows Phone

7. aprile 2012

wp_logo

Per chi non lo sapesse, Smoked by Windows Phone è una simpatica iniziativa (commerciale) fatta da Microsoft che, nei Microsoft Store, mette in competizione Windows Phone con altri device (qui maggiori info). In pratica, si concordando le operazioni da eseguire e, chi arriva prima, vince la gara. Il premio però va a chi perde A bocca aperta .

Qualche giorno fa, quasi involontariamente, la stessa competizione si è svolta in pausa pranzo con alcuni colleghi.

Eravamo in 4 in un locale dotato di WiFi gratuita. Chiediamo la chiave per collegarci e ci consegnano un foglio con una chiave di una 40ina di caratteri. Fuori i telefoni:

  • 2 Windows Phone
  • 1 Android
  • 1 iPhone

 

I proprietari dei rispettivi Android e iPhone, aprono i rispettivi settings, trovano la rete wireless ed iniziano a digitare la lunga password. Come spesso accade con password così lunghe, si perde spesso il segno, si sbaglia qualche carattere etc. Alla fine, per accedere alla wireless, ci hanno messo non meno di un paio di minuti.

Io ed il mio collega con Windows Phone invece, abbiamo:

  • sbloccato il device
  • premuto il pulsante cerca
  • cliccato su “vision”
  • cliccato su “cerca testo” inquadrando la lunga password
  • selezionata e copiata
  • aperti i settings della WiFi
  • Incollata la password copiata

 

Tempo totale: non più di una ventina di secondi A bocca aperta

Direi…decisamente Smoked by Windows Phone.

Ovviamente, soprattutto da parte dell’infelice proprietario dell’iPhone, c’è stata la classica obiezione: “ci sarà sicuramente una app che lo fa”.

Certo, ci mancherebbe. Ma bisogna cercarla, tra le tante che escono bisogna scaricare quelle che sembrano migliori, provarle e trovare quella che soddisfa al meglio le esigenze. Ci sono app che fanno la stessa cosa anche su Windows Phone ma, avere la soluzione nativa, integrata, veloce e sempre disponibile è sicuramente molto molto più comodo Sorriso

Windows Phone 7

[#wp7dev] .NET Campus 2012

4. aprile 2012

 

.NET Campus

.NET Campus 2012 è un evento tecnico gratuito per sviluppatori organizzato dal gruppo DevLeap in collaborazione con il gruppo dei Microsoft Student Partner e le Community italiane più attive per fornire a studenti e aziende sessioni tecniche tenute da speaker di fama nazionale e internazionale.

La terza edizione si svolge a Roma il 21 aprile 2012.

Quest’anno avrò il piacere di partecipare come speaker con una sessione su Windows Phone 7, in cui vi racconterò un po’ di “tips” utili allo sviluppo su questa piattaforma.

Di seguito alcune “features” della conferenza.

  • 48 sessioni tecniche tenute da speaker di fama nazionale e internazionale fra cui alcuni autori dei più importanti testi su .NET per MS Press
  • Sei track tecnici con sessioni su Web, Data, Windows 8, Gaming, Windows Phone 7, Language, Application Lifecycle Management
  • Un track dedicato alle donne con sessioni tecniche e di orientamento tenute da speaker del gentil sesso
  • Un track dove gli sponsor possono presentare i loro programmi di recruiting oltre al contenuto tecnico
  • Tre laboratori guidati su Windows Phone 7 e Windows Azure

Nella sezione Social del sito

  • Puoi pubblicare il tuo profilo per farti conoscere ed essere contattato dagli sponsor
  • Trovi gli annunci di lavoro degli sponsor sul sito: puoi segnalare la tua candidatura direttamente dal sito.
  • Concorso “progetti e idee”: il migliore verrà premiato con uno stage retribuito in Avanade
  • Sul sito, nella sezioni media, trovi tutto il materiale per fare promozione

Corri a iscriverti: la conferenza è completamente gratuita e ricordati di portare il tuo curriculum!

Gli iscritti sono già 1900 quindi…correte ad iscrivervi per non perdere questa fantastica occasione!!!

Windows Phone 7, Conferenze, Eventi

[#WP7DEV] 8 Must-Have Tools for Windows Phone 7 Development

24. gennaio 2012

QUI trovate una interessante raccolta di tool da avere se sviluppate su Windows Phone.

image

 

Fonte: 8 Must-Have Tools for Windows Phone 7 Development
Mon, 23 Jan 2012 13:33:41 GMT

Windows Phone 7

[#WPDEV] 5. TESTARE DURANTE LO SVILUPPO

2. novembre 2011

Se c’è una cosa importante quando sviluppate un software è il testing. Come tante affermazioni, questa può sembrare scontata ma, credetemi, non lo è affatto.
E non sto parlando di Unit Testing quanto di vero e proprio test funzionale e di usabilità dell’applicazione che state andando a sviluppare.

Se avete seguito i punti precedenti di questa serie di articoli, a questo punto avrete già sviluppato una buona parte del vostro codice. Le prime pagine avranno preso forma ed i primi dati avranno iniziato a popolare le vostre form. A questo punto vi porgo una domanda: quanti di voi hanno installato la propria applicazione sul dispositivo? Quanti di voi hanno iniziato ad usare le funzionalità già sviluppate?

In genere, la risposta che ottengo a questa domanda è NO.

Ed i motivi che giustificano questa risposta sono sintetizzabili in questa affermazione:

NO perché l’applicazione NON E’ COMPLETA

Se la vostra risposta è riconducibile a quella riportata qui sopra, state sbagliando qualcosa e, questo errore, potrebbe farvi perdere davvero molto tempo per finalizzare l’applicazione.

Se state lavorando su una applicazione amatoriale, questa situazione potrebbe non essere un problema. Ma se state lavorando per una applicazione commerciale, per cui è previsto un lancio, potreste perdere parecchie ore di sonno.

Ma vediamo il perchè, spesso, si arriva alla risposta di sopra.

In generale, il problema nasce nel momento in cui, partendo dal vostro disegno di cui abbiamo parlato qui, decidete come dividere lo sviluppo. E’ in questa fase che si commette il primo vero errore, ossia quello di lavorare sui parti dell’applicazione tra loro slegate. Come potete facilmente intuire, lavorando su parti tra loro slegate, non sarà mai possibile testare un ramo dell’applicazione.

Quando decidete cosa sviluppare, fatelo seguendo una logica che vi permetta di completare un ramo dell’applicazione che sia installabile su un dispositivo ed usabile.
Personalmente, usando la metafora di un albero, mi piace partire dalle foglie di un ramo per arrivare a completarlo. Quando il ramo è completo, passo al ramo successivo.

Dato che, come ho detto all’inizio, per questioni di correttezza non parlerò di applicazioni di terze parti, prendo come esempio la mia applicazione StickyNotes.

Lo scopo principale dell’applicazione è quello di prendere note. Dopo aver abbozzato il disegno dell’applicazione e l’interazione tra le pagine, decisi ovviamente di iniziare lo sviluppo dalla parte di creazione / editing e cancellazione della nota.

Qui in basso una bozza del disegno (preferisco lavorare con carta e penna su certe cose Smile )

WP_000263 

Lo sviluppo dell’interazione completa, compresa grafica e funzionalità accessorie, avrebbe richiesto un certo tempo di sviluppo così, per evitare di mettere “troppa carne al fuoco”, decisi di sviluppare prima la parte core di creazione e cancellazione della nota.

Appena completata questa parte, installai l’app sul device e, mentre lavoravo ad altre funzionalità di contorno, iniziai ad usare l’applicazione notando che:

  • tornare alla nota appena creata al salvataggio era scomodo e poco intuitivo
  • non avere un feedback dell’avvenuto salvataggio disorientava
  • dover cancellare ogni volta titolo e testo era palloso
  • la cancellazione senza conferma era pericolosa
  • il testo nelle note non andava a capo
  • il testo nella nota non era selezionabile

Oltre a questi primi punti, ne emersero altri di minore importanza.

Dopo qualche giorno di utilizzo REALE del ramo dell’applicazione, decisi di sistemare questi dettagli che erano emersi durante l’uso e ricominciai nuovamente ad usare l’app.

Questo genere di testing è stato svolto per svariate volte prima di passare alle funzionalità successive.

Cosa sarebbe successo se avessi testato tutto alla fine?

Non è difficile immaginare che:

  • sarei arrivato a rilasciare una applicazione poco usabile
  • avrei ritardato di parecchio il rilascio per sistemare tutti i problemi di usabilità

 

Il mio consiglio è quello di scegliere BENE l’ordine delle cose da sviluppare, mettendovi sempre nella condizione di chiudere una funzionalità in modo che sia installabile sul device ed usabile per intero per qualche giorno.

Fate inoltre molta attenzione nel non cadere nel tranello dell’emulatore!!!!
Sento spesso da molti dire: testo nell’emulatore. Che va benissimo fino ad un certo punto ma l’emulatore non può permettervi di testare l’applicazione in condizioni di utilizzo reali (e mi riferisco a condizioni ambientali).

Un esempio?

Provate ad usare la vostra applicazione con una mano, mentre con l’altra portate un peso (come una busta della spesa).

La usate comodamente? (e credetemi, la risposta non è sempre SI Winking smile )

Windows Phone 7

Ciao

23. ottobre 2011

simoncelli-1987-2011

New FREE e-book: Windows Phone Toolkit In Depth

11. ottobre 2011

Rilasciato un ebook gratuito dal titolo: Silverlight for Windows Phone Toolkit In Depth:

  • 246 Pages
  • Published Date: 11 Oct 2011
  • Includes all controls from the Windows Phone Toolkit Aug 2011!
  • 22 Chapers!
  • Full Source Code
  • Based on Windows Phone 7.1 Mango!

 

Download: here: http://windowsphonegeek.com/WPToolkitBook
Fonte: New FREE e-book: Windows Phone Toolkit In Depth

Windows Phone 7

[#WPDEV] 4. NON REINVENTARE LA RUOTA

7. ottobre 2011

Eccoci al quarto post di questa serie. Nel primo, abbiamo parlato della piattaforma per poi dare una lettura alle linee guida nel secondo post ed arrivare al terzo con il disegno della nostra applicazione.

A questo punto, dovreste avere già iniziato a sviluppare l’embrione della vostra applicazione. I primi panorami dovrebbero aver iniziato a prendere forma ed i primi collegamenti alle pagine dovrebbero iniziare a funzionare.

Come detto all’inizio, lo scopo di questa serie di post non è quella di scendere in dettagli tecnici sul come fare le cose (in giro ci sono decine di guide ed esempi e non è mia intenzione ripetermi) quindi, passiamo al punto successivo che è appunto: NON REINVENTARE LA RUOTA.

E questo non si riferisce alle funzionalità della vostra applicazione quanto a tutto quello che le farà da contorno, come animazioni, controlli particolari e simili. La mia convinzione a questo proposito è che, sebbene come sviluppatori siamo tenuti a sapere come vanno fatte le cose, se ci sono dei controlli che permettono di farci risparmiare tempo, ben vengano (abbiamo più tempo per concentrarci su aspetti più importanti).

Ciò premesso, ecco una serie di risorse che potrebbero farvi risparmiare un bel po’ di tempo e, allo stesso tempo, rendere la vostra applicazione molto più “cool”:

  • Silverlight Toolkit: è in genere la prima referenza che aggiungo ai miei progetti Windows Phone. Tra i controlli che vi troverete a disposizione (e sono un bel po’), ne troverete alcuni (come HubTile) che, con poco sforzo, vi permetteranno di cambiare radicalmente l’aspetto di alcune parti della vostra applicazione. Provate, ad esempio, ad aggiungere semplicemente il TiltEffect ai vostri controlli per vedere immediatamente la differenza.
  • Coding4Fun Tools: se vi servono poup up, bottoni, colori etc., dategli uno sguardo.
  • Phoney Tools: all’interno di questi tools, troverete controlli come fadingMessage, Microphone recorder etc. che, asseconda del tipo di applicazione su cui state lavorando, potrebbero fornirvi un grosso aiuto nello sviluppo.

 

Oltre questi controlli, comodissimi, gratuiti e facili da utilizzare, ci sono pacchetti a pagamento molto molto interessanti. Quello che personalmente mi sento di consigliarvi è senza dubbio Telerik RadControls per Windows Phone.

I controlli in esso contenuti sono davvero molto accattivanti, ben disegnati, semplici da usare e ad un costo davvero contenuto. Provate a dare uno sguardo a cosa contengono e provate a pensare a quanto tempo possono farvi risparmiare.

Di controlli, oltre quelli da me segnalati, ce ne sono davvero molti. Se avete qualche suggerimento, contattatemi ed aggiornerò la lista.

Ricapitolando, il mio consiglio è quello di studiare il modo in cui si fanno animazioni, controlli custom etc. ma, a meno di non avere esigenze specifiche, non perdete tempo a riscrivervi pezzi che esistono già e sono sicuramente più testati dei vostri.

In conclusione, a prescindere dal tipo di controlli che andrete a scegliere, fate attenzione a non esagerare con quello che mettete nelle vostre applicazioni. Il troppo storpia, anche in questo caso.

Buon proseguimento!

Windows Phone 7

[#WPDEV] 3. Disegnare l’applicazione

30. settembre 2011

WP_2-line_red_rgbNei precedenti post abbiamo parlato dell’importanza di acquisire familiarità con la piattaforma e di conoscere le linee guida relative allo sviluppo per Windows Phone (ma lo stesso discorso vale per tutte le altre piattaforme). Questo studio preliminare ci ha portato a conoscere l’ambiente su cui verrà installata la nostra applicazione e come la nostra applicazione dovrà essere, a grandi linee, disegnata.

A questo punto, è arrivato il momento di iniziare a progettare concretamente la nostra applicazione.

Il come, lascio a voi sceglierlo. Io prediligo carta e penna (si, lo so, ci sono altri sistemi…ma a me viene meglio così). Se volete usare strumenti evoluti che vi permettano, tra l’altro, di simulare la vostra applicazione, non posso che suggerirvi  i template di SketchFlow per Windows Phone. La scelta dello strumento però, esula dallo scopo di questo post.

Una volta deciso come disegnare, iniziate a buttare giù un disegno della pagina che ritenete principale e pensate a quali contenuti dovranno essere presenti.

La prima domanda da porsi è: qual’è il modo migliore per presentare questi elementi? Potrebbero essere rappresentati in una lista? Come contenuto di tile?

Definito questo primo aspetto, dobbiamo capire se le informazioni ci conviene metterle in una pagina singola, in un panorama o in un pivot. Questa scelta è strettamente legata al tipo di applicazione che andrete a realizzare.

Una volta completata la bozza della prima pagina, arriva il primo, vero esercizio su cui dovrete ragionare seriamente. Ponetevi le seguenti 2 domande:

  • dove arrivo cliccando sugli elementi di questa pagina?
  • come arrivo a questa pagina?

 

La risposta a queste due domande, da ripetere per ogni pagina che andrete a disegnare, vi permetterà non solo di disegnare in modo logico la vostra applicazione, ma anche di avere un quadro completo delle relazioni tra le vostre pagine e capire quali relazioni non funzionano correttamente. Spesso, in questa fase, emergono infatti passaggi articolati per arrivare da una sezione all’altra oppure relazioni assenti tra pagine importanti.

Per discriminare le relazioni corrette da quelle potenzialmente errate o problematiche, è necessario conoscere il sistema di navigazione di Windows Phone (è qualcosa con cui avete preso contatto semplicemente usando il device).

A tal fine, vi consiglio la lettura di questo articolo, in cui sono presenti una serie di riferimenti da consultare per approfondire. Volendo sintetizzare al massimo, il modello di navigazione di Windows Phone è composto da uno stack in cui vengono inserite le pagine in cui arriviamo muovendoci all’interno dell’applicazione. Stack che può essere “navigato” premendo il tasto back del device.

Questo modello di navigazione, all’inizio, può portare ad uno degli errori più comuni che si possono prevedere (e risolvere) disegnando per bene l’applicazione: la navigazione circolare.

Supponiamo di avere 3 pagine: A, B e C e di strutturare l’applicazione in modo che dalla pagina A si possa andare alla B, dalla B alla C e dalla C alla A (tipico caso di un wizard che ci riporta alla pagina principale alla fine dell’inserimento dei dati). Cosa succede quando, tornati alla pagina A, premiamo il tasto back sul nostro device?


Source: Solving Circular Navigation in Windows Phone Silverlight Applications

La soluzione la trovate qui.

E questa è solo una delle problematiche che possono emergere. Quello a cui, dovreste arrivare, almeno in questa prima fase, è avere una situazione simile a questa:


Source: Application Page Model for Windows Phone

La conoscenza delle corrette relazioni tra le pagine, credetemi, potrebbe farvi risparmiare qualche ora di lavoro in caso di errori di valutazione nella loro disposizione. Correggere questo tipo di errori in questa fase è decisamente molto molto più comodo che farlo in fase di sviluppo, quando parte della logica è già stata implementata.

Alla fine, dovreste arrivare ad una disegno di questo tipo:

IC505433
Source: Implementing Windows Phone Application Design

La vostra applicazione ha preso finalmente forma. Non sarà sicuramente quella definitiva in quanto, in fase di sviluppo, emergono sempre dettagli che, sulla carta, non sono stati considerati. Ma questo è sicuramente un buon punto di partenza per avere una applicazione che abbia un flusso di navigazione pulito ma che, soprattutto, vi mette al riparo da una serie di problematiche inaspettate.

Se avete già sviluppato applicazioni per Windows Phone (che non siano semplici visualizzazioni master/detail di dati) di una minima complessità, provate a ripensare a quanto tempo avreste potuto risparmiare con uno schema di navigazione sotto mano.

Anche per questo post, è tutto.

Buon lavoro!

Windows Phone 7

[#ITWPC11] [#WPDEV] WPC 2011

29. settembre 2011

WPC 2011 è, da 18 anni, per i professionisti dell'ICT, un momento di formazione d'elevato profilo. Il più importante evento italiano di formazione professionale sulle tecnologie Microsoft.

L'edizione 2011 si svolgera' dal 22 al 24 Novembre ad Assago (MI).

WPC e' rivolto a tutti i professionisti ICT, agli sviluppatori, ai sistemisti, ai consulenti IT, ai manager:

  • 3 giornate
  • 6 track parallele
  • piu' di 60 speaker
  • piu' di 90 sessioni


Quest'anno, sul palco di WPC, saranno sicuramente tante le novita' e, ne siamo sicuri, molte cambieranno il modo di sviluppare e di presentare le applicazioni.
Cominciamo con il nuovo sistema operativo Windows 8 che verra' presentato per la prima volta nel mese di Settembre, negli Stati Uniti, durante la conferenza Build. Sicuramente l'attesa e' alta e, fino a quei giorni, nemmeno WPC potra' svelare dettagli in anteprima.

Oltre a Windows 8, ci saranno tanti altri argomenti caldi come SQL Server, HTML5, Cloud ed ovviamente Windows Phone!

Anche quest’anno avrò l’onore di partecipare come speaker con una sessione su Windows Phone 7.5 (Mango) Smile

Stiamo definendo proprio in questi giorni i dettagli della sessione ma, quello che posso dirvi, è che sarà di taglio molto pratico e sicuramente utile a chi vuole sviluppare su Windows Phone.

E' disponibile anche l'applicazione ufficiale per Windows Phone sul Marketplace: questa prima versione vi permette di tenervi aggiornati sulle ultime novità, una volta che l'agenda sarà completata verrà rilasciato un aggiornamento più "corposo" che vi permetterà di pianificare al meglio la conferenza, dandovi la possibilità di avere l'agenda a portata di mano.

Tutte le info le trovate sul sito della conferenza http://www.wpc2011.it/

Mi raccomando!!! Non mancate!!!

Windows Phone 7, Windows, Eventi, Conferenze

[#WPDEV] Creare screenshot del panorama in Windows Phone

28. settembre 2011

Da quando ho messo on line la pagina di relativa a StickyNotes, più di una persona mi ha chiesto come realizzare l’immagine completa del panorama.

Come immagino abbiate notato infatti, gli elementi del panorama su Windows Phone si muovono in modo diverso (parallax scrolling) tra di loro, e questo crea un piacevole effetto di movimento. Effetto però che ci fa penare quando abbiamo la necessità di fare uno screenshot completo.

Cercando on line una soluzione, sono arrivato a questo articolo che spiega molto bene come risolvere.

L’idea alla base di tutto parte dal una analisi (molto furba) del funzionamento degli elementi del panorama. Questo infatti è composto da una serie di elementi diversi (PanningTitleLayer e PanningBackgroundLayer) che derivano da PanningLayer. Esso ha una proprietà chiamata PanRate che definisce il livello di scrolling di ogni elemento.

Capito questo, è facile dedurre come, settando il valore del PanRate uguale per tutti gli elementi, si risolva il nostro problema nel fare gli screenshot Smile

Seguite quindi i passi descritti nell’articolo, lanciate l’app nell’emulatore, fate i vostri screenshot ed assemlateli con un programma di grafica.

Buon divertimento.

Windows Phone 7 , ,