Now that Apple has said they will not support background tasks in the iPhone, what are you going to do?
1. Can you use that "push" technology they talked about?
2. If not, is this going to harm your application goals?
3. If so, what are you going to do about that? Find a work around? Abandon the iPhone? Something else?
I know that's what they've said ... but there have been rumors they might allow it and Jobs admitted that it was their #1 requested feature.
Push only solves the problem in one direction ... basically the phone needing to be updated with data from the server. Having a background task might allow the phone to gather data while it's in your pocket or while you're on a call.
Well, this obviously didn't cause problems for most people ... I guess I'm special. 🙂
We're about to do an analysis of the impact of this decision for our work. We're probably going to have to put our iPhone work on the back burner until this restriction is removed (which, I admit, is unlikely to happen in the near future).
Honestly, having done enough work on Windows Mobile and run enough stuff on a jailbroken iPhone, I can attest that letting stuff run indiscriminately in the background really can drag the phone's performance and battery life down. Even just adding a few new system things on a WinMob phone -- like a new battery status tool, a task menu, and a Today screen replacement -- can have a noticeable impact on your battery life, with that much more running regularly and nonstop.
If the lack of background stuff kills your app design, that's unfortunate, but most things /can/ be worked around with a server and the push functionality. And push data will be way more battery friendly (and network friendly, for that matter) than allowing constant background app usage.
I understand what you're saying. But there are ways of being friendly. I've done it on Windows Mobile quite successfully on even older phones. It's something I think the user should be allowed to decide ...
Nevertheless, I'm not going to get any policies changed here. It's good that most people are going to be able to use the push tech. I wish I could!
Some of my ideas will be much less useful without background tasks (particularly the ones that involve having data available offline); others will actually be more useful, since the push system favors designs I might not otherwise use. (In particular, I've been thinking about how I'd design an IRC client--the simple way would be to have the phone directly interact with the IRC server, of course. But if you introduced an intervening gateway, you could have connections persist when the user closes the app, and the server could push notifications. The persisting behavior is lovely for users, but I wouldn't consider implementing it that way without the push server.)
It's a shame, though, that I can only push badges, sounds, and popups. If I could push files into a sandbox's Documents folder, a lot more of my ideas would work.
Yes, I agree: the push tech is another tool in the tool box that could be really useful. It doesn't solve all problems of course and I think the unfortunate aspect of that is there will be some really great apps that can't be done effectively on iPhone. Of course, I'm sure Apple has considered that trade-off ... but their top-down approach of "we know best" does have consequences.