Why No Background Scheduling in the iPhone SDK?

What is the real reason? Craig Hockenberry claims, in an otherwise very insightful article about why third-party background apps are a Very Bad Thing for your battery life, that the natural solution — letting the iPhone OS schedule access to the network and then giving apps the greenlight to connect in a single cooperative burst instead of activating the antenna piecemeal — was a little beyond Apple's capability for the beta Software Developer's Kit. He writes

Do I expect such a sophisticated system to be available in a beta of version 1.0? Hell no. And neither should you.
Maybe it's just me, but this system really does not sound all that sophisticated, not compared to the enormous piece of engineering that is already the iPhone SDK. In fact, it's downright simple. A scheduler/notifier that maintains a queue with a few new API calls — what's so damn difficult?

Not that I am advocating everybody whine some more about this issue. But nonsense is nonsense. As I see it, this is not rocket science.

It's far more likely that the reason for omitting this capability for now is that Apple doesn't want iPhone developers to use it as a crutch, or as a backdoor into executing non-network-related background tasks. They want you to learn to do without. When the consensus becomes that background processing is not nearly as necessary as everyone believed — then we'll have our network scheduler.

No comments:

Post a Comment