GALAXY SとGALAXY Tab
2011年12月22日に,
Androidに関して言えば,
Androidのメジャーアップデート
Androidのメジャーアップデートがリリースされた時期は次のとおりである。
- 2.
0/ 2. 1 (Eclair)─2009/ 10 - 2.
2 (Froyo)─2010/ 5 - 2.
3 (Gingerbread)─2010/ 12 - 3
(Honeycomb) ※─2011/ 2 - 4
(IceCream Sandwich)─2011/ 10
※ タブレット向け
約半年に一度のペースである。Androidベースのデバイスを作っているメーカーも1~2回はバージョンアップに対応してくれるが(注2),ある時点で新しいOSへの対応は打ち切られてしまう。
GALAXY Sの場合,2010年6月に発売(日本市場向けは10月)された時点ではAndroid 2.1を搭載しており,その後2.2,2.3へのアップデートには対応したものの,4へのアップデートは非対応と発表されたのである。
2010年10月以降にGALAXY Sを入手した日本のユーザから見れば,発売後わずか14ヵ月でハードウェアが陳腐化してしまったことになる。
- 注2)
- iPhoneと違い,
Androidの場合はGoogleがOSをアップデートしても, そのままユーザ自身でアップデートできるわけではない。デバイスメーカーが既存の機種で動くようにしたうえでユーザに向けて再配布をする必要がある。
陳腐化の速度が緩やかなiOS
バージョンアップごとにOSが肥大化し,ある時点で古くなったデバイスのアップデートは見送らなければならない点はiPhoneなどのiOSデバイスに関しても同じだが,Androidほど問題視されていない。
私の場合,iPhone 3GSを2009年6月に入手したが,その時点でのiOSのバージョンは3.0であった。その後4.0(2010年6月),5.0(2011年10月)と2つのメジャーアップデートをしたのち,2011年11月にiPhone 4Sに買い替えた。iPhone 3GSの購入時にAT&Tと交わした2年契約の期間も過ぎていたので,ちょうどよいと思ったのだ。
つまりiPhone 3GSは,私が所有していた2年5ヵ月の間,OSのアップデート対象から外されることにより陳腐化することはなかったのである。今までのリリーススケジュールから予測して2012年後半にiOS 6.0がリリースされ,iPhone 3GSがアップデート対象から外れたとしても,3年以上アップデート対象であったことになる。発売14ヵ月で陳腐化してしまったGALAXY Sとは大きな違いである。
各社が発売しているスマートフォンが,どのくらいのスピードで陳腐化していくかを目に見える形にした人がいるので,そちらも参照していただきたい。
AndroidとiOSの違い
この違いはどこから来るのだろうか。一番の違いは,新しいハードウェアとOSのバージョンアップのリリースタイミングにある。
ソフトウェアとハードウェアの両方をコントロールするAppleの場合,約1年おきのiPhoneの新機種の発売のタイミングにあわせてiOSのメジャーアップデートをすることが可能である。そのため,OSのバージョンアップに合わせたハードウェアのリリースまでどうしても数ヵ月の遅れが生じてしまうAndroidとは違い,iPhoneの場合,新機種の発売までの遅れがまったくない。
それに加え,iOSのメジャーアップデートは約1年おきなので(Androidの場合は半年),発売したデバイスが2回までOSのメジャーアップデートが行えるように作っていけば,購入後2~3年間はデバイスが陳腐化しないことを保証できるのだ。
OSのアップデートの難しさ
OSの開発はただでさえ簡単ではないが,それをさらに難しくしているのが互換性の維持である。互換性と言ってもいろいろとあるが,大きく分けると次の3つである。
- ① 旧バージョンのOS向けに開発されたアプリケーションとの互換性
- ② 異なるハードウェアとの互換性
- ③ 旧バージョンのOSを搭載したハードウェアとの互換性
私がMicrosoftでWindowsの開発に関わったときに一番苦労したのは①である。OSを進化させるとき,単に機能を追加していくだけならばそれほど難しくない。しかし,システム側の作りを大きく変更する場合(注3),そのままでは旧バージョン向けのアプリケーションは動かなくなってしまうので,「互換レイヤ」のようなものを使って対応しなければならない。
②は,それぞれのメーカーが作る異なるハードウェア上でOSを動かすための仕事だが,Appleしかハードウェアを作っていないiOSと,さまざまなメーカーがハードウェアを作るAndroidやWindowsとでは難しさが大きく違う。特にAndroidの場合,PCのようにハードウェアの標準(PC/AT互換)すらないため,ハードウェアの違いの吸収は十分になされておらず,「すべてのAndroidデバイスで動くアプリケーション」を作ることは,iOSやWindows向けのそれと比べて莫大な手間がかかる。
③は,今回Androidで問題になっている,旧バージョンのOS向けに作られたハードウェアの上で新しいバージョンのOSを動かすという互換性問題である。
- 注3)
- Windows 3.
1からWindows 95のケースで言えば, 16ビットから32ビットへの違いが該当する。