iOS/Androidのアプリ間通信が普及しない理由

次の記事

4SquareAnd7YearsAgoがリニューアル。今回はTwitter、Facebook、Instagramにも対応

ヴァネヴァー・ブッシュからPageRankに到るまで、World Wide Webはハイパーテキストでできている。少しばかりの情報をどこかへ繋ぐための概念だ。しかし、それはいつでも夢だった。そして最近その夢が急速に浪費されるつつある。

昨今ではウェブリンクでさえ警告や有料サイトの壁や登録画面によって遮断される。Anil Dashは、「Facebookはウェブを自殺に追い込もうとしている」と、同サービスのFacebook外コンテンツの扱いに激怒している。Jon MitchellJamie Zawinskiは、Google Plusの外部コンテンツの扱いは「インターネットを台無しにする」と訴える(さらにZawinskiは「彼らはこのモデルをTumblrからパクっただけ」と付け加える)。一方、GoogleのTim Brayは“hash-bang”を使ったJavaScriptサイトがウェブを破壊すると憤る

ところで、Flurryによると、6ヵ月前にモバイルアプリの利用に費された時間が、ウェブ消費時間を超えた。〈アプリから〉は簡単にリンクできる ― 電話番号をクリックするとダイアルする、リンクをクリックすればウェブページが開く等 ― しかし、確実に〈アプリに〉リンクすることは難しい。

いや、そのためのインフラストラクチャーは存在していることは、Sarah Perezが先週「アプリのWeb(アプリ間ハイパーリンク)は可能か?」で指摘している。理論的には、AndroidのインテントやAppleのカスタムURLスキームを使えば、アプリ間で相互に情報をやりとりできる。しかし、これをアプリ間通信に用いることは依然として極めて難しく、もどかしい。

その主な理由は、AppleもGoogleも、個々のアプリが使用するURLスキームやインテントを公開していないからだ。私にはこれがどうにも不可解だ。彼らはすべの情報を既に持っている。App StoreやAndroid Marketにアプリを提出する際のInfo.plistとAndroidManifest.xmlというファイルにそれぞれ含まれている。彼らに必要なのは、検索可能なウェブインターフェースを提供するか、その情報をApp Store/Android Marketの「デベロッパー向け」タブに入れることだけだ。

彼らがそう〈しない〉理由は本質的にない。両社ともアプリのネームスペースを既に管理している。両社とも情報を公開したくないアプリ開発者のために「private/public」フラグを追加できる。しかし、彼らはやらない ― しかたなくわれわれれは、危っかしい、期限切れのサードパーティーサイトに頼らざるを得ない。 iOSならAkosmaOneMillionAppSchemes、AndroidならOpenIntents(奇妙なことにGoogleは昨年のSummer of Code賞にOpenIntentsを選んだ)。

もし、アプリのインテント/スキームの信頼できる情報源があれば、はるかに多くの面白い可能性が広がる。アプリが他のアプリを呼び出そうとして、インストールされていなかった時、黙って終了する代わりに、ダウンロードしてインストールするようOSが要求できる。互いに依存するアプリを作り、一方をダウンロードすれば必要なサプアプリが自動的にダウンロードされインストールされるようにできる。

何よりも、一つのアプリから他のアプリへと、まるでウェブサイトのように、相互に確実にリンクできるようになる。実に簡単なはずだ ― しかし、AppleもGoogleも、何年にもわたってこの可能性を放置したままだ。私は、数年のうちにHTML5アプリがネイティブアプリを置き換えることを公に予言した。アプリ間でリンクする能力 ― 即ち、ハイパーテキストの夢の一部を実現させること ― は、主たる理由ではないが、要因の一つであることは間違いない。

画像提供:Sébastien Gelé、Flickr

[原文へ]

(翻訳:Nob Takahashi)