android android-things Conferences

Speaking at the App Builders Conference in Switzerland – 2017

Speaking at App Builders Switzerland this past week on Android Things was an invaluable experience, I had such a fantastic time. Besides the conference, I got to do a bit of sightseeing. I was able to take a day to explore Zermatt and experience a lot of snow! Unfortunately the Matterhorn wasn’t visible but this didn’t really bother me as I had enough fun exploring the snow topped mountains anyway.

The conference took place in Lausanne, Switzerland which is in the French region of Switzerland.

Now my french is not so great but luckily the conference was in English. There were about 300 attendees at the two-day conference. The conference consisted of 2 tracks, where each track had a specialty: one track for iOS and one track for Android. The conference was held in a beautiful venue, the SwissTech Conference Centre.

I really enjoyed my time in Switzerland and some of the talks had some really great takeaways, here is my experience of the conference.

Day 1 of App Builders

Day 1 kicked off with the organisers giving a quick introduction to the conference and Felix Krause, creator of Fastlane tools, talking about “Scaling Open Source Communities“. His presentation was really insightful and he gave a lot of tips as to how to manage your open source projects. He stated that open source projects go through 4 different stages:

  1. You publish your source code to Github (or Bitbucket etc).
  2. Other developers start using your code.
  3. Your solution becomes the go-to solution in the field.
  4. Your solution becomes a hyperscale project, you get hundreds of notifications from Github everyday with issues, pull requests and questions.

Felix then gave some tips around managing an open source project on Github, some of them I found really useful including the following tips:

  • Use bots to handle common maintenance tasks of your open source repository. You can set up bots to do tasks such as the following:
    • Answer common questions by looking for keywords in new issues.
    • Ensure new issues are following the correct issue template.
    • Keep issues moving, make sure they are always fresh issues by closing stale issues.
    • Lock the conversations after an issue is resolved.
  • Make sure you have a clear vision for the project and steer the direction correctly. You might need to decline some pull requests or feature requests because they just don’t fit into the vision. Don’t accept everything people want in your project.
  • Be welcoming to new users, thank them for their comments and issues.

His talk was by far one of the best for the day. After this there was an interesting discussion with the author of Scala, Martin Odersky, where the audience could ask him questions. It was a casual but interesting discussion. He spoke about how people use Scala because it is an easy to learn language, he also touched on some of his day-to-day tasks.

The tracks then split into Android and iOS. Attending Marcos Placona’s talk on Android Security was entertaining. He started it off by putting on a mask (yes – literally a mask!) and demonstrating in a few simple steps how he can easily hack an app. He gave some examples of how apps have been hacked before (including PokémonGo and others). He then gave some practical things that you should be doing in order to improve your apps security. Some of the tips included:

  • Some encryption is better than no encryption. Even if you Base 64 encode your information. It is better than nothing!
  • Implement Certificate Pinning in your applications to avoid man-in-the-middle attacks.
  • Do NOT trust the device! Someone is bound to decompile your application.
  • Don’t store API keys inside your application, there are many different options to solving this. Encrypt them, get them from the server once you have implemented certificate pinning or store them in C++ code (NDK).
  • Look at using the SafetyNet API by Google, this checks that the Google Play Store is on the device and also checks if a device is rooted or not.

The next talk I really enjoyed was a talk on “Animations for a better user experience” by Lorica Classen. She spoke about how there are a few different kinds of animations: animations that avoid change blindness (Necessary animations) and delightful details (Animations that are not necessary but are nice final touches on a product).

She stated that animations should be short and not get in the way of users. She then presented some duration guidelines for animations. Her presentation was interesting and inspiring, at the end of it she summarised by saying we should challenge our designers into creating animations to improve our products.

Day 2 of App Builders

Day 2 started out with a great talk from Dennis Pilarinos from He demonstrated buddybuild and he was able to setup, build, sign and deploy an app to an iOS device without much hassle. I am personally a big fan of buddybuild, it is a great CI for Android and iOS. It is really easy to set up and customise if required.

The next talk I enjoyed was Florina Muntenescu’s talk titled “MVVM – it is all in the implementation details”. She spoke about how they implemented MVVM on Android at upday and went into the details about it.

Etienne Studer spoke about “Revolutionary Gradle Features”. He highlighted some of the new features of the gradle version 3.5. Including build cache and remote cache of task outputs. This is a great feature as it will decrease build times dramatically, especially for large projects. Another feature he touched on, was that you can now write your build scripts using Kotlin.

My talk on Android Things was up after Etienne. I built an LED that turned on and off in about 10 minutes using Android. I also spoke about the other IoT projects that I’ve worked on, namely the electricity monitoring app and the distributed piano. Check out the slides for my presentation here.

“Part time” by Cesare Rocchi was a refreshing end to the day. Cesare works only 4 hours a day, claiming that he is more productive than when he worked for a full day. He spoke about how you don’t always have to make it big, sometimes working for the small companies is way more rewarding. He also said that small markets are easy to tackle, it might not be as big of a market share but it is a good place to build a sustainable business.

Final Thoughts

Travelling to Switzerland to speak at App Builders was a privilege. I’m grateful to have spent the time learning from other developers and even more thankful to have been a speaker. Thanks to the organisers for a successful conference! The experience was invaluable. See you soon!