Filed under: Analysis / Opinion, Software, Apple, iPhone, App Store, iPod touch
Rumor: Apple working towards putting background processes on the iPhone
Ars Technica reports that Apple is still trying to figure out a way for certain apps to do it. There's two options laid out here: one is user-based, in which the user actually approves certain apps to run in the background, with the consequence (if you do choose to enable that) of lower battery lifetime. The second has Apple approving apps for background action, allowing certain developers to run based on limits of "resource usage such as RAM or network bandwidth."
Obviously, there are pros and cons to each plan -- giving the power to the user means they will be able to choose when the battery is drained (on a particularly busy day, for instance, or when the iPhone is plugged in), but it also means that users will have the ability to crash their own phones (allowing too many background processes could cause issues). And of course, while leaving the choice in Apple's hands will make sure background processing is only used in the "right circumstances," we all know how great Apple is at app approval.
Ars concludes on the same point that I would: if background processes are really going to make a difference, they'll likely rely on a future iteration of the iPhone, as the one we've got now is just not built to run apps all the time, no matter who chooses them. Even if Apple is working out a way to run certain apps in the background, they are almost certainly spending more time beefing up the iPhone hardware as well.


![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 1)
Kevin said 10:32PM on 5-18-2009
I think the perfect way for this to happen is for any app on the dock to be allowed to run in the background. Then only four apps can be used in the background and I would finally have a use for the stupid dock. And for quick switching between apps, Apple could have the dock be able to pop up in front of a running app so you can switch to any app sitting on the dock without going to the springboard. Almost like a springboard-to-go.
Reply
Mike said 10:59PM on 5-18-2009
I just want to be able to respond to a text message without closing out of whatever app I was in and then relaunching it. Or check an email while still streaming audio. Nothing crazy!
Reply
reallycrazyguy said 11:03PM on 5-18-2009
Yeah, I think that background apps will need new hardware. The current hardware is too limiting, particularly the amount of RAM available. Right now, apps only can use about 20-30 Mb of RAM or so of the 128 Mb total present, and to split that amount up with another application (code+data) just isn't feasible for many apps.
If Apple increased the amount of RAM to 192 or 256 Mb, even with the same speed CPU, well-behaved background apps should work quite nicely (except perhaps for the most CPU-demanding games).
Reply
airmanchairman said 12:48AM on 5-19-2009
Auto commuter user's dock: SatNav, Radio, Phone, Speed Cam app (no texting, emailing, gaming etc for safety/legal reasons);
Uber-gadget-geeks dock (expert mode): as per normal, with 2 or 4 "wildcard" slots for extra background apps - timeouts ensure that idling 3rd party apps do not "bogart" CPU time by force-quitting if not used.
Default dock: as per normal (iPod, Email, Safari, Phone). with notifications for IM's, Twitter, Facebook, Loopt, etc.
Reply
the old man said 1:16AM on 5-19-2009
With Backgrounder from Cydia (jailbreak), I'm able to background apps. It's very handy for switching momentarily to something else; to answer a text message, for example. Just background the app, send the text, and head right back to the original app. Works great. I don't IM, so there's no app that really needs to run constantly in the background, so I can't vouch for battery vitality. I can say that it's no big deal to have a couple apps running the in background as far as memory goes.
Reply
lcooperdesign said 6:57AM on 5-19-2009
I agree, especially with the newest Beta iteration of Backgrounder. Works really well for me and if things do get sluggish, which is rare, I simply hold down the home button, up pops the App Switcher pane and I can quit/force quit anything that I know is being a resource hog. It's beautiful to be able to flick between twitter/sms/email/safari without delay.
Hawke said 1:24AM on 5-19-2009
The stuff on Cydia works pretty decently... I don't see why the "you just can't do it on the iphone right now" is still the case. Let us choose - I love the iPhone but hate "Apple knows how to use your phone better than you do" aspect.
Reply
Maddy said 3:54AM on 5-19-2009
Yaa,I think that background apps will need new hardware. The current hardware is too limiting, particularly the amount of RAM available.
Reply
Tom said 4:59AM on 5-19-2009
I'd like to see that Apple creates a special API so that a program can create special background processes. Usually, there's no need to run an entire application in the background, but only a small part of it. For example when you want to have a GPS tracker application track your coords while you're surfing the web, there's no need to have the whole GPS tracker app run in the background, but only a small part of it - a tiny process that just collectes your coords and writes them to a log file. Or when you want to have an Internet radio app stream the music while you're playing a game, there's no need to have the whole app running in the background with all of it's GUI and stuff loaded, you just need a tiny process which receives the stream from the Internet and plays it to your earbuds. Each of these apps which such a special background process could have a setting that you can turn on or off which configurs if this process remains alive when you close the app or not, soyoucan decide for which apps you want this or not.
Reply
mrnym said 5:38AM on 5-19-2009
"...one is user-based, in which the user actually approves certain apps to run in the background..."
That is exactly what I have in mind since they came up with "no background processes, causes battery drain, bla bla" thing. I mean, is there any other operating system with such a restriction out there? Being able to run multiple applications is a core functionality today. And I don't think that hardware being incapable is an excuse. Yes, 128mb ram prevents to run lots of applications with high hardware demand, but I didn't hear any user who wanted to run Resident Evil, Safari and some other resource hog at the same time. I think current hardware is capable enough to allow us switch between 3-4 regular applications. Apple can let users decide how many applications they want to run at the same time. This way, Apple won't feel guilty about battery life and performance issues because it is our decision, and we will get what we want. However, this applies for the current generation of iPod touch and iPhone, and Apple should really feel guilty if they still put users in a place where they should make a choice between performance and the ability to run multiple apps in future generations of these devices.
Reply
Ultima Thule said 6:33AM on 5-19-2009
I'd love to be able to view and edit notes while recording in order to leave all the paper and stuff at home when I'm about to do an interview, etc.
Reply
Jayson said 10:00AM on 5-19-2009
Correct me if I'm wrong, but I think the new Voice Memos app runs in the background while you're recording. You can be anywhere in the iPhone while recording a voice memo.
Markito said 10:08AM on 5-19-2009
A little off topic here (sorry). In the photo above, I see a much nicer Facebook icon than I have on my iPhone. Mine has just a boring solid blue background, while the one above has some nice two-tone sketches on it. My version seems to be current. Is that an old icon? I like it much better than the solid blue one. Anyone know? Just curious.
Reply
the old man said 10:46AM on 5-19-2009
I actually think that's the original facebook app icon.
Rob said 11:38AM on 5-19-2009
You state "as the one we've got now is just not built to run apps all the time, no matter who chooses them." but I am 99% sure the current iphone does use backgroup apps its just Apple decide which of thier apps do i.e. once opened the browser actually stays open, pretty sure it does not close down.
Calls coming in must be currently picked up by a background app looking for calls so much of what they need is already there is just the control mechanism that isn't.
To me the "user actually approves certain apps" is the ideal result. This means its on your head if your phone crashes. Would please lots of people out there but also mean those who don't know or want to run background apps would not be affected.
Reply
Alexandre Strube said 12:22PM on 5-20-2009
And then wait for the complains at the genius bar that leaving some shitty gps tracking app open on the background kills the battery hardly.
Seriously, one of the most common tips for saving battery is disabling gps at all, as it draws power even when the phone is doing nothing.
Josh said 11:46AM on 5-19-2009
Actually, those two options are not only NOT mutually exclusive, but they are complimentary.
Allowing apple to vet certain apps that have ultra-low resource usage as "safe" to run in the background (with a global ability to disable it for all apps by the user) combined with the ability of an app that isn't vetted by apple to ask the user to run in the background...
I don't see why one method alone needs to be picked.
Reply
RenaldoJohnson said 3:19PM on 5-19-2009
Apple apologists aside, there is no reason to disallow background application other than as others have commented, not enough executable RAM and wanting to control the user experience.
The battery draining excuse is a pathetic cover story, windows mobile, blackberry, symbian all run third party background apps (even with significantly less executable RAM on some) fine with no power drain issues. Sure there is the occasional misbehaving app, but you just choose to not use it, and problem solved.
Any user who's jailbroken their handset and looked at "top" in terminal can see that all Apple apps can be backgrounded, and stay backgrounded until the device runs too low on memory.
Saying push notifications are the silver bullet instead of background apps is just braindead. I'd really like to see their explanation for how an app like Pandora or ShoutCast can be run via push notifications.
It has more to do with their perception of a good user experience than anything else, and consumers lose their choice to run the device how they want as a result.
Reply
Alexandre Strube said 12:43PM on 5-20-2009
Not really. I did some stuff for the iphone and did some experiments with jailbroken tests on backgrounding. It does hit the battery hard if you actually do something when in background.
It's not like a browser sitting idle just to be opened quickly and exactly wherever you were, which works well. The iphone scheduler is pretty much the same of mac os, and can change priorities if needed. The problem is that when you do something, you take more time from the processor, more memory, may use the disk and use other phones' resources.
RenaldoJohnson said 6:48PM on 5-20-2009
Testing against jailbreak apps is not a fair and legitimate test. Jailbreak apps generally don't use sanctioned APIs, methods, et. al. and are vastly more inefficient than properly written applications. Even using the jailbreak backgrounding hack isn't a true test, as iPhone apps sold in the app store are designed for foreground efficiency, not background efficiency.
Take the old iRadio app around the 1.1.4 era, its MP3 decoding was happening on the main application processor instead of the audio decoder and it consequentially ran slower than molasses in winter.
Sure some of the newer jailbreak apps have been written better, but again, it's quality, not quantity. It just requires a power consumption guideline from Apple for app certification and presto, the users get a choice instead of having that choice jammed down their throats. (Of course one could always argue their choice can be going to another application platform, but that certainly isn't a good solution for Apple.)
Also, if it were true background tasks kill your phone, then Mail running in the background all the time while I am in the weather app would be killing the battery too, but it doesn't. The biggest killer of battery life with background apps is apps that don't allow the device to truly sleep when it tries to, and as mentioned elsewhere, the GPS chip or other hardware remaining on when it shouldn't.
To use a comparison on another PDA platform: There is this IM client for BlackBerry called Ramble, it is free, but it is also inefficient and sops the battery like crazy. There is another client called BeeJive IM. BeeJive can run in the background all day long and barely affects battery life on the BlackBerry in comparison to Ramble, especially if you enable it's low-power background mode. There are also IM clients that come with most cell providers BlackBerries now that have native AIM/MSN/Yahoo/etc. but are actually the Oz messaging client that utilizes SMS for instant messaging. These are even more efficient as they don't need to keep a packet data session open, they only have to wait for the cell network to pass them a message.
All of these apps can be run in the background, the user has the choice if they want free but at the expense of battery life, fast and efficient but at the expense of money, or carrier provided but at the expense of IM limitations, no file transfers, etc.
Such a choice does not exist yet on the iPhone platform, although notifications are definitely a good first step.