Droidcon Italia 2014: resoconto della conferenza

Droidcon torino 2014Il 6 e 7 Febbraio si è svolta a Torino la prima edizione italiana di DroidCon, la più importante conferenza europea dedicata ad Android che si è già tenuta anche a Berlino, Londra, Parigi, Amsterdam e altre città europea. Noi di CoseNonJaviste eravamo presenti con un talk che ho tenuto io il secondo giorno. La conferenza è stata un successo, 400 partecipanti e tanti talk interessanti. Ci sono stati alcuni speaker internazionali e ovviamente tanti italiani, gli argomenti trattati sono stati molti, alcuni legati allo sviluppo su Android e altri a aspetti meno tecnici come l’internet of things e gli accessori wearable. Vediamo nel dettaglio come è andata e cosa ci è piaciuto di più di questi due giorni molto intensi.

Mark Allison e gli speaker internazionali

Iniziamo da uno dei talk che secondo me hanno reso questa conferenza imperdibile per chi sviluppa su Android. Lo speaker internazionale più atteso era senza dubbio Mark Allison di stylingandroid.com, le aspettative sono state ripagate ampiamente, il suo talk su Graphical Magic é stato interessante e presentato molto bene. Da oggi non ho più scuse per non usare Porterduff su Android. Da notare la splendida maglietta che ha sfoggiato nei due giorni con il logo del suo blog sul davanti e il sorgente sul retro della maglia, si proprio il sorgente android con un RelativeLayout con dentro un TextView con un drawableTop!

Oltre a Mark Allison erano presenti altri speaker provenienti da tutta Europa. Da segnalare sicuramente Jamie McDonald e Matthias Käppler di Soundcloud, il secondo ha parlato di RxJava un framework che porta la programmazione funzionale su Android. Un approccio un po’ diverso dal solito ma molto interessante, probabilmente diventerà ancora più interessante quando uscirà Java 8 (sperando di poterlo utilizzare presto su Android).

Erano presenti anche diversi sviluppatori di Novoda, uno di questi Xavi Rigau ha parlato dei test con Espresso. Questo framework sviluppato dagli ingegneri di Google permette di scrivere in modo semplice i test da eseguire sui device. Uno dei grossi vantaggi che porta è quello di agganciarsi ai thread in background per capire quando c’è in esecuzione qualcosa e quindi aspettare la conclusione prima di controllare gli assert.

Altri talk interessanti sono stati quello di Sonia Sharma di Google che ha parlato di accessibilità delle app Android, quello di Mateusz Herych sulla ricerca full text su db sqlite e quello di Hasan Hosgel che ha mostrato delle best practices da usare per supportare più tipologie di device. Infine Cesar Valiente ha parlato di cosa ha imparato lavorando allo sviluppo di una app Android che secondo me è fatta veramente bene: Wunderlist.

Anche gli italiani si sono dati da fare

Gli speaker italiani ovviamente erano presenti al gran completo. Il primo talk della giornata è stato quello di Stefano Sanna (coautore di Android programmazione avanzata) che ha parlato di come sfruttare al massimo lo smartphone per migliorare una applicazione Android. Molto interessante la parte sul geofencing che permette di sapere, senza consumare troppa batteria, se l’utente è vicino a determinati punti.

Purtroppo non ho visto dal vivo il talk di Massimo Carli (autore di Android 4: guida per lo sviluppatore) che ha parlato di varie librerie sviluppate per creare l’app Android di Daily Mail.

Nel suo talk Mario Viviani ha mostrato alcuni consigli per creare una Killer App parlando non solo di sviluppo software ma anche di come sfruttare al massimo il Play Store. Forse qualcuno si ricorda il primo mitico articolo di CoseNonJaviste Android Market How To che, ormai tre anni fa, parlava di questo argomento. Erano altri tempi, si chiamava Android Market e non Play Store e sono cambiate diverse cose in questi anni.

Molto utile il talk di Alfredo Morresi, Developer Relations Program Manager a Google, che ha mostrato come creare, in neanche 40 minuti, una chat all’interno di una app Android sfruttando Google App Engine e Google Cloud Messaging. Interessante anche il talk di Gabriele Mariotti sugli UI patterns di Android. Fra le altre cose ha fatto l’esempio di Timely come app che segue i pattern di Android e Yahoo meteo come app che non li segue troppo. Entrambe le app hanno avuto successo con milioni di download, ma cosa sarebbe successo se Timely fosse stata sviluppata da Yahoo e il meteo da un nome meno noto?

Clean Android Code

Il secondo giorno prima di pranzo è arrivato anche il momento del mio talk, l’argomento è stato il Clean Code su Android. Partendo dal libro Clean Code: A Handbook of Agile Software Craftsmanship di Robert C. Martin ho parlato di alcune best practices Java e di come si applicano al mondo Android. L’argomento dell’ultima parte del talk è stato il testing su Android. Per curiosità ho chiesto quante persone scrivono i test su Android, si sono alzate pochissime mani (molte meno di quanto pensassi), non più del 10% delle persone!

La sala era piena e ho avuto diversi feedback positivi, come al solito avevo troppe cose da dire rispetto al tempo che avevo e quindi alcune parti sono state trattate in modo sbrigativo. Spero comunque che qualcosa e qualche spunto utile sia rimasto nella testa di chi era presente. La cosa peggiore è avvenuta durante il pranzo dopo il talk, alcuni ragazzi mi hanno fatto domande dandomi del lei, sto invecchiando! 🙁

Per chi non era presente qui sotto ci sono le slide:

Il Barcamp, ottima idea ma una occasione persa

Alla fine del primo giorno ci sono state un paio di ore dedicate al Barcamp, purtroppo secondo me era stato pubblicizzato poco (anche io ho capito di cosa si trattava il giorno stesso) e non ha avuto troppo successo. L’idea alla base del Barcamp è quello che viene chiamata anche “open conference”: non ci sono argomenti prestabiliti, ogni partecipante può proporre un argomento e la presentazione può avvenire anche in modo collaborativo.

Al Barcamp del DroidCon la prima presentazione ha riguardato i Google Glasses. Nel corso dei due giorni c’erano tre persone con i Google Glasses sempre in testa, hanno fatto parlare molto di se (non so se in bene o in male!). L’idea che mi sono fatto è che i Google Glasses possono diventare un qualcosa di utile in alcuni contesti ma non sono un accessorio da indossare tutto il giorno. Per esempio potrebbero essere utili per alcuni lavoratori (meccanici, chirurghi, pompieri, …) e anche in alcuni contesti particolari, per esempio per andare a correre e avere il percorso sott’occhio (nel vero senso della parola!) o per cucinare e vedere nel frattempo la ricetta.

L’altro talk del Barcamp è stato di Frankie Sardo di Novoda, ha parlato degli stessi argomenti che ha trattato al DroidCon di Amsterdam di novembre: Android Architectures and Clean Code. Oltre al titolo c’erano diversi argomenti in comune con il mio talk, giuro che non lo conoscevo e che non l’ho copiato!

Complimenti all’organizzazione

Nel complesso secondo me è stata una ottima conferenza, considerando anche che era la prima edizione e che gli organizzatori non si aspettavano così tante presenze (più di 400 persone). Come già detto la cosa che è venuta meno bene secondo me è stato il Barcamp che non è stato sfruttato a dovere, magari pubblicizzandolo di più e tenendolo in sale più piccole potevano esserci più partecipanti e più interazioni fra di loro.

Assolutamente da non perdere la prossima edizione!

Fabio Collini

Software Architect con esperienza su piattaforma J2EE e attualmente focalizzato principalmente in progetti di sviluppo di applicazioni Android. Attualmente sono in Nana Bianca dove mi occupo dello sviluppo di alcune app Android. Coautore della seconda edizione di Android Programmazione Avanzata e docente di corsi di sviluppo su piattaforma Android. Follow me on Twitter - LinkedIn profile

  • David Corsalini

    Sono stato al tuo talk (ero in seconda fila), molto molto interessante. Sono anch’io un maniaco del codice pulito, ma non conoscevo dry e wet formalmente, li adottavo inconsciamente.
    Mi era sorta una domanda, che poi non ti ho però fatto: come sistemi le res e il codice per scegliere se usare il single-pane o il multi-pane in una FragmentActivity. Io per ora uso l’approccio generato da Eclipse con il nullcheck su second_fragment_container e pare funzioni (soprattutto si limita ad una riga di codice).

    • Fabio Collini

      Ciao, grazie per i complimenti, mi fa piacere che il talk sia piaciuto!
      Per quanto riguarda il multi panel con i fragment l’approccio generato da Eclipse magari non è bellissimo ma è funzionale. Un approccio diverso e un po’ più pulito può venire fuori se utilizzi EventBus o Otto, ne ho parlato alla fine del talk ma purtroppo il tempo era poco. In questo caso dalla lista puoi mettere un evento nel bus che poi sarà “consumato” dal fragment di dettaglio o dall’activity.
      Ciao, Fabio

  • Marco

    Deve essere stato un bell’evento, Complimenti per il talk! Saluti.