iPhoneが大好きな人も大嫌いな人も、買ってきたデバイスでApp Storeのアプリが全部動くことはみんな知っている。これまではGoogleのAndroidプラットホームでも同じだった。ただし、それはデバイスがG1の1種類しかなかったからだ。今後新しいデバイスが発売され、それをサポートする新しいファームウェア(1.5、通称”cupcake”) が出てくるにつれ、物事は怪しくなってくる。
先週われわれは、Androidソフトウェア1.5のアップデートによって、これまで動いていたアプリで動かなくなるものがあるという件について書いた。Googleが解決方法のヒントを与えてはいるが、厄介な問題であることに変わりはない。そして今日Android開発者ブログに投稿された記事には、恐れていたあの言葉が書かれていた、「Backward compatibility」(下位互換)。
オープンプラットホームとして、GoogleではAndroidの全アプリに対して下位互換を要求してはいない。しかし、多くのデバイスやアプリケーションが出てくると、そのことが問題になりかねない。Googleがこう書いている、「あなたのアプリケーションをあらゆるデバイスで動かしたいですか、それとも新しいソフトウェアの走るデバイスだけにしますか」。iPhoneアプリの大半が、同じ質問の2番目に答えている。それが縛りになると思うかもしれないが、おかげでApp Storeには一定のシンプルさが保たれている。そしておそらくもっと重要なのは、iPhoneアプリの開発にもそのシンプルさが保たれるていることだろう。
iPhoneプラットホームは、アプリケーションの数で既にAndroidに大差をつけている。下位互換にしろ何にしろ、Android向けの開発が複雑になることは決してプラスにならない。そしてこれは、iPhoneとAndroidの基本的な違いに根づいている。クローズドシステムでAppleだけがデバイスを作っているiPhoneでは、開発エコシステムや、ユーザー体験等の重要事項を容易にコントロールすることができる。オープンなシステムであるAndroidにとっては、いずれを行うのもずっと困難だ。しかし、Androidは非常に多くの電話機(およびその他の機器)に塔載されるので、どこかの段階でプラットホームとしてiPhoneより大きくなるだろう。
そう、あのMicrosoftとAppleの間で80~90年代に起きたパソコン戦争と本質は同じだ。しかしあの時われわれが学んだように、「大きい」ことが「良い」こととは限らない。
[原文へ]
(翻訳:Nob Takahashi)





iPhoneにはない問題?
・iPhone OS 1.xのアプリは2.xでは動かない。
ベンダーによっては2.x用のアプリを提供してくれなかった。
・iPhone OS 2.0で動いていたアプリが 2.01やそれ以降のバージョンで問題を起こしているものが幾つもある。
・iPod touchでは新たなデバイスが追加され、1st版と2nd版では動作するもの、動作しないものとが出てきたが、2ndで追加されたデバイスを使っていないのに1stで動かないアプリは沢山ある。
・今後iPhoneには新しいデバイスが追加されたり、メモリ容量が追加されるような事があるだろう。逆にないと考えるほうがおかしい。
そうなったら、iPod touchで起きているような事象はもっと拡大する。
コンソールゲーム機ではデバイスが固定で、メモリ容量が一定であ(ったり固定サイズ分だけ追加でき)ることで互換性が確実に維持できていたのだから。
・iPod touch 1stしかもっていなくても、iPhone専用アプリやiPod touch 1stに対応していないアプリがiTunes上では(間違って)買えてしまう。
Appleがコントロールしている分、そしてiTunesを介することで簡便に互換性をエンドユーザーが確認できる事は大きなメリットなのは間違いない。
Androidで同様のことをやろうとすると、ハードウェアプロファイルをxmlで定義して、アプリのプロファイルにも必須プロファイルを加えてストアとの通信の際にそれらが合致するかでアプリをフィルタリングするようにしていけばいい。
それでも個々の機種に搭載するデバイスの性能の違いによる体験の差異などがあるから、iPhone OS+iTunesの環境よりは互換性確認の簡便さで上回ることはないだろうけれど、Appleの考える価値観以上の機器や対象外の機器が登場する可能性を考えれば、ユーザーはiPhone以外にも好みで選べるバリエーションが増えることを歓迎できるはず。
パソコンは後から「ユーザーが」デバイスを追加できることで、その組み合わせ数はべき乗で増えていき、個々のデバイスの動作保証を含め、複雑で混沌としたものになっていった。
それに比べれば、ユーザーがデバイスを追加できない分ずっと緩やかなものになる。
Windows Mobileを見てみると良い。
あれもメーカーがOSに手を入れて新しいデバイスを追加することが可能だし、今までもそういった事をしてきているけれど、互換性が大きな問題にはなっていない。
つまりその程度の互換性は保てるし、アンドロイド マーケットの基準を後から変えてiPhone並みに持って行く余地も十分にある。
その為にはユーザーが自分の声をアンドロイドマーケットにどんどん書き込んでいけばいい。
AppStoreだってiTunesだってそうやって良くなってきているんだから。