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.
Share
Categories
Analysis / Opinion Software Apple iPhone App Store iPod touch
Apple's push notifications sure are neat, but they aren't the brass ring for developers on the iPhone. That, so far, would be background...
Add a Comment
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.
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.
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.
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.
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.
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.
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.
I actually think that's the original facebook app icon.
May 19 2009 at 10:45 AM Report abuse Permalink rate up rate down ReplyI'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.
May 19 2009 at 6:28 AM Report abuse Permalink rate up rate down ReplyCorrect 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.
May 19 2009 at 10:00 AM Report abuse Permalink rate up rate down Reply"...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.
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.
May 19 2009 at 4:56 AM Report abuse Permalink rate up rate down ReplyYaa,I think that background apps will need new hardware. The current hardware is too limiting, particularly the amount of RAM available.
May 19 2009 at 3:54 AM Report abuse Permalink rate up rate down ReplyThe 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.
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.
May 19 2009 at 1:16 AM Report abuse Permalink rate up rate down ReplyI 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.
May 19 2009 at 4:41 AM Report abuse Permalink rate up rate down ReplyHot Apps on TUAW
Deals of the Day
more deals- Refurb Apple MacBook Air Laptops: 12" 64GB SSD for $699 + free shipping
- JVC Motion Sensing Clock Radio with Dual iPod Docks for $55 + free shipping
- Apple iPhone Headset with Mic for $4 + $2 s&h
- miFrame Picture Frame Dock for iPad for $64 + $8 s&h
- Refurb Apple iPod nano 8GB MP3 Player for $99 + free shipping, 16GB for $119
- Hannspree Apple-Shaped 28" 1080p LCD HDTV for $270 + free shipping
Software Updates
more updates- EFI Firmware Update brings Lion Internet Recovery to 2010-model Macs
- OS X Lion 10.7.3 released with Safari 5.1.3, Wi-Fi bug fix
- Aperture updated to 3.2.2, addresses Photo Stream issue
- Apple updates Keynote to address Lion issues
- Google Search app gets new look on iPad
- Apple releases Apple TV Software Update 4.4.3



20 Comments