updated 07:25 pm EST, Thu November 20, 2008
Google Mobile private APIs
The updated Google Mobile iPhone app is reportedly using Apple's private APIs (application programming interfaces), according to Daring Fireball. The voice search feature can be initiated by lifting the phone to the ear. The automatic process requires moving the phone and triggering the proximity sensor. Allegedly, there is no public API that supports the particular combination and order of events. With the public API, the app can turn the sensor on, but cannot know when the sensor has been engaged.
An undocumented method exists, however, but is private to Apple. The "proximityStateChanged" function also exists in the Google Mobile code, but would presumably violate the iPhone SDK guidelines. If the observation is correct, Apple either gave permission to use the API, noticed it but looked the other way, or was oblivious to the inclusion while reviewing the app for approval.
The implications suggest that Apple may not be offering a level playing field for iPhone developers. Apps that utilized private APIs have fallen through the cracks, however, without being noticed by Apple inspectors.