In addition to announcing a number of new consumer features and developer features like accessory compatibility and in-app purchases, Apple today revealed a number of other new technologies that will be available to developers in iPhone OS 3.0.
Push Notifications: Apple will finally offer third-party developers a way to send small notifications to users about incoming messages and new content without the need to leave programs running in the background. As described last year, the developers’ servers will stay in contact with an Apple-run notification server, which will push the messages directly to the user when necessary. This feature is expected to consume roughly 20% additional battery life when turned on.
Peer to Peer: Peer to Peer is a new device connectivity feature that uses Apple’s Bonjour technology to let applications automatically discover one another and communicate over a Bluetooth connection. No pairing will be necessary, and although Apple pointed out the feature’s usefulness for close-quarters wireless gaming, Peer to Peer will also be available for traditional applications.
Google Maps and Turn-by-Turn Navigation: Third-party developers will, in iPhone OS 3.0, be able to add Google Maps directly into their applications using a new Maps API, instead of having to provide their own implementation. Additionally, developers will be able to use the OS’ Core Location features to provide turn-by-turn directions, but will need to supply their own maps when using turn-by-turn functionality due to licensing agreements.
iPod Library Access, Proximity Sensor, and More: Mentioned in a large graphic alongside other common APIs were new calls for iPod library access, letting third-party applications play music directly from the device’s library and potentially opening the door to an iPhone-based DJ application, and for the Proximity Sensor, which Google notably accessed via an unpublished API in its Google Search application. In addition, developers will gain APIs for accessing the battery, a standard audio recorder, and a pre-configured shake implementation.