Apple has recently seeded tools for developers to begin scripting applications capable of receiving data via the internet, even when they are not running.

Sound interesting? You betcha. Developers have been clamoring about what is often referred to as background applications, primarily because the iPhone is prevented from running multiple applications simultaneously. For example, if you are involved in an instant message conversation using AOL’s iPhone app and you receive a call, the IM conversation would shut down for the duration of the call and will not receive any new messages until relaunched.
Apple has encouraged that it has been in the best interest of the user to be free of background applications, as they are often flawed and lead users to believe that they have quit, when they are still running and effectively draining battery life, which as we know, is rather sub-par on the power hungry 3G.
“To solve this problem, Forstall said Apple was developing an alternative to background applications known as a “Push Notification Service” that developers could tap through a series of APIs, or easy to use programming functions, beginning in September. Instead of allowing potentially dozens of third party services to simultaneously access an iPhone directly, the push service would funnel all transmissions from developers’ servers through a central Apple server, which would then relay the data to iPhones through a single persistent and well-managed background connection.” via AI.
Utilizing this technique, developers can push badges to icons, such as the email count on the mail icon, sound notifications, or pop-up text alerts. This system was developed to easily scale to larger applications.
A second beta of the iPhone 2.1 software was released last night to a select few and includes rough implementation of the push services API. “This is the second beta of the iPhone SDK targeting iPhone OS 2.1, including bug fixes to iPhone OS as well as an early implementation of the Apple Push Notification Service API,” Apple said. “This API is not yet integrated with a live push server.”