Grokking Android

Getting Down to the Nitty Gritty of Android Development

Why Google Limits APIs With Every Android Release: We Devs are to Blame!


Last week Android Q was released. And the first thing that came to my mind when reading the Android Q announcement was: "Finer grained location permissions! Thats's great!"

But then, it got me thinking: "Wait a moment! Why is this even necessary?"

Don't get me wrong, I really think this addition is necessary and it is a big improvement. But...

Well, to be honest, this and similar changes are only necessary because we developers are not careful enough. We kill precious bandwidth or - in this case battery life - by being overly generous with the user's resources. Not to mention dealing with the user's privacy concerns in a haphazardly manner - if at all.

Privacy is at the core of Android Q
Privacy is at the core of Android Q

Alas, this disregard of the user's resources and privacy concerns is a theme we have had for quite a long time. And Google is trying to fix it, is trying to limit our ability to wreak havoc. This is a recurring theme to all the latest Android updates.

Notifications had to be reined in again1) and again2) and again3) and again4) and again5). Honestly, we're really treating our users that badly.6)

And, yet, we still have notification spam. That's disgusting!7)

Notification Spam
Notification Spam

Same goes for the battery life. Doze and App Standby, later enhancements to it as well as background execution limits: Only necessary because apps drained the battery and took bandwidth for granted. In short: because apps behaved as if users were only using this one app.

And why did apps behave that way? Because product managers wanted it that way. Because devs didn't care. Because someone intended to make a quick buck.

It's a pity that Google is being forced to go down that route. But I laud Google for doing so and am tremendously thankful for that. But it's a pity nonetheless.

It's not even optimal for users. For example settings concerning one app should be within the app. But since apps misused Android features too often, we have them scattered all over the place. Do you know off the top of your head where you can allow apps to draw on top of the screen?8) Where to configure the notifications on your lock screen? Where to make another app the default SMS app?

In short: As a user I am glad that in Android Q I am able to limit background location access.9) On the other hand I would have preferred if Google never would have been forced to do it that way in the first place.

It's not Google's fault. We devs are to blame. It's that simple. Time to do better, isn't it? improvements


1 Notification listeners allowed user's to control the appearance of notifications; AFAIK they were actually introduces with Jelly Bean - together with the per-app setting to disable notifications
2 Lollipop's biggest notification reining in was the addition of the Intent category for your settings activity that controls the notifications settings. Of course the overall appearance changes and lockscreen settings were the more obvious changes.
3 Nougat added bundled notification - and bundled notifications even if devs didn't care about it.
4 Notification channels moved notification settings completely out of the app and allowed users to finetune the settings for each channel.
5 With Android Pie users could block groups of channels easily.
6 And I didn't even mention, that Android nowadays suggest to no longer deliver certain notifications if you swipe them away all the time.
7 Juhani Lehtimäki - rightfully appalled - posted about this abonimation on Twitter on March, 19th.
8 One feature on the verge of being limited too much in Android Q in my opinion - if it stays that way.
9 Joe Birch has written a nice summary about what those location permission changes mean for us devs.

Wolfram Rittmeyer lives in Germany and has been developing with Java for many years.

He has been interested in Android for quite a while and has been blogging about all kind of topics around Android.

You can find him on Google+ and Twitter.