Co-Founder of VIABIRDS
Image for post
Image for post
Photo by Joshua Earle on Unsplash

When I was starting developing apps, I was asking myself the question: Should I use ads or any sort of monetization strategy to get some money out of them? Back then in 2016, I had already 3 apps in the Google Play Store (consequently, I put two apps down to focus only on one app). I experimented with ads, especially with my published Crypto Currency tracker app. However, somehow I realized that this isn’t the right way for me. Actually, there are several reasons why my personal apps remain ad-free and the source code is publicly available on Github.

(The subsequent points are highly subjective. Hello from my western European tech bubble…


Image for post
Image for post
Source: pexels.com

Tell me more about reflection!

Reflection is quite a powerful tool provided by the JVM. Most of the time you don’t need it, but sometimes there are problems where it comes quite handy. For me, it is always when I was confronted with the task of writing a system with plugin support. Okay, so why is reflection useful?

Reflection lets you introspect the structure of your code at runtime. It allows developers to retrieve useful information about classes, like methods, fields, or constructors. Further, it’s also possible to instantiate new objects of this class and invoke methods of such an instantiated object. This is done by asking a class for a certain method by passing in the name of the method as a string. The problem with it: There are no compiler errors, if there’s an error it happens at runtime. …


Image for post
Image for post
Copyright Unsplash: https://unsplash.com/photos/xrVDYZRGdw4

When I first started with Java, Generics became one of my favorite features. Later in my journey, I became quite fond of Reflection. Working with both often get quite cumbersome. When switching to Kotlin I found the pretty cool reified keyword that’s basically syntactic sugar and looks like magic at first glance (just like Kotlin’s extension functions). So, let’s just take a look at how we can use it in an Android example.

Initializing a ViewModel in Android was previously always a bit boilerplate to me. Frankly, I always forgot how to do it and always copied it from other classes. …


Image for post
Image for post
Source: unsplash.com

Sometimes a new rollout for a feature can be quite challenging, and maybe the feature shows some defects, which you want to disable for now until it is fixed in the next release cycle. Talking about this in the mobile context, a new release through the app stores is necessary, which happens not instantaneous. However, companies like Google and Facebook heavily depend on so-called “feature flags”. This is basically an if/else construct in your code, which allows the companies to roll out new features to their audience at any point in time. But feature flagging also brings benefits to all app developers: A/B testing or as mentioned partial feature roll-outs. In the next 5–10 minutes I will show you how you can build your own small feature flagging platform on top of Firebase. There are some dedicated feature flagging tools out there like LaunchDarkly, which offer tons of additional features. …


Developing an Android app is most times fun, but sometimes it is just a repetitive work, where you do the same tasks over and over again. This is the not so much fun part of developing apps.

For the next 5-10 minutes I will guide you through the different use cases of my plugin and how each and every one of them can boost your productivity while you are coding.

Let’s start with a simple question. If you are using Google APIs, how often do you have encountered such a screen?

Image for post
Image for post

You need your certificate fingerprint every time you want to enable a new API. One solution would be to export the certificate fingerprint and store it somewhere on your hard drive. But if you actually need it, you have to search the file on your hard disk. Because of the struggle I had every time I needed my certificate fingerprint, I decided to write my own IntelliJ/Android Studio plugin, in order to retrieve the fingerprint directly in the IDE. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store