My Twitter feed has been filled with discussion about force quitting apps lately. It looks like this article from Daring Fireball prompted the recent discussion. This comes up from time to time. The basic summary is force-quitting all your apps is unnecessary and could actually hurt performance and battery life.
I’m going to take a pretty unpopular stance on force quitting apps. But before I get to that, I have to say that I worked at Apple on iOS battery life for a number of years. Of course, I’m not going to use any insider info here — it’s all stale anyways. What I am going to try do is make the case that:
Let’s just assume, for the sake of this discussion, that Apple’s multitasking implementation is both completely bug free and without any exploitable loopholes. Apps that run in the background can only do so via established APIs and only when iOS deems that to be appropriate.
The above article mentions a widely reported, and long-fixed, Facebook issue that would cause excessive background activity. This is for, likely, one of the most-used apps in the world. This appears only as a footnote, but really it’s the root of the problem. Whether it was a bug, as Facebook claimed, or intentional is not relevant. Just the possibility that some app might be doing something problematic is enough to establish a hint of mistrust in the system. This trust is the core issue.
It takes a long time to build trust, and only one transgression to destroy it. It doesn’t matter that iOS is excellent at managing background apps. It only matters that a backgrounded app could cause a problem. In fact, this possibility is real enough that Apple highlights “Background Activity” in the battery usage screen. I love this screen. I bet you are now thinking about checking that screen out on your own device. Because you don’t actually trust the system 100%, only like 99.9%. You want to verify. Possibly tweak some settings a little. That is a normal feeling, especially for a computer user.
When asked if force-quitting can help save battery life, Craig Federighi said, tersely, no. But, that was really his only option. Is he really going to say, “Well it depends, are you using version 3.4 of MyCoolApp, because it has this bad interaction with iOS 10.3.1 where…”. Is he really going to suggest you check your usage screen first? It was much simpler to just reinforce the ideal and say don’t do it. That’s sound advice in almost all cases.
No, I’m not. I’m just saying that is isn’t nearly as clear-cut as some believe. Power is like performance in many ways. It may seem obvious what’s up, but until you actually measure it’s hard to be sure. Measuring is also hard, because of environmental conditional and inter-process interactions. My guess is force quitting, in aggregate across all iOS users, is a net negative for battery life. But, I’m also pretty confident that if everyone stopped doing it, some people would see worse battery performance. Ultimately, it is a function of what’s running, network conditions, configuration, and how often you do the force-quit dance. It’s not trivial, and making it seem so does not lend creditability to the argument.
As a data point, I had a look at my battery usage screen. Out of the 18 apps shown, 4 indicate some “Background Activity” for a total of 12%. How much of that is from the background activity itself, I’m not sure. You can break things down by time, but time alone isn’t enough to compute power. Is it obvious that force-quitting would be a net-loss for me in this 24 hour period? I really don’t think so.
App state will go bad, from time to time. No amount of OS smarts will obviate the need for a force-quit function completely. So, as part of the multitasking system, Apple provides a way for users to terminate apps explicitly. It turns out, though, that users don’t just want to terminate apps when they are a problem. Some want to do it all the time. Like a form of hygiene. When you leave the house, turn the lights out and lock the doors.
It is possible that different UI treatments could improve that somewhat. And that’s on Apple. They could add a “state” badge to apps, or some other UI widget. They could expand and/or simplify the preferences around background behavior beyond background app refresh. There are probably a million different approaches here. How about this: if the user quits more than 3 apps in a row, just remove them from the list but don’t actually terminate them. There, done and done.
The task switcher is made by Apple. The backgrounding APIs and policies are made by Apple. Apps are inspected by Apple before being put in the store. This is completely Apple’s responsibility and within their power to improve. They have just chosen to present this simplified view. In turn, some users feel compelled to turn the only knob that Apple has provided.
They could also, you know, make their phones a little thicker and add some more battery. They could do that too. I bet that if an iPhone lasted 48 hours regularly, you’d cut the number of force-quitters in half.
I’ve seen people double-click an icon in the dock many times. This annoys me. One click, not two. I’ve chastised, attempted to explain, and also just gritted my teeth and bared it. Why does this get under my skin? It’s just one, harmless extra click. 100 milliseconds, perhaps. It isn’t just trivial, it also has no impact on me at all.
The fact is, this doesn’t affect anyone but the user. Is it mis-informed — yes, probably. But, that’s ok. We’ve had a chance to run a gigantic user-study on Apple’s multitasking UI and management. I don’t believe it has held up well for non-technical users. And, at this stage, blaming and shaming users is just ridiculous. Frankly, I think it’s an indication of just how poorly we can empathize in general.
Whether it is for security/privacy concerns, battery life fears, or because you like cleaning up after you’re done, it just doesn’t matter.