Background Apps: They’re Not Just for Push

So Apple announced their push facility for iPhone OS 3.0 today. I think that’s great. Unfortunately, it’s only half a solution, and the other half is pretty important, too. At least it is to me. Let me explain.
If you want an app to let you know of something going one while you’re not looking — so you can do other things and stay informed — then push is great. In fact, I agree with Apple that keeping the whole app running in the background is overkill for this. In that regard, their push solution seems a great addition, keeping us from running numerous apps (and burning CPU cycles and battery life) for no other reason than we don’t want to lose touch. I’m with Apple on this solution all the way.
But sometimes it’s not about notification. Sometimes it’s just about switching.
Every single day I use NetNewsWire on my iPhone to read RSS feeds. I do this an hour or more each day. During that time I also stay in touch with friends and work via email and chat. Since I use Apple’s Mail and SMS apps, I already get background notification (further proof I know how necessary that functionality is). However, when I go to mail or chat to read/respond, I have to quit NNW. And when I go back to that app it must relaunch, and then I have to navigate back to where I was. This is frustrating enough that sometimes I delay responding until I hit a more convenient point in the text.
Why does it have to be this way? My point is that I don’t always want an app in the background for notification purposes. Sometimes I want it in the background because I’ll be switching right back to it. I’m only leaving for a few minutes; I’ll be right back. Why do I have to quit the freakin’ thing?
Push does nothing to address this usability issue. This is where allowing it to stay open in the background is a great solution.
To be sure, an app might be written to try to remember where it was, but even then I still have to relaunch it and let it figure that out. Why can’t I just switch to an app and back to another?
Way back when Switcher hit the Mac (and DOS before that), it wasn’t about background notifications. It was about not having to feel restricted to one app at a time, and not having to wait for an app to startup. I think those are still valid reasons for switching today. I wish the iPhone would allow it.
Make no mistake, the push facility is huge, and will be a great improvement. It addresses a critical portion of backgrounding in a better and more efficient manner. It also levels the playing field in giving third-party functionality that Apple’s apps already had. But it’s not the whole story, and it appears I’ll still be stuck with my switching problem even with a sleek new 3.0 iPhone.
Related research and analysis from GigaOM Pro:
Subscriber content. Sign up for a free trial.

Great observation… I am excited about Push, but it would be great to move around a little more freely.
It is a best practice for iPhone applications to save their “state” before closing or as they’re being interrupted by a phone call, etc. so that when opened again or after the interruption has been removed, the application can restore that state. A lot of applications don’t do this but it is recommended and supported by the iPhone SDK.
Ah just noticed your paragraph on apps being written to remember their state, nevermind.
I think you’ve got it upside down backwards. We do need background apps, but not for the purpose you’ve just mentioned. NNW could just as well save its state and resume from where it left off. Games do it all the time.
BG apps are required for this like voice recording while reading notes, listening to internet radio while chatting, and your files being transferred without having to have the app open.
Milind,
“NNW could just as well save its state and resume from where it left off.”
As I said, even when remembering their state, I still have to bother re-launching the thing. Much, much faster just to switch to it.
As for your other examples, they’re all valid. My NNW example was by no means meant to be comprehensive. The point is there are other reasons for background apps besides push.
This is the beginning, middle, and end of why my iPhone is jailbroken. I could live without pretty much everything else but iRealSMS lets me respond to SMS messages without leaving the program I am using.
I think Apple should have just made a sort of virtual ‘shelf’ out of the bottom half of the iPhone screen. Kinda like the dock on Mac OS X. You don’t need a task manager. They could just put an “X” mark there for all running apps so you can close them when you don’t need them to run. Besides, they could also make apps run in the background only if the dev chooses it that way (as well as after user confirmation). Apple could have done all of this without creating a mess that is WinMo, but they choose to instead have push notifications.
Am I the only one who hates those bubble notifications on our beautiful iPhone? They didn’t even make them a little more subtle like on the Pre.
*I’m an iPhone lover, and think the new update is awesum!
One other reason to add to the list… let’s say I want to have my To Do list app remind me 2 hours before a task is due. So what happens Apple when I am in a bad reception area when the 2-hours warning time hits? I just miss it?? Why should a reminder type functionality need to have a whole server-side apparatus and internet connection just for something simple like this? Seems like massive overkill to me. For this particular purpose, it could be handled with some kind of ‘local’ notification process that would wake the To Do app up at the specified time.
I definitely see your point about switching. I hope startup times can be improved and this issue may go away.
Now, I want to listen to Slacker instead of my iPod and Apple doesn’t seem to want to allow this.
Why does it have to be this way? My point is that I don’t always want an app in the background for notification purposes. Sometimes I want it in the background because I’ll be switching right back to it. I’m only leaving for a few minutes; I’ll be right back. Why do I have to quit the freakin’ thing?
Jailbreak, install Backgrounder. Allows you to run an app in the background and then return to it instantly from the springboard. It’s really neat.