Apple's Notification Service - why??

I have a jailbroken first gen iPhone, with v1.1.4 firmware installed. Thanks to AppInstaller I have a lovely IM client, video recorder, location based restaurant finder and a bunch of other neat and quite useful apps (IMAPIdle is a godsend). So, I can be signed into MSN, deal with email as and when it comes in and browse full-blown web sites using my finger. Life is good.

So....what the **** Apple!?

You want to sandbox 3rd party applications so that they are limited in what they can and cannot do? Fair enough....but why no background processes??? I hear the reasons, I even sympathise with them (for the most part), but it's a kick in the balls for those of us who want to run at most maybe 1 or 2 background, resident processes so that we can IM and so on while we do other things.

I'm sure had they sat down and thought about things a little more they might have come up with a less compromised solution than an Apple Inc. owned and hosted push notification service. What about a central registry service running on the iPhone that applications can register with for callbacks when they are not running? Or register for callbacks and have a passivated state that an application can be in until the registry service "wakes" it up?

No lost CPU cycles from having possibly 3 or 4 other background processes doing nothing but polling a server over the network. Why not base it on xinetd? It will listen to a port on the apps behalf and wake it/start it up when a request comes in. It's not as nice as having the application be able to poll an endpoint periodically but it does save on battery.

On startup of the app's process the xinetd-like process can then pass control over to it.

I'm sure my approach is flawed, but it feels to me that it would have made more sense. My understanding of the iphone push notification service is that a process on the iPhone will essentially maintain an open connection over IP to Apple's servers. A 3rd party application could then make a call to Apple to pass some information over and this in turn is pushed down the open IP connection to the iPhone. This communication would carry either a badge, a message or both. The message would pop up like a text message would, and custom buttons that can launch the iphone application would be displayed.

Oh, and we cant use it until September sometime either.

Comments