I read David Pogue‘s latest article in the NYTimes regarding extending your battery life with a lot of interest. There are some mistakes in the article, particularly on how one can actually prevent apps from staying in the background by killing them – Pogue has requested the NYTimes people to amend his article.
What got me more interested was the fact that quite a lot of people don’t really understand how multitasking on iOS 4 works. One of the main reasons was the way Apple (and most likely Steve Jobs) dictated how multitasking should work on their mobile operating system.
Thinking differently, Apple thought that their multitasking implementation would help a lot in saving battery life. To a certain extent, they did.
Yoda: there is another.
Yes, there is an additional category of apps that remains running in the background when the users quit. Some example of apps in this category include those that plays music in the background like Pandora, some VoIP-based apps like Skype and apps that require constant usage of the GPS radio. These are apps that will drain your battery, per se.
Obi-Wan: So what I told you was true, from a certain point of view.
Certain iOS 4 compatible apps that go into a suspended mode, don’t really get suspended until 10 minutes later. Apple gave developers a grace period of exactly 10 minutes to complete whatever task that the app was actually doing. For instance, let’s say you are downloading a file in GoodReader (boy, I love this app a lot!). While the file downloads, you get an incoming phone call. You decide that the call is important so you picked it up. Moments later, you end the phone call and return to GoodReader. Your file may have been downloaded completely. GoodReader has just spent the 10 minute grace period to complete its task of downloading your file before telling the operating system that it is okay to put it (GoodReader) into suspended mode.
What happens if Good Reader didn’t actually finish downloading the file after the 10 minutes grace period is over? In this case, the app would have to give up the task and inform iOS that it is okay to be suspended. Failing to do so will result in the app getting killed by the iOS watchdog.Apple did a great job with the way multitasking is handled. The implementation of their “multitasking bar” was a little flawed though. It is basically a list of “recently used apps” instead of “what’s still running” in the background. You don’t actually see what apps are really running in the background unless you dig further into iOS.
That’s where the idea of my recently released app, AppSwitch came about. The app was born out of the need to see what apps runs in the background, versus which doesn’t. Before AppSwitch, there were already a lot of apps that display a list of processes on your device. But I thought I could bring AppSwitch a level further.
A few months later, AppSwitch was born. And while it took a few weeks of “fingers and toe-crossed” moment hoping that it won’t get rejected, the app finally went thru Apple’s strict approval process.AppSwitch identifies and displays a friendly list of apps that runs in the background. Compare this to the usual processes listing app that simply gives a list of weird Unix-like names. AppSwitch can do this because of its own internal database of identified apps, all thanks to feedback from users and developers alike.
I tend to use AppSwitch to see which app remains running in the background, and decide if I should kill it from the Recently Used List. This has helped me save battery life by allowing only apps that I really need to run in the background and preventing others from running at all once I quit the app.
I’d have to say that we do get a lot of request from users asking to add a “kill” button into AppSwitch. Unfortunately, that will never be allowed by Apple.
You may be asking why would I want an app to see what other apps are running. Well, truth is, AppSwitch has its novelty and it’s other features like the Console can be helpful in troubleshooting an app. You can still kill apps from the Recently Used List.
On another note, you may also want to check out this article that I wrote many moons ago on how I actually maintain the long-life of all my battery-powered devices.