At ribot we get the chance to attend conferences throughout the year, so me and Iván made a trip up to Droidcon London. I learnt a lot, met some great people and made a lot of notes over the last two days - so here’s a (very) brief summary of my time at the event.

Note: I’m typing this on the medium app as I watch the talks, so they’ll likely be brief because of this. I’ll build on detail once I’ve gone through my notebook…

Note Note: I’ll add video and slide links whenever they’re up…

Day one

Journey of an Event, the Android touch w/ Marco Cova

We started off our time here watching Marco give a deep dive into Android touch events. He ran us through Facebooks “Year in Review” + “Riff”, along with details on the custom touch events used in those apps. It was interesting to see the use of their custom touch event class which extends on the MotionEvent and KeyEvent classes - we did some very similar things in a client project we worked on last year, so it was interesting to see how he managed these complexities compared to our approaches (knowing others have shared your struggles makes it slightly better, right?).

Marco took us through the journey of a touch event through the view hierarchy, showing how they used the overriding of the onTouchEvent() method call can be used to intercept events and handle them in a custom manner.

Behind the scenes of ASOS.com’s mobile apps w/ Marco Bellinaso

I was interested in discovering the way in which ASOS work and how it differs from ours. They’ve seemed to be getting more involved in the tech scene over the last year or so, their mobile market has also grown massively.

“The app has had 5m downloads in 2015 so far, with 60% traffic and 44% orders through mobile”

Some interesting notes on their workflow:

Localisation - A Google spreadsheet with language columns is used to store translations. Next, a python script then reads through this spreadsheet row-by-row and exports the translations to an XML file.

Travis CI - I’ve used travis before but we currently use jenkins. I can see the benefit as you don’t have to maintain your own server.

Appium for testing - I wasn’t sold on this one entirely, but I definitely want to look more into this. Appium allows you to write tests in javascript so the same tests can be run on multiple mobile platforms, I can see this working well, providing the app isn’t complex in terms of the UI.

Dynamic App Configuration on server - This is great and makes sense. When their API is undergoing maintenence then the app will be aware of this and adapt the UI, they can also force the user to upgrade using the method. This all means less crashes and glitches, yay!

Remote device farm - They buy the most popular devices from their stats to test on, but most of their testing happens in the cloud. Makes sense, something I’ve always wanted to try for myself.

Model-View-Presenter - Their app architecture uses an MVP approach, which seems to be an ever growing case. I’m using MVP in a project at the moment and I can see why more and more developers are switching to this approach.

Break

We had an hour and a half gap between talks so decided to check out all of the stalls. We began by taking a look at the Ordnance Survey maps SDK.

The break begun by flying over Bournemouth for a bit

Next we stopped by the Facebook booth where we had a long chat with Martino about the different open source projects that Facebook are working on. We specifically talked about Infer and fitting it into our work flow (it can’t be run as a gradle task, yet *sad face*).

I met several companies (ASOS, booking.com, genymotion, novoda, ordnance survey, sky, badoo, Intel, hover, jebel and more) and it’s always great to hear what other people are up to. I used the rest of this time to gather as many free stickers and food as possible.