最新アップデートは必須のものではないと思うが、「なぜ自分のAndroidデバイスには最新アップデートがこないの?」と思っているユーザーは多いだろう。アップデートの提供は、メーカーが手持ちのデバイスをどれだけケアしてくれて、かつ鮮度という点でデバイスの価値を決定してくれるバロメーターだといえる。この点について、端末メーカーがアップデートの裏側について解説した記事が話題になっている。
全ユーザーが平等なiOSとそうでないAndroid、どこが違う?
これに関する話題はApple Insiderが「Motorola, Sony Ericsson explain to customers why they won't get the new Android 4.0 for months」というエントリでうまくまとめているので、それに沿って簡単に紹介しておく。例えばiPhoneやiPadといったデバイスの場合、Appleが最新OSのアップデートをリリースしたとすれば、世界中どこの国のどのキャリアのユーザーでもすぐに最新版をダウンロードしてソフトウェアを最新版にできる。制約を受けるのは古いハードウェアを所持するユーザーで、それでも少なくとも2世代前のデバイスまでは最新アップデートが約束されている。
だが一方でAndroidに目を向けた場合、OSアップデートが一度も提供されず、バグ修正以外の対策は行われないといったケースが頻繁に見受けられる。しかも「同じ端末の海外版ではアップデートが提供されているのに、日本のキャリアで販売されている端末にはアップデートが提供されなかった」といったケースや、仮に提供されても遅いタイミングでの対応がみられる。また最新OSへの対応も遅く、例えば11月に対応端末(Galaxy Nexus)が発売されたAndroid 4.0 "Ice Cream Sandwich" (ICS)は、いまだ既存の旧OSユーザーに向けたOSアップデートが行われていない。メーカー各社の発表を見る限り、早くても2012年第1四半期での対応となるようだ。
なぜソフトウェアアップデートに時間がかかる? Motorolaの場合
ではなぜ、こうした現象が起こるのか? その理由の一端を米Motorolaが紹介している。同社の携帯事業体であるMotorola MobilityはGoogleによって買収され、現在統合プロセスの途上にあるが、こうした同社においてもAndroidのソースコードへのアクセスの難易度が高いという事情は変わらないようだ。同社がInside Motorola Blogに12月7日に掲載したエントリでは、同社製品のICS対応と、なぜアップデートに時間がかかるのかについて解説が行われている。
先日の11月中旬、GoogleはICSのソースコードを公開したが、これによりサードパーティの開発者がASOP (Android Open Source Project)を通じてICSソースコードの入手が可能になり、カスタムROMなどの開発ができるようになった。これはMotorolaを含む他のベンダーも例外ではなく、このタイミングで初めてソースコードに触れた状態なのだという。同Blogでの解説によれば、GoogleはAndroidの新バージョンリリースにあたりパートナーを1社だけ選び、「Google Experience Device (GED)」と呼ばれる一種のリファレンス機の開発を行うという。正確には、このGEDをターゲットにAndroid OSの新バージョンを開発し、最適化を行っている。これにより、新OSをリリースしたのと同時に同OSを搭載した最新端末(つまりGED)が発売される形となる。新OSのソースコードはこのタイミングで公開されるため、新バージョンに対応した端末や旧機種へのアップデートがすぐに提供されない理由もこの点にある。
この後のプロセスについてもMotorolaでは触れている。まずGED向けに最適化された最新ソースコードを入手したら、それ以外の部品構成を持つハードウェア向けの最適化作業を行う。さらにキャリアごとに異なるカスタマイズや、メーカーが独自に持つアプリやソフトウェア(この場合はMotoCastやSmart Actionsなど)の対応を行う。この過程でバグ修正や品質向上のためのブラッシュアップを行い、携帯キャリアの認証ラボに持ち込むための基準を満たすだけの準備を行う形になる。その後、端末を提供する複数のキャリアへと製品を持ち込み、それぞれに対して数段階に分かれたテストを経て、晴れて製品として提供できるレベルのものとなる。また最終リリースに至る前にも、一部顧客を通じてフィールドテストを行われるという。最終版ソフトウェアは、製品へのプリインストールとOTA (Over The Air)のいずれのケースでも、携帯キャリアを通じて提供が行われることになる。Motorolaによれば、認証ラボへの準備だけで2ヶ月程度、さらに持ち込み後のテストからリリースまでには1-3ヶ月程度の時間がかかるとのことで、最低でも3ヶ月、長いときは半年ほどの期間がOTAでのロールアウトまでに要するのだという。
OMAPとSnapdragonのプラットフォームの差異も原因
同様の問題はソニーエリクソンも報告している。例えば下記はリリースまでに行うべき事項をまとめた表だが、Motorola同様に検証フェイズを経て実際にソフトウェアがロールアウトされるまでに時間がかかることがわかるだろう。同社は2011年のXperiaモデルについて、ICSへのアップグレードをアナウンスしているが、その具体的時期を明示していないものの、早くても来年2012年第1四半期後半から、第2四半期にかけてのタイミングになると予想される。
またソニーエリクソンでは「Hardware Abstraction Layer (HAL)」についての例を挙げて、ソースコードがそのままでは流用できず、Xperiaハードウェアへの最適化作業が必要であるとも加えている。HALは上位層のソフトウェアから、下位層がどのようなハードウェアであっても透過的にアクセスできるようにするための仮想化の仕組みだが、例えばICSのGEDはTexas Instruments (TI)のハードウェアに最適化されており(ICSを初搭載したGalaxy NexusがTIのOMAPプロセッサを搭載していたことからもわかるだろう)、Xperiaが利用するQualcommのSnapdragonプラットフォームとは異なっている。Android 2.xの世代ではSnapdragonが製品に採用されることが多かったが、その理由の1つはおそらくNexus OneやNexus Sといったリファレンス機がSnapdragonを搭載していたことにもあるとみられ、ある意味で仕方のない問題かもしれない。
一方でHTCなどは一部製品でのICSアップデートを2012年初旬と予告しており、これまでの話を総合すればかなりハイペースでの提供ということがわかる。裏にそれだけの苦労が存在し、ある意味でそれだけ製品サポートに力を割いているということなのだろう。
関連記事
・ソニエリ、2011年発売のXperiaをIce Cream Sandwichにアップグレード (2011年11月16日)
・HTC端末、2012年初旬に「Ice Cream Sandwich」アップデート提供 (2011年11月08日)