PCと人の関係を近づける、Windows 7の新APIが持つ可能性



 Windows 7に関連する報道も落ち着いてきたが、23日にはWindows 7の開発完了宣言が行なわれ、当初から言われていた通り10月には出荷が開始されることとなった。今後は開発完了版を元に、パッケージ製作の工程へと進むほか、Windows 7をプリインストールする各PCベンダーによる最終テスト(各PC固有のデバイスやソフトウェアとの互換性検証など)を経て、Windows 7プリインストールのPCも10月に新モデルとして発売される。

 Windows 7に関しては、1.動作が軽くスペックの低いPCでも操作感が良い、2.Aero Glassによるユーザーインターフェイスが大幅に改善、3.動作が安定している、といった、OSの基本性能の部分で高い評価が既に出ているが、一方でPCを前進させるような、新しい要素は“ほとんどない”とも評されてきた。

 実際には細かなAPIの改良や追加なども行なわれているのだが、それらをエンドユーザーが感じるようになるまでには時間がかかる。OSそのものの基礎的部分の進化に関してはほとんどなく、Vistaで施した作り直し部分を洗練させたのがWindows 7なだけに、新要素に欠けるという指摘は当たらずとも遠からずだ。

 しかし、少し想像力を膨らませると、あまり注目されていない新APIに、将来の進歩の可能性が秘められている事に気付く。

●多様なセンサーへの標準的なアクセス手段を提供するWindows 7

 Windows 7には、新たにLocation & Sensor APIという、新しいAPIが用意されている。古くからPCを使っている読者やソフトウェアエンジニアには、“APIの追加”と言えば、それがどのような影響をPCエコシステムに与えるかは先刻承知だろうが、まずは新API追加がどんな変化をもたらすかについて話すところから始めたい。

 APIとはアプリケーションプログラムインターフェイスの略で、ソフトウェアがWindowsなどOSの機能を利用する際に呼び出す手順や手法を規定しているものだ。APIにはOS自身が提供する機能へのアクセスを目的としたものもあるが、ハードウェアをソフトウェアが扱うためものも多くある。

 ハードウェアには多数の種類があり、たとえばGPUといっても、NVIDIAとATIでは扱い方は異なる。そこでAPIを規定しておき、ドライバを介してハードウェアにアクセスする。こうすることで、アプリケーションソフトウェアはGPUを扱うAPIに対応してプログラムしておくだけで、NVIDIAでもATIでもIntelでも、その違いを意識する必要がなくなるわけだ。

 もしAPIが用意されていなければ、ハードウェアの違い、同じ部品でも設計の違いによる細かな差を意識して、すべてに対応するソフトウェアを作らなければならないため、その種類のハードウェアは進歩しない。

 古くからPCに慣れ親しんだ読者なら、DOSの時代にグラフィックスカードが流行せず、Windowsになって急速にグラフィックスカードの価値が高まった歴史を知っているはずだ。また、期待されながらなかなかPCでの利用が進まなかったBluetoothも、実用的なAPIセットがなかなか提供されなかったからだった(もちろん、現在は大幅に改善されており、故にBluetoothの搭載率は上がったのだが)。

 同様にGPSや無線LANロケーション検出などを用いた位置情報取得、各種センサー類からの情報取得の標準的な手段を設けようというのが、Location & Sensor APIの目的になる。

 このAPIは昨年秋に行なわれたPDC 2008(プロフェッショナルデベロッパーズカンファレンス。マイクロソフトのソフトウェア開発者向け会議)で詳しい内容が発表され、フリースケールが提供するテスト用ハードウェアとソフトウェア開発キットが配布されていた。

 この新APIを用いることで、まずはいくつかのセンサー、たとえば明るさセンサーや加速度センサーなどがノートPCへと内蔵されるようになるだろう。センサーを用いてノートPCの振る舞いを変える簡単なユーティリティも出てくるはずだ。それが第一段階。しかし、本当の発展はその次の段階、多様なセンサーを用いたアプリケーションソフトが登場し始めてからになる。

●Location & Sensor APIがもたらすPCハードウェアの変化

 まず第一段階として、PCのハードウェア、特にすべてのデバイスを一体にしたノートPC(ノートPCの技術を基礎にした一体型デスクトップも同様)のハードウェア機能が変化するところから始まるだろう。

 Location & Sensor APIでは、8つのカテゴリに分類される多種のセンサーに対応している。GPSや三角測量など位置センサー、温度や大気圧、湿度、風向き、風速などの環境センサー、加速度、ジャイロ、速度などを検出するモーションセンサーはもちろん、方位、傾斜、距離を測定するセンサー、タッチ、人感、音量などの多値センサー、応力や加重、歪みを検出するセンサー、照度センサー、色温度センサー、バーコードやRFID、ICカードなどのリーダも含まれる。

コントロールパネル上でのセンサー有効/無効設定画面加速度センサー、照度センサー、タッチセンサーの画面

 これだけ多様なセンサーに対応していると、考えられるだけの大抵の事は可能になってくる。センサーチップはMEMS技術(半導体プロセスでメカニカルなモノを作る技術)の急速な発展で、大幅に小型化、低コスト化しているので、PCへの搭載にさほど障害はない。あとはアイディア次第で、製品にさまざまな機能を搭載していくことができる。

 もっとも、機能といっても“ユーザーが使いこなす必要がある機能”ではなく、“ユーザーが意識しなくとも最適な利用環境を提供する”形のものがほとんどだ。

 たとえば色温度センサーを用いれば、明るい場所でも暗い場所でも、照明の種類にかかわらず、常に画面表示の雰囲気を一定に保つといった機能を実現できる。暗いところでは暗いなりにバックライト輝度を下げ、明るいときにはバックライトを明るく。さらに白熱灯の下では色温度を下げ、蛍光灯下では上げる事で、見た目の映像の印象を揃えることができる。

照度センサーサンプル。左が明るいとき、右が暗いとき。明るいときは文字を大きく表示する

 ユーザーは単に「これぐらいの明るさ」「このこのぐらいの色温度」と、好みを指定しておけば、あとはPCがセンサーの検出結果を用いて、ユーザーが指定した好みに近づけるようPC自身が考えながら調整を行なう。

 さらに人感センサーを用いることで、PCに人が近付いている場合、あるいは実際に触れている場合にはサスペンドモードに入らなかったり、人が画面の前にいる場合はディスプレイを省電力モードに入れないといった設定も可能になる。逆に人がいなくなると、自動的に省電力モードに遷移して消費電力を抑えるといった機能も実装可能だ。

加速度センサー、照度センサー、タッチセンサーの組み合わせサンプル。Freescaleのボードを2枚使用して、左手、右手それぞれに加速度センサーで検出したボードの角度をバインドして表示。2枚のボードをそれぞれ回転させると、絵の対応する手が回転する。右手のボードを強く左右に振ると、絵が変わる。右手の照度センサーによって、画像の透明度が変わり、左手の照度センサーによって、ぼやける。タッチセンサーで動作モードを切り替える

 またロケーションセンサーと無線通信デバイスの制御を統合すれば、無線LANの接続に成功した場所を憶えておき、そこに極めて近い場合は自動的に無線LANに切り替え、さらにログイン処理を行なうといったこともできる。

 PCが持つインテリジェンス性を用いれば、周囲の状況に合わせてPCが自分の機能を自ら調整することは簡単。可能性は無限にある。しかし、それはLocation & Sensor APIが与えるインパクトの初めの一歩でしかない。

●センサーとの接続経路が柔軟なLocation & Sensor API

 Location & Sensor APIは特定のハードウェア実装を規定していない。たとえばUSBやPCI、PCI Expressなどにハードウェアが繋がっている必要は必ずしも無く、センサー自体はネットワークの向こう側にあってもいい。

 このため、センサーネットワークを用いたアプリケーションへと、簡単に発展させていくことができるという。

 たとえば、すべての家電製品がIPネットワークで接続される、といった将来を仮定すれば、PCを利用している部屋の周囲にある多数のセンサーを利用可能になる。同じ部屋の中にある複数の温度センサー、湿度センサーを読み取ってエアコンを自動制御してみたり、映画を観る際には部屋の灯りを暗くしたり、カーテンを閉めるといった事も、特殊な家電制御のアプリケーション(たとえばクレストロンの製品など)を用いなくとも、高度なホームオートメーションシステムを構築できる。

 あるいは書斎にあるステレオシステムで音楽を聴き、そのままリビングにPCを持って移動するとリビングにあるシステムから、その続きが自動的に演奏されるなんてこともできるだろう。健康管理や老人介護にも役立てられるはずだ。

ロケーションで検知した場所の天気を表示する検知した場所を表示するWeb
検知した場所の近くの画像を表示する以上3つのサンプルの場所を検知しているGPSデバイス

 それらのアプリケーションは、多くの場合、すでに実現されているものだ。全くの新しいアイディアというのは、最初のうちは出てこないかもしれない。しかし、APIの定義で用途の幅が拡がり、システムの価格がグンと下がってくると、普及が進む。普及が進めばネットワークから見えるセンサーはさらに増え、複数の用途を組み合わせることで、新しいアプリケーションが生まれる。

 そしてセンサーのネットワークは、さらにインターネット上のサービスへと繋がっていく。たとえばICカードで近くの改札を抜けると、自宅に「○○駅改札を通過。もうすぐ自宅に到着」といったメッセージを出すといった具合だ。センサーから人のロケーションを観察し、あるパターンに符合する際にメッセージを送る。

●難しいようでいて「利用者には易しい」点がポイント

 センサーネットワークというと、何か難しいことのように思えるが、実際にはさほど難しい事ではない。なぜなら、センサーは各種状況をコンピュータに教えるという役割を持っているが、ユーザーが直接利用するものではないからだ。センサーの種類が多くなったからといって、使い方が難しくなるわけではない。むしろ易しく使えるようになる。

 センサーで情報を拾うといっても、1つ1つのデータが単独で大きな意味を持つケースは少ない。センサーから集まった各種データ、それに過去を含めた検出値の評価と分析を行なうことで、小さな情報をより役立つ情報にするには、PCが持つ柔軟性が不可欠。適切にセンサーからのデータを扱う事で、利用者に易しいコンピュータを作れることが、やはり最も大きなポイントだろう。

 マイクロソフトによると、Location & Sensor APIを用いたPCの企画は、すでにPCメーカーによって進められているという。果たしてどんな未来を見せてくれるのか。Windows 7の発売後に登場するだろう、Location & Sensor APIを活用した製品のリリースが今から楽しみだ。

バックナンバー

(2009年 7月 28日)

[Text by本田 雅一]