Apple allows Google to cheat in the SDK [UPDATED]

11/17

So, I don’t often get on a soapbox but this time I am flaming mad.

CODE UPDATE BELOW

Our friends at the worlds biggest software company seem to not be playing fair when it comes to their new iPhone application.

As it would turn out, their new Voice Enabled version of Google Mobile uses functions not available to normal developers and that may explain why it was delayed from launching when it was supposed to..

Google’s mobile application is actually truly innovative and it was built in part by Nicholas Jitkoff, a brilliant developer responsible for the kick ass mac app Quicksilver. Nickolas and fellow Google engineers like him really care about the ways humans interact with computers and this is evidenced by how slick the voice search works on the phone.

Here is a quick demo of it in action.

It appears that Google got Apple to allow use of officially undocumented features of the SDK to allow them access to the light sensor or proximity sensor, that used in conjunction with the accelerometer is what kicks off the voice search.

Pretty cool huh? Well therein lies the problem. Say I wanted to get access to those sensors to create a voice recorder that acts in a similar manner NOOOOPE NOT POSSIBLE! Why? Because you don’t have billions of dollars and can’t be trusted to use features that Apple has not properly vetted.

To quote Michael Arrington from Tech Crunch “Who knows why Apple delayed the application, or why they tend to treat every application developer equally poorly.”
My guess is that not EVERY developer is treated poorly, in fact it may be quite the opposite, some get treated way better then others. Either way, not cool Apple/Google, not cool at all.

<code>
It’s my guess that Google is using the undocumented proximityStateChanged method in UIApplication.

Funny thing is that I’m not the only independent developer who wants access to the same features.
http://stackoverflow.com/questions/165539/iphone-proximity-sensor

</code>

<update>

Confirmed: Google is using proximityStateChanged and now SO CAN YOU! (more on that below)
John Gruber over at Daring Fireball did a similar but more concise writeup and too says that Google is playing with the undocumented methods.

A proximityStateChanged discussion started on the iphone-dev irc channel and the very talented drunknbass mentioned that we could subclass UIApplication and just override the method.

All and all that is what I tried and I actually got it to work! WOO HOO!
So if you wanna try it just download my proximityStateChanged test application and try it for yourself.

Download: ProxAppNew.zip

</update>