Report back from Droidcon London 2016

Following the annual two-day event at the Business Design Centre in Islington, I thought I’d jot down a few notes about what was good, what was not so good and how things could improve for future years.

First of all, Droidcon is a conference I have very few complaints with. This is my second time and the talks certainly have improved. I’d like to stress that any criticisms I have are made under the general view that actually it is a pretty well-run convention and these are minor improvement suggestions rather than anything else.

Let’s get the bad (and suggested improvements) out of the way

The projector screens in the main hall are not fit for the length of the space. Lots of presentations have to display code snippets and the two screens either side of the speaker are barely readable from halfway down the hall. One larger screen above the speaker would be much better.

The voting system was a good idea executed badly. Allocated rooms and agenda amendments could easily be communicated on an app and so could votes for a particular talk. Having the board in the small foyer outside the Albert Hall created an unnecessary people-bottleneck which made it horrendously frustrating trying to leave any of the rooms, especially the Albert Hall.

Now the good

I didn’t expect to get much from the Keynote by Noah Falstein but actually it was pretty interesting. It’s very important to remember that AR (unlike in the past) is likely to grow and become more ubiquitous so even if it isn’t in the current line of work you’re in, it may well be in the future.

Chris Banes gave a pretty good talk on the design support library, outlining where we are and where we are going on various elements of user-interaction. Watch out for the new bits on indirect scroll (events fired when a scroll happens without interaction from the user’s touch) and fling.

Undoubtedly, one of the best presentations was from Huyen Tue Dao, who painstakingly learnt the oddities and intricacies of ConstraintLayout and the new layout editor (tldr: it’s actually good and you should really start using it) so you don’t have to. For those who don’t know, ConstraintLayout is the new swiss-army-knife of layouts — allowing you to place elements relative to one another and to boundaries but without the trade-off of RelativeLayout’s poor performance. This will be almost certainly become *the* layout to use, so if you watch any talk, it really should be this one.

Onto the “lightning talks” — quick talks in succession. We attended Lightning Talks 4 where I hope the other speakers won’t mind me highlighting the excellent presentation by my good friend Andy Piper on Supercharging your releases with FastLane. Do take a look at FastLane — it is an excellent means of reducing the time-consuming elements of releasing to the Play Store/to beta testers and can be integrated with your current CI solution. We’re not just talking about typical release concerns, but the annoying manual ones too — FastLane even automates your Play Store screengrabs for you!

The Facebook talk on scaling by Marco Cova and Balazs Balazs gave an insight into scaling an app for 1.6bn monthly-active-users (MAU). This wasn’t just a talk about getting performance right, but also covered how they manage code and releases under such huge teams. Everything is committed to master and they don’t branch, using a gatekeeping method (switches) to ensure features aren’t exposed to the user till the API says they can be. I did ask at the end as to how this strategy works with heavy refactors and removal of legacy code… or indeed anything that touches the base echelons of the code, potentially impacting the work others are doing on master. I’m not convinced that this approach would work for small teams, but I can see the attraction of abolishing willy-nilly branching.

On to Radical RecyclerView, given by Lisa Wray. This talk is for anybody who wants to see precisely how powerful RecyclerView is, especially if you’re reasonably new to it and perhaps have only just moved away from ListViews. I found it immensely useful and will definitely be watching back again to note down the bits I missed.

Finally, Jake Wharton’s talk on Retrofit 2. Jake is regarded by many as Android’s very own Oracle and his libraries are ubiquitous, e.g. ActionBarSherlock. Retrofit 2 is his HTTP client and this talk was very much geared around the configuration elements when you create the client. Some interesting stuff included converter factories (e.g. one for XML, one for JSON, and maybe another to remove the extra surrounding guff that can come back with a response [he called this an EnvelopeConverter]). His slides on this are live here.

What about RxJava?

RxJava is undoubtedly the *thing* Droidcon attendees want to know more about at the moment. I attended two talks — one I was sat too far back in the hall to follow and the other ended up being a basic introduction to RxJava and its comparisons with Async Task etc. (apparently Droidcon used the wrong talk title), so I left that one a bit early. I’m sure, however, it was very useful for the attendees who remained and wanted to learn a bit more about using it.

In conclusion

Great couple of days, lots learnt and all very worth it. Don’t forget, the earlier you register for next year, the cheaper it is. If you can’t afford to or can’t travel, there are a wealth of talks and tutorials on the many Youtube Droidcon channels.

Thanks to all who made it a very enjoyable two days! :)