I can still remember explaining to my non tech friends what Android was the evening of the 1st droidcon, and since then it became a sort of ritual, a couple of days when I can take some rest from my day time job and take part to the community of some of the best android developers coming from all over the Europe.
It's an (almost) cheap to flight from Pisa (IT) where I live to London, and I can always count on my architect friends from Marcel Mauer for accommodation.
My overall impression is that droidcon is getting better and better. It's growing as much as the Android platform itself, and despite all the interesting talks the better part is still the people you can meet there BETWEEN the talks. Even if you are as shy and sociopath as I am.
Most of the talks where very instructive and I heard about a lot of new stuff I can reuse on my side projects.
Here I will put a short list of what are the things I liked most (as a kind reminder for me but also for any occasional reader that lands on this page by chance).
I am not following a proper order if not the chronological one. I really enjoyed all the talks.
The keynotes:It's official. They are putting Android everywhere. Three keynotes for three Android related product which where not phones nor tablets.
- Ouya, the famous kickstarter funded android gaming console
- Vendscreen, an android based vending machine (!)
- Parrot android based car stereos.
Building songkick for Android (slides):Askay and Jamie from Novoda show their professional approach to build the songkick app. A lot of interesting tips and best practices from them. Really liked the "writing good code is always faster than writing bad code" approach.
Overcoming device fragmentation:Jan and Jon from SoundCloud had a bad time dealing with sound infrastructure in Android, especially from a multi device perspective.
It's not an aspect of the platform I have never addressed that much, but I really enjoyed their story about going from the simple system call up to get the hands dirty with bringing on board ogg library through ndk. I also liked the fact that at first they tried to deal with java version, because it's something I would do as well.
The fly in app menu for designers and developers (slides):Cyril Mottier ( we may remember him for Greendroid) made a gorgeous presentation on this navigation pattern which is getting more and more popular (but don't use it just because it's à la mode).
The presentation was a proper walkthrough on why and when one should use the new pattern (and when one shouldn't). During the talk he gave a lot of tips on how the correct user experience should be. Very inspiring.
If you want to bring this pattern in your app and you can't affort to develop it "in house" as Cyril did, there are a couple of libraries that implement it for us:
Beaming data to devices with nfc (slides):Mark Murphy from CommonsWare introduced what (and how) can be done with an nfc enabled phone through a royalty free spy story. Interesting and funny as always, the talk of Mark is worth the ticket by itself (well, his talk and the free beers I had).
It's a good starting point when I will look into nfc, which might be very soon.
Fast, user friendly and power efficient network communication with android (slides):Another series of super tips from Erik Hellman on how you should perform networking in a proper manner.
Still, stuff I read here and there but still useful.
He also mentioned netty.io library, which is something I should definitely check, since my current project involves plain socket operation and I implemented it my self (the android way).
Introduction to Google Tv (slides):
Google Tv looks to be the next big thing. I have never dig into the docs but it really looks like a new whole world. Apart from the different challenges that we can have developing a tv ui, I really like the idea of having it interact with our personal devices.
Polaris (link):Cyril Mottier (yes, still him) delighted us with Polaris, his map library to enhance the poor experience available from standard map apis.
The french guys from Octo (sorry I can't remember the name of the speaker) presented their awesome RoboSpice library, a library to perform asynchronous jobs (and a lot more) on steroids.
I was really interested in this talk because of my previous attempt to build something (barely) similar with Postman Lib . Unfortunately I never had time to polish it and it's still an unfinished product. Moreover, the guys from Octo made a better job under every aspect of object reusing and performance, dealing with issues I would have never fix even if I took the library to a decent state. I am quite curious to dig into their code just for the fun of it :-)
Erik Hellman from Sony introduced how opencv library for computer vision can be (almost) easily integrated into an android app. Still, something I would always loved to play with, maybe I will if I get some extra spare time.
NetMera (link):Well, this is not a real library, but it's a brand new concept (at least, new to me) for a platform as an sdk. It was introduced by Friedger Muffke during his talk "Serverless Android Applications". They provide a full remote backend without having you bother at all for it. Sounds like the holy grail for developers with no time(tm) but I don't like the idea of having my code bound to a specific service.
Talks I missed:
I was told that this talks were excellent:
- The fragment transition by Corey Latislaw
- Writing games for an Android video game console by Al Sutton
- Proguard by Eric Lafortune
- Dynamic animations with custom views by Anders Ericsson
Epilogue:I had a great time at droidcon, I really enjoyed it under every aspect (even though I suspect I still have to digest an hotdog of two from the dinner of Thursday). It really boosted my hunger for learning new things. As an immediate effect I decided to polish my old apps, those I developed three years ago which now look ugly and old (the code as well).
See you next year, DroidConUk!
(This picture was taken at Liverpool Street while waiting for the bus to Stanstead Airport). Way too early for a Saturday morning.