In the first week of September, four Android developers from intive attended Droidcon Berlin, a leading independent conference for Android developers. The event known as one of the best devconf in Europe is dedicated to connecting with the global trends in Android and this year drew in over 1000 Android enthusiast.
It was the second Droidcon Berlin I attended, but the first one in which I participated as a speaker. Together with Grzegorz Dec, we have presented a talk on "Kotlinify your unit tests (and specs!)". As speakers, we had the privilege to invite one more person to the conference for free. So, we made it a team meeting and joined the event along with two other intivers, Jacek Krasowski and Grzegorz Dziubiński, with whom we work together remotely on a daily basis.
Unfortunately, as multiple sessions were simultaneously planned it was not possible to attend every single one. However, I would like to share with you some of my personal highlights from the event
. You can find the full schedule with links to the abstracts here
. Videos from the talks are available on YouTube
Barcamp aka pre-conference day
Although talks on Barcamp, one of the interactive parts of the event, are less formal and not scheduled as such, this doesn't mean they are anyhow less professional or insightful. Some of the most valuable talks, in my opinion, included “Sketching for all” by Chiu-Ki Chan and one on live templates by Hendrik Kokocinski. The first speech was a bit surprising, not only because of its form - the audience was given devices with earplugs to listen to the speaker - but also because attendees were supposed to take sophisticated notes! After this short workshop, new masters of sketching were born!
Hendrik presented the power of live templates in Android Studio
(or IntelliJ in general) and explained how we could utilize groovy scripts and even speed up test code creation. It’s all available here
. Another worth-mentioning talk during BarCamp was concentrated around Tango SDK
. Christian Dziuba, the author of the lecture, gave us an insight on what is possible with this SDK. An outcome of this session was that Google put the Tango project on a side (still not many devices support it) and the plan is to move the developers’ society to ARCore - a new SDK that brings augmented reality capabilities to the existing Android devices. Motion tracking or detecting surfaces shall now be possible without any additional hardware.
The first day of the conference started with a great keynote by Chiu-Ki Chan who was convincing the participants that becoming a Google Developer Expert is an achievable goal. The secret, as he argues, is to share your knowledge and pass it on to your colleagues, only then you become a true expert. To achieve that, you can employ any available medium - blog posts, articles or tweets; you can contribute to libraries or be active at meet-ups and conferences. What’s more, everybody has an interesting topic to share with others!
I always look forward to the Wojtek Kaliciński’s talks - he’s a Google Developer Advocate at Google, who I had a chance to meet on the last year's Google IO conference. Seeing how the conference room was getting fully-packed during this talk made me realize that the overall interest in his speeches was extremely high. At Droidcon Berlin, Wojtek introduced the audience to new Android Studio profiling tools and an analyzer.
A memory and object analyzer is now built-in in Android Studio. It’s also possible to preview allocations for a selected time slice. There were also neat examples of how to utilize a command line APK-analyzer in CI environment, e.g., to track changes in permissions of the app.
Another Googler’s session that drawn plenty of attention was Florina Muntenescu’s talk on Room - a new persistence component for the Android platform. A third Google representative, Ben Weiss, described a procedure for creating Instant Apps. It’s easy once you have your app separated into modules. The technology, however, is competing with Progressive Web Apps. The next day Google Developers Days (GDD) was held in Krakow, and consequently, all Googlers left quickly to join that event. Thus, there was no time for a small talk, unfortunately. GDD was live streamed during the second day of Droidcon Berlin in one of the halls, which was a favour from organizers.
After Ben, the stage was given to Danny Preussler - leader of one of the projects we were working on together during our collaboration with Viacom. His “The power of Kotlin for your tests” included live coding and was full of examples how to convert Java tests into Kotlin ones utilizing Mockito and Kluent. So, scheduling mine and Greg’s talk about specification frameworks for the unit test in Koltin right after Danny’s performance seemed logical.
We talked about the plenty of benefits developers can get from libraries like KotlinTest, Spek Framework and how it may turn ugly Java tests into a live specification. Our audience was also introduced to Expekt - an assertion library.
Keynote of day 2, given by Ame Elliott, touched important points on users’ privacy and UX concerning the perception of security. The example of the latter may be a simple shield icon added in an app logo, but it doesn’t necessarily mean that the data user typed in the app is secured or encrypted. So, we as developers, should be responsible and put our attention to this topic, even when it’s not defined in the app requirements.
Kotlin Coroutines by Svetlana Isakova from JetBrains was the talk that most of the devs were excited about as that’s the new feature in Kotlin 1.1. The concept of coroutines in Kotlin was explained and compared to the C# way, in both cases callbacks can be omitted by using suspend functions. Svetlana presented a lot of valuable examples. I really recommend watching this talk to all interested in Kotlin language.
Markus Junginger from GreenRobot spoke about ObjectBo
x, a new object-oriented No-SQL database that fully supports relations. It may be seen as an alternative to Google’s Room, however, with ObjectBox developers don't have to deal with SQL anymore. POJO classes stand for a database schema. What’s more, as all GreenRobot’s open source libraries, it’s well tested and optimized for performance. During Droidcon, Markus announced the release of version 1.0.0
IFAA with the team!
This year for the first time Droidcon joined IFA home electronics trades. Beside great talks, we could have checked multiple halls of different manufacturers. We could have played the latest devices like Xperia XZ1, VR headset from Microsoft or got to know the crazy price of 65” Samsung Frame TV (which I'd personally love to have!). We had an opportunity to see the latest trends in 3D printers, home robots, and the drones market. One of the drones (an underwater one, but still on a 70m wire) even took us a team picture while we were wandering with our teammates from Berlin!
Droidcon was a great place for networking and knowledge sharing. We observed that latest trends in Android development are clean architecture and Kotlin (I haven’t seen a single presentation with Java only code). A conference is a perfect occasion to meet your remote project mates. Being a speaker is cool, do not hesitate to be one at the next conference regarding your area of interest!
Big thanks to my colleagues - Jacek and Danny - for the photos!