止まらないアップルの「進撃」
振り返れば今年、2015年に発売されたアップル製品のラインアップは「豊作」だといってもよいのではないだろうか。4月のアップル・ウォッチ発売を皮切りに、MacBookシリーズのアップデート、リニューアルされたアップルTVにiMac、そしてiPadプロと、続々と新モデルが投入され、この年末はうれしい悲鳴をあげている読者諸氏も多いことだろう。
そして、怒涛のハードウェアリリースの中で忘れてはならないもう1つの「豊作」がOS(オペレーティングシステム)だ。2015年秋、アップルは例年どおり、Mac向けの「OS X」とiPhone/iPad向けの「iOS」の最新バージョンをリリースしたが、さらにアップル・ウォッチ専用の「watchOS」と、アップルTV専用の「tvOS」を追加した。4種類の異なるOSを同時に扱うというのはアップル史上初めてのことで、また他社と比較しても極めて珍しい事例だ。この取り組みにはどんな真意があるのだろうか。
まず、ソフトウェアに詳しい人から見れば、そもそも「4種類の異なるOS」という表現に意義を唱えたくなるかもしれない。アップルが開発するOSのコアカーネル(基幹システム)にはFreeBSDというUNIXをベースにした「ダーウィン(Darwin)」と呼ばれるOSが共通で使われており、4つのOSはいわば兄弟のようなものだ。ダーウィンの上層にある「フレームワーク」と呼ばれる、アプリケーションを支える層も共通している。
iOSがリリースされたばかりの(名前もまだiPhone OSだった)頃は、OS Xから一部の機能だけが移植されたサブセット(機能限定版)のような存在だったが、バージョンが上がるごとに共通化や拡張といった整備が施されて、今や機能面での差異はなくなりつつある。逆に、映像や音・カメラを司るフレームワークの「AV Foundation」や、オープンGLに替わりMacに採用された「Metal」など、iOSからOS Xに逆輸入されるフレームワークも登場し、もはやOS Xのサブセットにはとどまらず、iOSとOS Xとの立場は対等、もしくはそれ以上の存在になったように思える。もっとも、iOSデバイスは台数ベースでMacの40倍近い勢いで成長を続けており、システム開発が進むのもうなずける話だ。
新たに登場したwatchOSとtvOSは、iOSから分岐したプロジェクトだ。初代のiPhone OSと同じように、デバイスに最低限必要なフレームワークだけを持ったサブセットとして始まり、徐々に機能を拡張していくと思われる。iOSで培ってきたノウハウをそのまま運用するテクニックは、8年という確かな実績がアップルにもたらした自信の表れだ。
各OSのアーキテクチャ
各デバイスに最適化されたOSのシステム設計イメージ。デバイスごとに不要なフレームを排除して軽量化しているが、同時に共通化も念頭に入れて設計を行うことで、開発者が効率的に複数のプラットフォームでアプリを配信できる。
リソースの「選択と集中」
しかし、このアップルのアプローチはIT業界全体でみると「真逆」であるという意見もある。たとえば、マイクロソフトの最新OSである「ウィンドウズ10」はデスクトップからタブレット、そしてスマートフォンに至るまですべてのデバイスで同じOSを使用できるようになっており、コアカーネルのみならずフレームワークも完全に1つにまとめられている。
この統合は数多くのメリットを生み出した。まず、アプリケーションが1つで済むということだ。モバイル版・デスクトップ版のプラットフォームが同一のため、ユーザは別々のアプリケーションを買う必要もなく、開発者もアプリケーションをプラットフォームごとに個別に出力する手間が減るため、マルチデバイス対応のアプリが増えてくることが期待できる。
次のメリットが「コンティニュウム(Continuum)」という考え方だ。マイクロソフトが想定している例として、ウィンドウズ・フォンにディスプレイを接続すればそのままデスクトップコンピュータとして使える、というのものだ。昨今のスマートフォンはすでに数年前のデスクトップマシンと同等かそれ以上の性能を備えており、一般的な用途で利用するのであれば、モバイル端末でも性能に不安はないといわれている。スマートフォンにもコンピュータにもウィンドウズ10が入っている、というのは単に同じアプリケーションが動く、というだけでなく、同じだからこそスマートフォンもデスクトップで使えるという透過的な設計を実現したのだ。ロケーションに応じたデバイスを選択し、時間や場所を選ばず最適なデバイスで作業ができるという、真のコンピューティング体験をユーザに提供するべきだという、理想的な哲学がそこには見えてくる。
この動きはグーグルにも同様に見られる。同社のデスクトップ向けOS「クロームOS」はモバイル向けOSであるアンドロイドとの統合が進められている(一部メディアではクロームOSの開発中止も報じられたが、これはグーグルが公式に否定している)。プラットフォームで取り扱うOSは1つにまとまっていたほうが開発リソースの分断もなく、効率的な面も多い。実際、アップル周辺でもこの指摘をする声は多く、開発者の間では新しい2つのOSの提供を手放しに歓迎できないのも現実なのだ。
マイクロソフトはウィンドウズ10で「1つのシステムで、すべてのデバイスを動作させる」という理想図を描き始めた。しかし、そのファイルサイズや、マルチサイズディスプレイに対する柔軟なインターフェイス設計など本質的な課題も多く積み上がっている。
【URL】https://blogs.windows.com/windowsexperience/2015/01/21/the-next-generation-of-windows-windows-10/
本当の「効率化」を求めて
なぜアップルは統合ではなく、むしろシステムを株分けしてデバイスごとに専用のOSを提供することにこだわっているのだろうか。そこには、アップルのポリシーが見え隠れしている。
確かに「統合プラットフォーム」は魅力的だ。多様なデバイスが1つのOSで動作するのであれば、ユーザは自由にデバイスを選んで、その差を気にすることなく使うことができる。本当の意味でのユビキタス(場所を選ばずに情報を取得できる)環境を実現できるはずだ。
しかし、現実はそう甘くない。デバイスの数が増えれば増えるほど、OSはCPUやグラフィックスカード、サウンド入出力、通信モジュールなど、あらゆるハードウェアの個体差をカバーする必要がある。これらは「ドライバ」という形でOSの中に組み込まれるが、そのファイル数は膨大なものになるだろう。
果たしてこのOSのサイズはどれくらい大きくなるのだろうか。また、すべてのデバイスでのアプリケーションの互換性は誰が保証するのだろうか。実際、ウィンドウズやアンドロイドのアプリ開発者の間では、最新版のOSに対応できないデバイスが市場に増え続ける「フラグメント(断片化)」が問題になっている。古いバージョンをサポートし続けるコストはかなりの負担だ。
さらに、スマートフォンやタブレット、デスクトップといった異なるカテゴリの製品は、最適なディスプレイのサイズもユーザとの距離も異なるため、それぞれに最適なインターフェイスを設計・提供する必要がある。もちろん、各デバイスでの操作性や使用感(ユーザエクスペリエンス)を検証する手間は、OSが1つになったからといって減るものではない。加えて、アプリケーションはデバイス別にデザインセットを持つことになり、デバイスが多様化すればするほどファイルサイズは増える一方だ。
こういったデメリットを考えれば、OSの統合は現状での最適解ではない、というのがアップルの意見なのだ。実際OS Xこそ1つのバージョンで提供されているが、iOSは機種ごとに最適化されたOSが個別に提供されている。
加えて、2015年からは「App Thinning」という試みも行われている。これは開発者がiOSデバイスやアップル・ウォッチ、アップルTVなどで動作するアプリケーションを登録すると、アップル側でそれぞれのデバイスに不要な部分を取り除き、必要最低限な形に変換してユーザに提供してくれるというもので、OSに対するアプリケーションの最適化が進んでいる。
古いデバイスでも最新のOSを使い続けられるのはアップル製品の利点だが、これができるのもアップルがハードウェアからソフトウェアまでを1社で作り出しているからであり、この一気通貫した設計こそがマイクロソフトやグーグルの現状の戦略では実現できないアップル最大の武器なのだ。
「Mac」や「iPhone」などのハードウェア製品には私たちにも非常にわかりやすい実像がある。しかし、コンピューティングというのはその上で動作するソフトウェアにこそ本質があり、ソフトウェアがどれくらい使いやすいかで、その商品価値は決まる。アップル製品は「現実主義」と「ユーザの体験こそが第一」という強い信念のもとに作られ、これからも成長を続けていくのだ。
【News Eye】
アップルのシステムエンジニアリングチームはOS X、iOSで分業制となっている(カーネルやUI周りなど一部のチームは兼任)が、初代iPhoneの発売に際してはリリース日に間に合わせるため、OS X(当時のバージョンは10.5、レパード)の開発を一時ストップし、全員でiOSの開発に取り組んだ。
【News Eye】
ソフトウェア・チームの歴代上級副社長は、アビー・テバニアン(Machカーネル担当)、バートランド・サーレイ(Cocoaテキストフレームワーク担当)、スコット・フォーストール(アクア・インターフェイス担当)、そして現職のクレイグ・フェデリギ(WebObjects担当)と、NeXT出身のトップエンジニアがその要職に就く傾向にある。