If you watched the WWDC08 Keynote or read any overview guides you are probably aware of Apple's intended Push Notification Service. (If you aren't familiar with this Engadget's article can bring you up to speed.) I have some mixed feelings about this that I'd like to discuss. When Apple first published its SDK Application guidelines, many people were upset about the strict "no background processes" rule. Personally I was worried at first but then realized what Apple was talking about. Full-sized computing platforms have more than enough CPU-power and memory to justify multi-tasking without much of a performance hit. Mobile processors do not have this leisure, even with iPhone's highly superior mobile hardware. Anyone who has Summerboard, MobileScrobbler, and more background-process apps installed will notice the difference in speed from a "vanilla" iPhone. Similarly to my journey with computers, at first I installed all the cool apps I could find, but now that the novelty has worn off I have opted against sacrificing performance for unnecessary functionality. It bothers me when zooming or switching to widescreen view in Safari takes more than a second to resample the image. Of course this begs the question: how do you lets certain apps that really do need constant data function without hogging CPU and battery life? Well, my idea for a solution was to create a unified "messaging" service, which would only be one process and one IP connection to receive messages. This messaging service could receive messages tagged with whichever application it was intended for and act accordingly (ie send instant messages to your iChat app, send Facebook alerts to your Facebook app, etc.) Then when I watched the Keynote I was very happy to see that Apple felt the same way...until they explained the system. Apple's system consists of a messaging system on the iPhone, like the one I had thought up and a server run by Apple that would push messages to the device on behalf of the application developer, as detailed in this picture: Please Register or Log in to view images Well I have a problem with this. This puts way too much control in Apple's hands. At any time they could implement a fee-based system to charge developers or users for using this background messaging system. I appreciate Apple's attempt to fix the background processes problem, but this scares me. Why can't developers just be given the API to that messaging service on the iPhone so that they can Push their own messages to it, rather than through Apple's service? I don't think it's the multiple IP connections that drain the battery or the performance, it's the actual background processes running all the time. The messaging system Apple is proposing is fine on the iPhone end, but since it's there I think that any application installed on the device should be able to register another Push server with the service to allow connections from only those servers.