This is a short recap of Droidcon Vienna, which took place on September the 21st and 22nd of 2018. I was given the chance to do a presentation for the first time at a conference so I was really excited. On the day before the event, we were invited to speakers dinner. It was very nice to get to know some of the other speakers. I was surprised by how international the speaker lineup was. I could speak with speakers from India, Singapur, Ireland, and the UK.
Conference Day 1
Making change as an Ally
The opening keynote with the title “Making change as an ally” was given by Joe Birch. In this inspiring talk, he spoke about the topics of how to foster diversity and how to create an inclusive environment.
I really liked that the conference was started with this very important, non-technical and thought-provoking talk. That’s definitively something we as a (mostly “privileged”) developer community have to keep in mind to hopefully become a more diverse community altogether.
From monolith to modular — our experience at Shpock
The next talk I attended had the title “From monolith to modular”, where Daniel Niedermühlbichler spoke about the experiences and challenges of his team about extracting logic into several small gradle modules. The main motivation for this was to decrease build time. Even tho the clean build time did not improve, the incremental build time when only one of the new modules was changed dropped drastically (from I think 50 seconds to 11 seconds). He also said that in the future, they want to experiment with the gradle build cache server, where build caches from the continuous integration server could be distributed to developers to speed up the build. This is definitively something that sounds interesting.
Having fun with Kotlin fun()
In the next talk, Adnan A M talked about everything you need to know about functions in Kotlin (and having fun with them). He made a deep dive into language features like inner functions, single expression functions, top level functions, extension functions, lambda expressions and higher order functions. He also mentioned standard libary functions like also, apply (mutating functions), let and run (transforming functions) and gave some examples about where they are useful. I really liked those examples and I will definitively use them more often in the future now.
Your Phone is learning! Introduction to running Tensorflow on Android
In the very funny and interesting talk, Bartosz Kraszewski started with explaining what Machine Learning (ML) actually is. In ML, instead of the telling the computer explicitly what to do, we give him a lot of data, based on which he decides for himself how to solve a given problem. Then he introduced the audience to tensorflow, the most popular framework to do calculations regarding ML. He showed an example on how to detect numbers that are drawn on a smartphone display. In the real life, unfortunately, we as mobile app developers are most of the time just responsible for “collecting and preparing data”, while the data scientists and the backend team is actually doing the ML magic.
Android App Performance
Then my coworker Konrad Pozniak spoke about a lot of different topics regarding improving the performance of Android applications. He covered topics like Strict Mode, Activity Manager log output, Frame Metrics, the Android Studio Performance Monitor, Google Play Vitals and Firebase Performance Monitoring.
He then talked about Proguard. He is a big fan of Proguard, because the performance gains (and also improved security) that it brings are significant. He mentioned that R8, the successor of Proguard, will be released soon and even more performance gains can be expected.
He also gave a lot of tips about how to optimize layouts, networking and your Java or Kotlin code in general.
He backed up all his statements with lots of benchmarks that he performed in preparation to the talk.
Conference Day 2
Awesome Animations using ConstraintLayout and MotionLayout
In the first presentation, Hari Vignesh Jayapalan showed us some really impressive animations that can be done with not that much effort with Constraint Layout and Motion Layout. I really recommend you to check out his sample project: https://github.com/Hariofspades/MotionLayoutExperiments
How ‘Effective Java’ influenced Kotlin
Then, It was my turn to speak about “How Effective Java influenced Kotlin”. If you are interested, you can read my blogpost series about it: https://hackernoon.com/how-effective-java-may-have-influenced-the-design-of-kotlin-part-1-45fd64c2f974.
Building a Google Keep clone with React Native
The last talk was then held by Juarez Filho. He talked about how to write a simple app with React Native in combination with Firebase.
The event closed with some “barcamp” sessions about wide-ranging topics like RxJava Operators, Penetration Testing, Hiring and Multi Module tips and tricks.
I really enjoyed the event, learned lots of new things and met a lot of experienced developers. I am looking forward to Droidon 2019. 👊