Numerous apps have been removed from the Google Play Store for not utilizing the latest APIs. This action by Google has particularly affected small development teams that operate on limited budgets and are not always able to provide regular updates. In this article, we will examine the consequences of this measure and discuss the challenges faced by small developer studios like ours.
But first, let's talk about who we are and what our goals are. WeeShare was developed by a single individual, Christian Schmitz, in 2011. For him, it was clear that WeeShare could only succeed if it was built to be as simple as possible, ensuring its functionality for years to come. It had to be just one app, not separate ones for the web, iOS (written in Objective-C or later Swift), and Android (written in Java or later Kotlin). This was made possible from the very beginning of the app era by creating the app as a web app, essentially a website loaded within the app. With many pros and cons of web apps, the most important aspect for Christian was that the app could be distributed across all platforms without having to write it in each device's native language. This allowed us to provide a web app, an iOS app, and an Android app over the years. However, the latest update imposed on us by Google caused some upheaval. Even though Google granted developers an extension to comply with the new guidelines, it was clear that there was no way around the enforced updates.
The first step when we entered the Play Store was filling out countless forms about how, what, and why we collect user data. Naturally, this is important and necessary, although we explicitly stated this on our WeeShare website since day one. Then we entered the jungle of Android, where we initially had to download gigabytes of updates and new versions. We climbed from one Android release to another, navigating through the catalog of restrictions, searching on DuckDuckGo for clues on how things should work since Google's documentation on their own APIs is scarce. One example is the WeeShare feature for recording traveled routes. Up until Android version 29, everything was fine. Starting from version 30, additional permissions had to be declared and various version-specific workarounds had to be implemented in the code. In version 31, even more restrictions were introduced, and despite following all guidelines, we couldn't even get the feature to start. It's worth mentioning that we are all well-versed in software development, but when even verbose log entries (maximum output of API information) no longer provide any clues about the issues, our hands are ultimately tied. Debugging the Google APIs (searching for errors within the API) became too much for us as well.
Android versions and devices
The Android development landscape is characterized by a multitude of Android versions, various device manufacturers, and programming languages. The version numbers differ between the actual Android versions (SDK) and the versions known to users (Android Pie, Android KitKat, Android 10, etc.). For example, the SDK version 29 is known as Android 10. The most widely adopted version is Android 11, followed by Android 10 and 9. This means that developers need to optimize their apps for a wide range of operating system versions to reach the largest user base possible. If the app is intended to be available in the future, versions such as Android 12, 12L, 13, 14, and 15 (as of 2023) must also be considered and individually tested.
In addition to the fragmentation of Android versions, there is a wide variety of devices (over 20,000 officially supported devices) that utilize the operating system. Each device manufacturer can make customizations and modifications to the Android platform to meet their individual requirements. This presents another challenge for developers, as they must ensure that their apps function properly on various devices.
Regarding programming languages, there are several options available for Android app development. The most commonly used language is Java, which is favored by many developers due to its extensive support and documentation. However, Kotlin is also gaining popularity, as it was specifically developed for Android development and allows for more efficient and less error-prone coding.
This complex development landscape, shaped by the diversity of Android versions, device manufacturers, and programming languages, poses challenges for developers in creating and updating apps. It requires thorough planning, testing, and adaptation to ensure that the app functions smoothly across a wide range of Android devices and versions.
Over the weeks we spent dealing with the new Android version, we felt like we were constantly being treated as the ones at fault. It was as if we were children being bullied and pushed around on the playground. This version is wrong, by the way, you're not allowed to do that, we see it differently - prove in a video on YouTube that your app is useful (no joke, this is demanded). When we talk about the arduous process of app development and complain about the conditions, we are referring to our experience since the inception of apps. Invented by Steve Jobs and copied by Google, we were there, following and participating in it all. We're not Apple fans, and it's important to consider that when we have to compare Google with Apple. But Apple shows how it's done. Even with iOS (Apple's operating system), new versions are released on a continuous basis. Do we have to chase after them? No, Apple ensures that features work on the devices by correctly processing the calls behind their API, always. And if it works on one device, it works on all Apple devices. In short, with iOS, developers feel like they're on a five-lane highway, while with Android, the wheels of the Android carriage come loose due to the bumpy ride on this Roman road. Apple painfully shows us how easy it is to release a cool app, including compliance with all legal requirements. The latter, however, seems to be a struggle for Google. While Apple already implemented this primarily before the European data protection wave, Google was somewhat flattened by it. We couldn't help but chuckle when we saw the following in what felt like the five-thousandth guideline:
Do not request location permissions if the data is solely for advertising or analytics purposes. Apps that extend the permissible use of this data to serve advertisements must comply with our advertising policies.
We tried desperately to imagine which of Google's own apps wouldn't violate this guideline and shook our heads in disbelief, returning to our development frustration. We created a video showcasing our functionality and set up a YouTube account so that we could present the video to the fine ladies and gentlemen at Google.
The irony of the subject
Let's be ironic, it feels terribly good when you're frustrated. Why the hell are there so many Android users? Okay, the devices are faster. Much faster than the iPhone. Really? If Android were a roller coaster, it would be the one at the amusement park that's tucked away in a dark corner next to the public toilets, just so families can send their 2-year-old kids on a thrilling ride. But if Android is so slow, why are there so many users? What else is important besides speed for a device that knows everything about you? Maybe it's the high appreciation for privacy? Even more disturbing than the self-ironic privacy policies of Android apps are the Android users who ask us if we take privacy seriously. Seriously? I've stopped wondering why I get YouTube video recommendations on topics I discussed with friends just the day before. Probably just one of many coincidences. If Android privacy were weather, we would get struck by at least three lightning bolts with every thunderstorm. But now, why so many users? Can't 70% market share be wrong? Well, it must be money, the price. Better than the iPhone, which is way too expensive. 30% more expensive, that's something. But why does a device have a price tag in the first place? The search engine is free, right? Yes, but the search engine isn't a device. It's not something that needs to be built and has many useful functions. No, you're right. When you press those little keys in the search engine's search field, data universes aren't intertwined and evaluated somewhere in the world. The search engine was created once in 1999 and hasn't been further developed by thousands of Google developers over the next 25 years. Gmail, free. Google Analytics, free. If we imagine things this way, why does an Android device cost anything at all? Maybe even Google didn't dare to provide them for free, as even the last primate would question if there was a catch.