西田宗千佳のRandomTracking

WWDC 2014 開発環境編:「機器の外の魅力」で戦う準備を進めるアップル

 アップル関連製品の開発者会議「World Wide Developers Conference(WWDC)」レポートの2本目は「開発環境編」だ。

 開発環境なんてユーザーには関係ない……、そう思ってブラウザを閉じようと思った方、ちょっと待っていただきたい。確かに、開発言語の詳細などは、技術者以外にはどうでもいいことだろう。しかし、iOSを含めたアップル製品がどちらの方向へ行こうとしているのか、そしてそこから生まれる「アプリや周辺機器が生み出すエコシステム」の方向性を考えるには、WWDCの基調講演で語られた開発環境の方向性について考察しておくことが必要となる。

アップルのティム・クックCEO

 結論から言えばアップルは、特にiOS機器について、「自社端末から生まれる価値」以外の魅力から、自社製品を選んでもらう機会を増やそうとしているのである。

拡張性を強化して「開発者のやる気」をアップ

 1本目のレポートでも述べたように、今年のWWDCの話題は、「OS X Yosemite」と「iOS 8」だった。そして、それらのロゴと共に示されたのは「DEV」、すなわち「開発者」という要素だ。

OS XとiOSのロゴの横には「DEV」。開発者会議らしい表現といえばそれまでだが、今年のWWDCを象徴するものでもある

 どちらも数多くの新機能を搭載していたが、より「次の環境に向けた開発情報」が多く含まれていたのはiOSだった。それは、Macが「道具」としてすでに確立しており、その外で生み出される価値の組み合わせについてもある程度明確である一方、iOS機器のようなスマートデバイスは範囲が広く、開拓しうる部分がより広いから、と考えて差し支えあるまい。ソフトウェアエンジニアリング担当上級副社長のクレイグ・フェデリギ氏は、「iOS 8では開発者向けに、新しいAPIが4,000個用意される」と話した。それらのAPIの多くはiOS 8の可能性を広げるものであり、開発の自由度を高めるものだ。

 iOS 8で、アップルは「Extensibility」(機能拡張)という要素を導入する。現在のiOSは、アプリが使う領域をサンドボックス化し、アプリ同士での利用に制限を加えることでセキュリティを高めている。iOS 8では、そこに「アプリ間が連携して、安全にデータをやりとりする仕組み」を採り入れる。これによって、活用の幅はかなり広がる。

iOS 8では「Extensibility」(機能拡張)がテーマに。OSに対して安全な「パイプ」を作り、機能を拡張するアプリとつなぐようなイメージになる

 例えば、今までiOSでは、画像を加工する時「画像加工用アプリを開き、そこから写真を選ぶ」必要があった。だが今後は、あらゆるアプリにある「写真アルバムへアクセスする機能」から、写真を選んだ後に「行ないたい写真加工操作」を選んで作業できるようになる。加工毎にアプリを行き来していたやり方から、画像編集ソフトでフィルタをかけるような流れに変えられるわけだ。同じように、ウェブブラウザから「内部のテキストを翻訳サイトに渡し、日本語から英語に翻訳して表示」したりできるようになる。ウェブで見つけた写真をSNSへ投稿したり、ワープロなどのドキュメントを作成するアプリで、そのドキュメントを様々なクラウドサービス(アップルのiCloud以外も含む!)へと保存する、といったことも可能だ。

「写真」アプリから、他のアプリの画像加工機能をまるで「フィルタ」のように呼び出して適用。アプリ同士の連携がより高度になる

 こうしたことは、Androidにおいては「インテント」と呼ばれる概念で実現されていることに、非常に良く似ている。Androidの自由度の高さの一つはインテントによって実現されていたわけだが、それに似たことをiOSが採り入れてきたのは、両者の競争の激しさを物語るものだ。画像や文字を加工するだけのアプリ、データを安全に保管するだけのアプリといった「単機能なアプリ」は、インテントのような機能があることで、他の多機能なアプリと価値を共有しあうことになるため、より使い勝手が上がる。開発者から見れば、「自分が作りたい機能だけに絞ったアプリ」であっても市場性が生まれやすくなるのが大きな利点だ。

 他方、インテントの問題点は、使ってみれば便利さが分かるものの、概念を把握していないと分かりづらい、ということが挙げられる。Androidを使っていてもインテントを使ったことがない、という人は意外なほど多いのが実情だ。iOSにおいても、同じことが起きる可能性は否定できない。筆者はiOS 8のβ版に触れる立場にない(iOSのβ版は開発者にのみ提供されており、しかもその内容は非公開とすることが契約上定められているので、プレスである我々は触れることができない)ため、実際の使い勝手は現状不明だ。だが、そこでUI的な工夫がなされ、わかりやすい形になっていれば、利用率は高まるはずである。

 自由度向上という意味では、これまで「アップルしか使えなかった部分」へのアクセスを可能にするAPIの提供が、大きな要素になる。

 そのうち、基調講演で解説されたポイントは3つだ。

 一つ目は「キーボード」の解放。「サードパーティ製の日本語入力アプリにつながるのでは」と期待が大きい部分だ。前回記事で触れたため、ここでは割愛するが、現状ではまだ、「実際に日本後入力アプリを作り、入れ替えて使えるか」という点について、完全な検証はなされていない。正式な開発表明と仕様がわかるまでには、それなりの時間が必要であり、iOS 8が一般公開されるまで、確定的なアナウンスが行なわれない可能性もある。

 二つ目は「Touch ID」の解放だ。アップルはiPhone 5sより、指紋認証システム「Touch ID」を導入しているが、その利用範囲は、システムロックの解除やApp Storeでの購入認証程度に限られていた。iOS 8からは各アプリに認証の仕組みが解放される。そうなると、追加パスワード入力が必要なアプリ、例えば金融系や機密を扱う業務系などの用途では、セキュリティ向上と操作性向上の両方を実現できる。こうした機能が用意されたということは、「Touch ID」というハード自身が、iPhone最上位機種以外にも広がる可能性を示唆している。

Touch IDをようやくアプリ側でも活用可能に。秋の新製品では「Touch ID搭載機」が増えるか?

 三つ目は「Camera API」。カメラアプリの奥にある設定項目や画像編集系にもアクセス可能になり、プラグイン的なアプリを作ることも視野に入ってくる。アプリ間連携による「フィルタ」的な活用も含めると、iOS 8での写真関連機能は、さらに充実したものになるのは間違いない。現在、写真の多くがスマートフォンで撮影されており、その活用方法もSNSやメールへの添付であることを考えると、「スマホの中でいかに簡単に写真の処理ができるか」が重要であり、そこをカバーするAPIが増えるのも、ある意味当然ではあるが。

周辺機器での価値拡大を「Kit」から

 「拡張」という意味で筆者が注目しているのは「Kit」と名付けられた拡張群だ。特に大きいのは、家庭内のカギや照明などのコントロールを統括する「HomeKit」、ヘルスケア関連周辺機器をコントロールし、情報を統括する「HealthKit」である。

iOS 8向けに提供される、家庭内連携用フレームワーク「HomeKit」。鍵の開け閉めや照明のコントロール、各種セキュリティ管理などをiOS機器から行なうための統合的な仕組みとなり、各社がその枠組みで開発すると、1つのアプリからまとめて操作可能になる
iOS 8向けに提供される、ヘルスケア向けフレームワーク「HealthKit」を使うと、健康に関する情報を統合した上で、プライバシーに配慮した形で扱えるようになる。

 WWDC開催以前より、「アップルがウェアラブル機器を出す」「ホームオートメーション機器を出す」といった噂はあった。我々はハードウエアから発想を進めがちであるため、噂が「ハードの登場」を予見させるものであったのも、無理からぬところがある。だがご存じのように、アップルはハードを発表しなかった。

 それも当然なのだ。なぜならそういった製品は、アップルストアに行けば結構売られているのだから。アップルも基調講演内で例示したが、iPhoneで家の鍵や照明をコントロールする製品や、エクササイズ向けのウェアラブル機器は、すでに人気の周辺機器になりつつある。そういった市場ができていることそのものが、スマートフォン活用の活用の場の広さでもある。特に、iPhone 4S以降の製品がBluetooth 4.0に組み込まれた超低消費電力通信「Bluetooth LE」に対応し、この規格を使った周辺機器が多く出るようになって以降、「iPhoneの外」にある可能性はより大きなものになってきた。

 だが問題だったのは、そうした製品が独自に作られていたことだ。アプリはバラバラだし、その中での通信や機器制御の方法もバラバラだ。家庭内の場合には「カギと照明では別のソフトで制御」、ヘルスケアの場合には「ジョギングの情報と心拍数は別に管理」といった分断が生まれているのだ。

 同じような機能なのに、製品が異なる毎、開発元が異なる毎に作り直すのは、まさに「車輪の再発明」そのものだ。またユーザーから見ても、いくつものアプリを使い分けるのは面倒この上ない。

 そこでアップルが採ったのは、そうした部分を「Kit」という形でまとめて、iOSの中から統合的に管理・操作できるようにしよう、という作戦だ。HealthKitならば「Health」というアプリから各種情報を一括チェックするし、HomeKitでも似たアプローチが採られるだろう。データを活用するアプリはアップル製に限定されるわけではなく、安全性などのルールを守っていれば問題ない。そうした場合も、他社製品との連携を行なうには、「Kit」の存在が重要となる。

 こうした枠組みを作る理由は、アップルが直接的にそれらの事業へ参入する、というよりも、「アプリや周辺機器で、iOS機器の価値を拡大する」という同社の方針に合致するから、と考えるべきだ。フレームワークを持たないライバルプラットフォーム向けに開発するより楽に作れるなら、各メーカーもiOSを優先にする可能性が高い。

 こうしたやり方は、アップルが昨年発表したある方針を思わせる。それは、自動車向けの連携機能である「CarPlay」だ。CarPlayは現在開発中で、2014年に一部車種に搭載しての販売が予定されている。今年のWWDCの基調講演では言及がなかったものの、フェラーリ・シボレーの2社の搭載車と、アフターマーケット向けの対応カーナビとしてパイオニアのものが、WWDC会場で公開された。

パイオニアが開発中のCarPlay対応カーナビ(既存機種と同じハードだが、ソフトアップデートで対応。時期は未定)を1965年製フォード・マスタングに搭載。古い車もCarPlayで最新装備に生まれ変わる
1965年製フォード・マスタング

 CarPlayは「カーナビをiOSで置き換えて不要にするもの」という風評が広がっているが、実際にはちょっと異なる。カーナビとして使うこともできるが、本質はむしろ、「Siriの音声認識+音声合成で、車中でも安全にiOS機器を使う」ことにある、といえる。カーナビ操作や音楽再生はもちろん、メールの確認や返事もSiriで行なう。そうした部分は自動車メーカーが苦手とする部分でもあり、iOS機器がもっている機能をうまく生かしたい……という思惑もある。

 自動車メーカー側のイメージとしては「iOSにしか対応しない」という意識は薄いようだが、「手持ちのiPhoneでより便利になる」なら、自動車の拡販にもなるし、購入を決めた顧客に「少しでもオプションを追加して、単価を上げてもらう」助けにもなる。

 そしてもちろんアップルとしては、「車でも自由に使えるからiPhoneを」という流れになるわけだ。CarPlayの場合は「アップル色」が全面に出ていて、表示用UIのスキンを車のデザインに合わせて変えられない、といった問題もあるようだが、パートナーとの関係は、現状良好だと聞く。

フェラーリFFに搭載されたCarPlay。操作はタッチか音声で行なう。iOS機器は、別途Lightningケーブルで接続する

 車や家、健康といった要素は関わる企業も多く、一般的な周辺機器に比べ動きが遅い部分があるかもしれない。とはいえ、この段階で「Kit」化して基盤を整えることは、「iOS機器の外に価値を作る」ことを狙うアップルとしては、必須の戦略といって間違いない。

「新しい開発者」を狙うSwift、MetalはAndroidを「狙い撃ち」か

 今回のWWDCで、技術者にとって特に注目の話題は、アップル製品向けの新しい開発言語である「Swift」と、グラフィック描画の仕組みである「Metal」だ。

アップルが提案する新開発言語「Swift」。アップルはスピードが上がって開発が簡単になる、と主張している。

 本論ではないので詳しい説明は省くが、アップルはSwiftを「より速いアプリが作れる」「より簡単にアプリが作れる」と主張している。どちらも、開発効率向上に大切な要素だ。アップルの発表以来、「Swiftが本当に価値ある開発言語か」という点には、SNSやブログなどの場で、かなり活発な議論が始まっている。その真偽を判断するだけの情報は筆者の手元にはないし、技術者と同等の判断を下せるわけではない。だから、主張の妥当性についての判断は保留する。

 しかし、言語仕様を見る限り、「Swiftでアプリを作る力を身につける」までの敷居が低くなっているのは間違いない。特に、iOSの開発に必須である「Objective-C」は、入門者には難解な部分があるもの、という悪評もある。アップルは開発者の裾野を広げるために、この問題に手を入れることを重視していたのは確実だ。今回のWWDCの参加者は、70%が「はじめて参加した人々」である。それだけ新しい開発者が増えているということであり、そうした人々へのケアが急務なのだ。

 Metalは、ゲーム専用機に比べ描画効率が悪い、と言われるiOS機器のグラフィック描画を改善し、ハードの性能を生かしたゲームの登場を促す狙いがある。汎用グラフィックスAPIは、ハードウエアを隠蔽して動作する関係上、どうしてもオーバーヘッドが大きい。ハードウエアを覆うレイヤーを薄いものにして、オーバーヘッドを減らすことで実効性能を上げるわけだ。

iOS 8から導入される「Metal」では、ゲーム用のグラフィック描画に関わるレイヤーを薄いものにし、動作効率向上を狙う。

 こうした要素は、現在PCで起きているトレンドを追いかけたものだ。

 その昔、数多くのGPUメーカーが存在したため、ソフト開発は難航しやすかった。特に、製品によって異なるGPUが使われる場合のあるPCでは、ソフトの互換性維持が問題となっていった。また、得意な処理が「ハード実装」されていたため、同じメーカーの製品であっても、GPUの世代毎に機能が異なっていた。そこで、「Direct X」や「OpenGL」のような汎用グラフィックスAPIを使い、メーカー毎・製品毎の差異をある程度吸収しようとしていたわけだ。

 だが現在、GPUメーカーはごく少数になった。PCならば実質3社、スマートデバイス向けでも実質3社分を意識すれば十分だ。また、GPU内での処理は「ソフト化」され、ハードを叩いて処理する部分は減った。分厚い「吸収層」で効率を落とすよりも、今の事情に合わせた「薄い層」でカバーすればいい、という流れになっている。

 またそもそも、ハードが1種類で揺らぎの少ない「家庭用ゲーム機」の場合、SCE・マイクロソフト・任天堂それぞれで作り分ける必要はあるものの、同じゲーム機向けのソフトであれば、特定のハードウエアに特化して開発が行なえる。だから、GPUを覆う層は元々薄かった。

「いまどきのスマホは家庭用ゲーム機並のGPUを搭載している、と宣伝しているのに、ゲームのグラフィックスや操作感はゲーム機に劣る。なぜだろう」と不思議に思った人はいないだろうか。その一因は、GPUを覆う「厚い層」にあった。

 Metalはそこを「薄く」するわけで、グラフィック処理はよりゲーム機に近づく。iOSのアプリでも、ゲームの売り上げはダントツだ。より高度なゲームを引きつけるには、ゲーム機に近い構造が求められる。ただし、アップルが「ドローコールレートが10倍になる」と主張していることを「グラフィック処理が10倍速くなる」と読み替えるのは間違いだし、そこまで高速化する、と考えるのは無理がある。また、携帯電話での通話待ち受けを含め、他にも多くの処理を同時に動かさねばならない以上、ゲーム機に比べ「ゲームのための性能」で不利なことに変わりはない。改善の度合いを現状で評価する情報はないが、Metalに対応したA7以降のチップを使ったiOS機器(すなわち、2013年のiPhone・iPad以降)向けゲームが、かなりはっきり分かるレベルでクオリティアップする、と考えて差し支えないだろう。

 このことは、「対ゲーム機」以上に「対Android」の意味合いをもっているだろう、と筆者は考える。Androidは現状でも、iOSよりゲーム向けの処理では不利だ、と言われている。Metalでその差がさらに開くことになると、Android陣営としてはちょっとやっかいだ。ライバルとの差異を広げる武器として、アップルが「ゲーム」を重視しているのは間違いない。

西田 宗千佳