I have ranted enough about my frustrations trying to diagnose and combat random Android battery drain, and since a picture is worth a thousand words, I’ll just show the following screenshots.

iOS:

Android:

What’s the key difference here? Simple: iOS is kind enough to point out apps that are draining my battery in the background. Of course, there’s another obvious difference, and I definitely miss the battery graph from Android, especially its ability to predict how much longer the battery will last. However, when it comes to actually diagnosing why my battery might be misbehaving, nothing beats telling me which apps, specifically, are performing battery-draining background tasks. Even better, iOS gives me fine-grain control over which apps can do so. I quickly identified a few apps that I didn’t need refreshing their data in the background and shut the door on them:

It’s important to note that this does not prevent push notifications from coming through; it just keeps those apps from running background processes to update their information.

I make this comparison not to bash Android, but rather because I believe it specifically illustrates the different philosophies of iOS and Android. Android and iOS both empower their users, but in different ways. Android empowers them with freedom, while iOS empowers them with control. iOS allows me to specifically limit the behavior of certain apps if I decide I don’t need or want a particular piece of functionality, or if I believe an app is misbehaving.Android takes more of an all-or-nothing approach to permissions – unless, of course, you download a third-party tool to enable that functionality.

Essentially, Android errs on the side of the app developer, while iOS errs on the side of the user. This difference is perhaps best illustrated in the screenshot below:

Notice the “App Explanation” portion at the bottom. It’s a little thing, but it’s important – what it shows is that yes, Apple will let a developer’s app use your location in the background, but only if the developer is willing to explain to the user why it needs to do so.

This brings us back to freedom: many of the things I can do to limit third-party apps can be done in Android, thanks to the freedom it provides users. I can root and download a tool to manage permissions or to hibernate apps with something like Greenify. However, it requires more effort on the user’s part, and let’s face it: most users simply don’t want to mess with their phones any more than they have to, which I think is a perfectly reasonable position to take.

Perhaps it boils down to this: iOS attempts to pro-actively protect the user from misbehaving third-party apps, while Android empowers the user to deal with it themselves – if they have the time and motivation. It’s the difference between standing guard in front of your house and warning you about possible intruders, or handing you a sword, walking away, and trusting you to learn to defend yourself with it. Both approaches are valid for difference people. Personally? After nearly a week of using iOS as my daily driver, I find myself enjoying a mobile OS that seems to have the user’ best interest at heart, even if it means sacrificing some freedom when it comes to what I’m able to do with my phone.

It’s frustrating because I know Android can do better, and it wouldn’t even take that much. The tools to deal with app-level permissions are already in Android, they’re just hidden from the user. The tools to monitor battery usage are already in Android, they’re just not good enough to pinpoint the behavior of a rogue process. All it takes is for the folks in Mountain View to put themselves in the user’s shoes and think about protecting the user while empowering them – there’s nothing wrong with handing someone a sword and still making sure you’ve got their back.