The need of iPhone background apps.
Yesterday I tried some new apps from the iPhone jailbreak community on my iPod touch 2G (codename: sandbox). Some days ago, Leo from fscklog posted some quite interesting stuff at his blog (englisch translation). One of those apps was ProSwitcher by @rpetrich and @chpwn.
They’ve implemented a way to switch between different active apps by using the same approach of Palm’s webOS: You can flick through your running applications via activity cards. Of course, non of the apps you bought at the AppStore are able to run in background per default. That’s why ProSwitcher uses Backgrounder (another jailbreak utility) for sending apps into background mode. Even though I’m not a big fan of this whole jailbreak stuff, I must admit that ProSwitcher is very well implemented and runs smoothly on my device. It’s actually pretty fun to play with.
See the following demo on YouTube to get the idea.
One of the first apps I tried was the latest and greatest version of the Last.FM app. Now I could listen to my stations while browsing, reading etc. - awesome!
But after that I couldn’t really imagine any other apps that really need to run in background. So I gave I shout at the Twitter universe and received some feedback, even from one of ProSwitcher’s developers.
Sure it’s a nice thing to have your favorite IM app or your favorite game running in the background so it can be easily interrupted for some other action like sending an SMS, making a call, writing a note etc. but, like I said, those apps don’t need to necessarily run in background. For IM apps you got the Push Notification service that was introduced in iPhone OS 3.0. Apple may introduced it as some kind of workaround for the missing background apps but I think it actually worked out pretty well.
On the other hand you have a lot of great apps that are developed almost as if they were capable of running in the background. Tweetie2 is a good example. If you’re interrupted (e.g. by a phone call) and return back afterwards, it really feels like the app never quit. Loren Brichter really did an awesome job on that. With the iPhone 3G[S] and the new iPod touches I feels even more naturally because of the faster processors and the reduced startup time of almost every app.
But anyway, it’s a fact that iPhone apps are able to run in the background. Safari does, Mail does, the iPod app does, so why is Apple holding this feature back to its developers? My personal opinion: They just want to do it right.
It’s kinda like the introduction of the official iPhone SDK no more than one year after releasing the original iPhone. Just until today, many people think that Apple didn’t want to give away their APIs and only did so because of the pressure of the developer community. Bullshit! It was in the pipe for quite a long time but they just want to do it right before releasing it.
Background apps are coming (maybe in iPhone OS 4.0) but…
- Will the feature be made available for really every app that will be submitted to the AppStore? And if not, who will make the distinction?
- What about memory and battery consumption? Does it require a new / improved memory and energy management?
- What about the design of the UI for the end-user?
I think to get a satisfying answer to all those questions Apple has to dig deep under the hood of the iPhone OS. But until then, I’ll regard ProSwitcher more like an (awesome) experiment than a real solution.
For those who are curious: You can browse ProSwitcher’s code at github.
