
Googleの最新版Googleモバイル検索アプリに搭載されている音声検索機能は、非常に巧妙に実装されています。耳に当てた瞬間を認識し、話しかけるように促し、耳から離すと検索を開始します。この機能を利用できるアプリはまだ他にありませんが、実はそれにはちゃんとした理由があります。iPhoneのコードのうち、この機能を制御する部分はAppleによって文書化されていないのです。
文書化されていないアプリケーションプログラミングインターフェース(API)の使用は、単に好ましくないというだけでなく、iPhone開発者がSDKをダウンロードする際に同意する利用規約に違反しています。その理由は特に悪質なものではありません。文書化されていないAPIは開発中であることが多く、変更される可能性があるため、それらに依存するサードパーティ製アプリケーションが動作しなくなったりクラッシュしたりする可能性があるからです。Daring FireballのJohn Gruberが、これが具体的に何を意味するのかをより詳しく説明した記事を書いています。
しかし、この問題の核心は、Googleのアプリが規約違反にもかかわらず、どういうわけかApp Storeに登場してしまったことです。Appleがその理由でアプリを拒否することに躊躇していないことは周知の事実です。音声検索機能自体はリリース前から大きく報道されており、Googleは文書化されていないAPIを使用していたことを認めています。ただし、プライベートフレームワークや動的フレームワークの使用については否定しており、技術的な観点からはより深刻な問題だった可能性があります。
では、Appleの審査プロセス(控えめに言っても一貫性がないとしか言いようがない)は、今回の件を見逃したのだろうか?(もしかしたら、Appleはアプリの素晴らしさに夢中になりすぎたのかもしれない。)それとも、アプリがAPIを使用していることを知っていたにもかかわらず、Googleだから仕方ない、という理由で許可したのだろうか?ウォーターゲート事件をそのまま取り上げるつもりはないが、重要なのは、Appleは何を知っていたのか、そして、いつそれを知ったのか、という点だ。