熱心なAppleユーザーがiOSの優位性を主張する時に必ず持ち出すのが、Androidの「フラグメンテーション(断片化)問題」である。オープンなAndroidを利用して、たくさんの企業がモバイルデバイスを作り出してきた結果、ユーザーの選択肢は増えた。しかし、アプリ開発者にとって多彩なデバイス群は悩みの種になった。様々な画面サイズ、SoCやOSバージョンの違いにアプリを対応させなければならない。

下の画像はOpenSignalが今年7月に公開して話題になった、現在のAndroidデバイスのフラグメンテーション状態を可視化したものだ。昨年よりも分裂が進んでいる。

2013年7月時点のAndoird端末のフラグメンテーション状態

そのような中、Ars Technicaが「Balky carriers and slow OEMs step aside: Google is defragging Android (言うことを聞かない通信キャリアや、のろまなOEMを脇に寄せて: AndroidをデフラグするGoogle)」という記事を掲載した。Google Play Storeを利用するAndroidデバイスの99%近くでフラグメンテーション問題が解決しようとしているという。この内容を巡って、Appleサポーターのブロガー/開発者として知られるJohn Gruber氏や、Androidアプリ開発者の間でちょっとした議論が起こった。

最新のサービスをAndroidアップデートから切り離したGoogle

GoogleによるAndroidのデフラグメンテーション、その方法というのは「Google Play Services (Google Play開発者サービス)」である。Ars TechnicaのRon Amadeo氏は、同ツールを「Googleの新しいプラットフォーム」としている。

Google Play Servicesは、アプリとAndroid OSの間を取り持つShim (仲介アプリケーション)のような役割を担う。Googleアカウントの作成や認証、地図、位置情報、ゲーム、Google+共有関連などのAPI、マルウエアスキャナー、プッシュ通知など、たくさんのバックグラウンドサービスと低レベルAPIを処理してくれる。Android 2.2以上の端末にGoogle Playから配信され、アップデートも自動的に行われる。Androidユーザーは、インストールされているアプリを確認してみて欲しい。インストールしたつもりがなくても、いつの間にか「Google Play開発者サービス」がアプリに入っていると思う。以前は端末にOSアップデートが提供されない限り、Googleが提供する最新の機能やサービスを利用できないという状況だったが、今はOSが古いバージョンのままであっても、Google Play Servicesがアップデートされれば、同アプリを通じて新しいサービスや機能にアクセスできるようになる。

近年、AndroidのOSアップデートがペースが遅くなっている。登場から1年以上になるJelly Beanは4.1から4.3まで微調整のようなアップデートが続いている。次期アップデートのKitKatもバージョン5.0ではなく、バージョン4.4へのアップデートになる。

こうした傾向について、Amadeo氏は「Googleは優れた機能やサービスをAndroidアップデートに含めるのを止めてしまった」「クールなものは分けてリリースし始めた」と指摘している。Androidのアップデートは性能や基盤となる機能の改善、セキュリティの修正や強化などにとどめ、ユーザーを引きつけるGoogle提供のサービスや機能、例えば最新のマップはAndroidのOSアップデートに含めるのではなく、Googleのアプリとして積極的にアップデートを提供していく。それはGoogle Play Servicesを通じて、古いAndroidでも利用可能になる。Ars Technicaに記事が掲載された時点のDashboardsの数字(Google Play Storeにおける統計)で、Google Play Servicesに対応するAndroidデバイスは98.7%に達していた。

Amadeo氏の記事に対して、John Gruber氏は「これでサードパーティの開発者の悩みが解消されるとは思えない。Googleは自身のフラグメンテーション問題を解決したに過ぎない。それだけだ」とコメント。その議論にアプリ/Web開発者のChris Lacy氏が割って入ってきて「Play Servicesに含まれるたくさんのAPIは、全ての開発者が利用できる」と指摘した。同氏によると、Google Play Servicesを通じて、アプリ開発者は自分のアプリにGoogle Play Servicesが提供するサービスや機能を容易に実装でき、また一様ではないAndroid端末のOSバージョンに対応する負担も軽くなる。例えば、最新のAndroid向けに開発したアプリをAndroid 3.0(Honeycomb)端末で動かすと、Play ServicesのAction Bar Sherlockとサポートライブラリを通じて、初期Androidの機能だったアクションバーがアプリ内に表示される。

Lacy氏の投稿に対するGruber氏のコメントは、同氏にしては珍しく歯切れの悪いものになった。それでも「Googleは自身のフラグメンテーション問題を解決したに過ぎない」というGruber氏の指摘は的外れだとは思わない。Google Play ServicesはGoogleアプリ・パッケージの一部であり、オープンソースで公開されてはいないから、OEMが手を加えることはできない。クローズドであるが故にGoogleが完全にコントロールでき、フラグメンテショーン問題対策として効果を発揮する。ただし、Google Play Servicesの範囲にとどまる。おそらく、それはGoogleの戦略だろう。極端な言い方をすれば、Google Play ServicesはGoogleのサービスや製品を利用するAndroid端末ユーザーのためのソリューションであり、だからAmadeo氏が指摘したように「Googleの新しいプラットフォーム」なのだ。

オープンで自由に使えるAndroidというメリットを残しながら、一方でGoogle Play Servicesというクローズドな方法でGoogleユーザーにより快適な環境を用意する。賢いやり方ではないだろうか。どんな議論もAppleに好意的な結論に無理矢理持って行ってしまうGruber氏が、今回はその場を取り繕うようなコメントに終わったのがGoogleの戦略の効果を示しているように思う。

ASYMCOによると、先日Androidが10億ユーザーを超えた3番目のプラットフォームになった(アクティベーションをユーザーと計算)。初の10億ユーザー・プラットフォームはWindowsで、2番目はFacebookだったが、Androidはどちらよりも格段に早いペースで到達した。

Androidは5年とかからずに10億ユーザーに到達。下の点線は米ユーザー数。iOSに比べると新規ユーザーが少なく、1台の端末を長く使わずに短期間に乗り換えるユーザーが多い

10億ユーザーは節目の1つに違いないが、おそらくGoogleがこだわるのは同社のサービスを利用しているAndroidユーザーの数だろう。ASYMCOのHorace Dediu氏は、累積販売台数が6億5000万台から7億台になったiOSが来年に4番目の10億ユーザー・プラットフォームになると予想している。だが、Google Play Servicesをプラットフォームとして数えても良いなら、Google Play Servicesの方が先に到達するのではないだろうか。また昨今のGoogleの戦略を考えると、Chromeプラットフォームにも十分にその次の可能性があると思う。