Software Engineering Blog

for Android and Kotlin developers

All Articles

My journey to Droidcon

Published 28 Dec 2016

Discovering the Android community

A few months ago, I decided to start attending these so called “developers meetups”. In the past two years, I’ve had a pretty busy schedule and always used that as an excuse whenever someone invited me to one of those. One day, someone told me about an Android-related meetup, that was taking place on my way back to home, at a time I was not working nor studying, and most importantly, they gave free snacks for those who attended.

I went there, and I liked it. I already knew most of the stuff they talked about, but it was still fun to spend some time hearing people that had the same passion about software development as me. If the opportunity came, I was definitely going to attend the next one. That opportunity would be coming just one week later.

I went there, and I really liked it. They talked about Retrofit and ReactiveX. I knew a bit about Retrofit before, but never actually try it. I had no idea what ReactiveX was when I stepped into the room. By the end of the meeting, I understood the basics of both of them well enough to keep learning by myself. I was particularly interested in that reactive stuff. I kept going to as many talks as I could (for I was leaving to study in UK one month later), until one day, one took place at my own university: “The ABCs of RxJava”. I was not missing it for the world.

I went there, and I absolutely LOVED it. The speaker, Florina Muntenescu, came from overseas and happened to be at Lima just for a few days. Lucky us! Before attending, I did a little research about her work on GitHub, and I was really impressed. The day I was looking forward finally came and the talk went by really smoothly. The explanation was clear and you could tell that the presentation was smartly prepared. At the end of the talk I asked aaaall those doubts that I’ve always had, and that only Stackoverflow could (barely) answer. Most of them were not even about RxJava, but she would still answer. At the end, all of us who attended the meeting went to a bar to talk and have some good time. That was the moment I realised that this meetups are not only places to be serious and talk techie stuff, but also to have fun and make new friends.

So how is all of this related to the article? Just before leaving, Florina said that she was giving a talk at a big event called droidcon. Where? In London. When? In October, 2016. At that time, I was going to be studying in Liverpool, just a few hours away. Everything fit perfectly, and that’s how the journey began.

What’s this droidcon about?

I had no idea that droidcon even existed, so I did a little research. As stated on their on website:

The idea behind the droidcon conferences is to support the Android platform and create a global network for developers and companies.

A global network. As mentioned earlier, most d̶e̶v̶e̶l̶o̶p̶e̶r̶s̶ people I knew before were from my own country (proud Peruvian here 🇵🇪), but the idea of meeting people educated in different cultures and environments was lately growing on me. At that moment, I was getting ready to leave my city for the first time and spent one semester abroad, at the UK. I had already taken the decision to expand my network, but I thought it was mainly going to be with fellow classmates. Now, I had the chance to connect with actual professionals from all over the world who made a living doing what I also love: programming.

The next step was finding out who were talking and what were they going to talk about. After all, it wasn’t only about meeting people: my main goal was to learn as much as I could from everyone there. So I went to the website and as soon as I checked the programme…

I can’t recall ever being as excited as I was at that moment, no kidding. The first thing I read: “Designing the Design Support Library” by Chris Banes. I kept reading and there was Nick Butcher, Cheet Hasse, Jake Wharton, and many more. All those real life heroes we Android developers have once thanked for their amazing work and contributions. I absolutely loved the topics every single speaker was addressing. The bad part was that I couldn’t clone myself to attend all the talks, and choosing between them was no easy task. The good part was that no matter what I chose, I was going to love it.

The Promised Land

The day finally came and I took my train to London, and then headed to Business Design Centre, the venue where the event was taking place. I got into the building, and I was welcomed with this!

Droidcon swag

After picking my welcome pack, I was officially ready for a few of the most exciting days in my life. The main room was full of people, and a lot of stands from the sponsors. Facebook, Amazon, Twitter and many more companies were in there. It looked like a geeky Disneyland. There were snacks and we had some free time before the first presentation started. So the photo session began.

Event photo collage

Extremely brief summary

There were a lot of topics that were covered, and it’s impossible to talk about all of them in a single post. In this article, I’ll just name those that I remember, and expand a little bit on the talks that I liked the most. Although, if you want to know even more about a specific topic, you can watch the recorded talks by logging in to Skills Matter.

As mentioned in the event description, they had “international expert speakers that told us about the latest Android advances and fantastic new technologies”. The ones that I consider more relevant (based on the talks that I attended) were:

  • RxJava: from benchmarking to detailed use cases with code explanations. I’ve already stated my previous interest on Rx, and after this talk I’m sure that a reactive mindset is not only one of the most popular trends today, but also an approach that can change the way you develop mobile apps.
  • Kotlin: this new programming language was one of the main topics of conversation. A lot of people initially had problems trusting it, but they were ready to give it a try after hearing the experts saying it feels like coding in steroids. I haven’t try it yet but it’s definitely in my to-do-but-please-avoid-to-procrastinate list.
  • Security: making your apps more secure is more important than ever. The speakers told us new techniques that we can apply as developers. For further info, see here, here, and here.
  • UX/UI: cool animations, smart techniques to handle views efficiently, the new ConstraintLayout, and many more talks whose goal is for us to deliver a greater experience for our users.
  • Testing: there were a few talks (which I couldn’t attend) that explained the importance of testing and some testing techniques. My testing skills have always been below average due lack of practice, but for most people out there it was a standard skill. I realised that my developing skill set was not complete without proper testing. I’ve been trying to improve ever since.
  • Business & Tech: lead by Chet Haase, we learnt about money. And technology. And businesses. Check it yourself.

The highlights

All of the talks were amazing, and all the speaker were top-level experts on their own topic. But still, based on my own personal opinion, I felt like there were a few talks which stood out from the rest and that I would like to elaborate a bit more.

“Animatable” by Nick Butcher: This presentation was smooth, delightful at sight. As you may have guessed, the presentation was full of animations, where you could see the correct application of motion principles (without being too excessive). Nick started telling us about some updates on the material guidelines, and immediately proceeded to explain, line by line, how to code a text animation while transitioning between activities. The code is in a repository called Plaid, which “demonstrates the use of material principles to create tactile, bold, understandable UIs”. Check the presentation and the code if you want to know how he did it.

“A New View: Layout Editor + ConstraintLayout” by Huyen Tue Dao: the goal of the talk was to explain us why “you should not only use ConstraintLayout, but you should also use it on the context of the UI builder”

In the past months, we’ve seen a lot of improvements on Android Studio, and one of them came with a revamped layout editor. I belong to the 99% that hate to use the visual layout editor to design my UIs, and rather code the XML by myself. Huyen showed us that the new layout editor is much better than before and actually worth giving a shot. I tried it, and agree that it’s better and can be faster for some stuff, but I’m still reluctant to use it on a daily basis. It will probably take me a time to get use to it.

The second part of the talk was about the new ConstraintLayout. This new view group is a component that allows us to define constraints between its children, and then uses math to figure out where to place them, efficiently and without lots of nested views. Quoting Huyen, one of the greatest advantages of ConstraintLayout is that:

“…the more expressive the layout is, the flatter the hierarchy is going to be. the less you’ll have to nest. The less you’ll have to put things into other things to get the look, the layout structure that you want…”

So after introducing the layout editor and the ConstraintLayout, we got to saw both of them in action. Although they were not live demos, it felt like they were because of the precise timing between the animations and the speaker explaining them. With the new editor, you can drag and drop to establish the constraints between the views, pretty much the same as in XCode for iOS. There were some bugs yet to fix (at that moment), but it certainly looked like a powerful tool.

As you may have already realised, I really enjoyed this talk!

“Really Important Things about the Business of Technology” by Chet Haase: please, please, please, please…. if you have not seen the talk yet don’t let me spoil you and watch it yourself first.

Done? Ok. This was the last talk of the first day. We didn’t had much choice here because it was the only talk taking place at that moment. Luckily. After so many hours hearing technical stuff, it was a refreshing way to end the day. It was full of jokes and laughs. No, it’s not a serious talk, in case you didn’t notice. It was a complete satire of how things work in the business of technology nowadays. I was amused not only by the planned jokes that we as developers could relate to, but also from the great improvisation during the Q&A section. Chet Haase is a great speakerist, who knows how to keep his audience entertained.

Party time!

The day is not done until we get some party time! Well, I’m exaggerating. I won’t pretend I love partying and that stuff, but after the first day ended, we took a bus to CodeNode and had a nice time. The place had a bar, a stage and lots of retro games. We got live music and free pizza and drinks. We couldn’t stay up until late though, we all had one more day before it was over.

The hackaton

The main event came to an end, and most people went back to wherever they came from. Yet, a few of us stayed during the weekend to participate in the hackaton organized by Skills Matter.

We formed teams, and the sponsors presented challenges for us. Zebra Developers challenged us to create an app using their scanning devices. EqualExperts challenged us to create an app using their bluetooth tap devices. Google and Novoda challenged us to create an app using Firebase.

We could participate in one, two or all the categories at the same time, the only limitations were time and imagination. My team decided to go for the bluetooth and Firebase challenge. We developed Hey Crowd, an app that, based on your interests, matches you with people currently attending the same place/event/meetup as you. You just have to tap your phone into the bluetooth device placed at the entrance of the venue, and the app does the rest for you. To make it work, we used Firebase database, auth, and push notifications.

We started coding Saturday morning and the winners were announced Sunday at midday. We couldn’t pull up an all nighter because the venue had to close, but everyone still had enough time to develop impressive projects. And as if the last couple of days weren’t good enough, my team got to win the Firebase challenge!

Final thoughts

  • Don’t let go the opportunities that come on your way, and try to get the most out of them.
  • Learning from others is an invaluable experience. It’s not the same to read something on the internet or to watch a video, than having it explained face to face.
  • Sharing with others seems like an invaluable experience. That’s the reason why I’m writing this article.
  • Try to keep updated with the latests technologies always. Don’t wait until the next droidcon to catch up.
  • Be open minded. Don’t stick to the stuff you know, explore different approaches and see if they work for you.
  • Be analytic. It’s OK to try new things, but you always have to determine if a particular solution or technology can / should be applied to your project. Don’t use it just because it looks cool and everyone else does, remember that there are no silver bullets.
  • Learn to run tests if you don’t want to feel embarrassed.
  • Take as many Apple devices to an Android conference. It will piss everyone off and it will be fun.
  • You don’t exist if you don’t have a Twitter account. It’s not only a great way to express yourself, but also to know what experts like Florina, Huyen, Chet, Nick, and many more are up to!

Lastly, I would like to thank Cinepapaya for giving me the chance to attend this event. I hope you enjoyed it and feel free to share your experiences too!