クラウドと組み込みの遠くて近い関係
コンシューマ機器のオンラインサービス
ここでは、マイクロソフトのメディアプレーヤー製品「Zune HD」を例にコンシューマ機器のオンラインサービスについて簡単に説明します。
米国で展開しているZune Market Placeというオンラインストアでは、アップル社のApp Storeと同じようなオンラインサービスが提供されていて、ユーザーはオンラインでコンテンツの購入ができます。
Zune Market placeの画面(クリックで拡大) |
これらのオンラインサービスとの組み合わせでユーザーに端末を使ってもらいやすくすることは、いまやコンシューマ機器では不可欠で、特にエンターテインメントコンテンツを扱う「Zune HD」のような端末にとってははなくてはならないサービスです。コンテンツを入手するという、製品の価値そのものに直結しています。
組み込みOSや組み込みソフトを上手に利用する
ほかには、SNSなども挙げられます。組み込み機器でこれらのサービスにつなぐには、PCなどで一般に用意されているネットワークスタックやインターネットアクセスのためのコンポーネント、Internet Explorerのようなアプリケーションが必要ですが、これらがない場合は自分で作りこまないといけないことになるわけです。
とはいえ、ブラウザなどの複雑なアプリケーションを1から作ることは通常はないと思います。ブラウザだけでも、オープンソースのものを使うか、市販されている組み込み用のブラウザ・アプリケーションを組み込むことになります。
日本ではACCESS社の「Net Front」という製品がマルチプラットフォームで使われており、テレビやカーナビ、携帯電話などさまざまな組み込み機器に搭載されています。しかし、パソコンのInternet Explorerとの互換性を求めるような端末では、Windows Embedded製品を採用していることが多いと言えます。
また、動画などの配信においてはDRM[*1]を使うことがありますが、これらは再生時の画質などの品質を保証するためにOSそのものの最適化を行う必要があります。デバイスドライバのチューニングだけで解決できる場合もあるかもしれませんが、場合によってはCPUを含むハードウエアの構成を見直さなければならないかもしれません。
ここで注意してほしいのは、組み込み機器に必要とされているアプリケーションやミドルウエアなどのコンポーネントが用意されているかどうかです。
Windows Embedded CE 6.0には、OSのカーネルとデバイスドライバ群や各種ミドルウエア(ファイルシステムやTCP/IP、Bluetoothなどのプロトコルスタックなど、またiTronなどの昔ながらの組み込みOSには標準で含まれていないもの)がほとんど用意されています。
これらを個別に購入し統合する作業をしなくてすむわけですから、かなりの開発期間とそれに伴うリソースやコストを削減することができます。
ただし、チップセットに合わせてデバイスドライバを用意してあげる必要があります。これを図にしてみると図1のようになります。
図1:組み込みシステムを構成する要素 |
この図に含まれているコンポーネント(四角のひとつひとつ)を開発するのが昔ながらの組み込み開発のスタイルでしたが、いまでは多くはサードパーティから入手することができ、個々の製品向けに最適化されたコードを提供してもらう(あるいはコードに自ら手を入れて最適化する)ことが一般的です。
例えば、OSのカーネルとこれらのようなコンポーネントを含めたWindows Embedded CE 6.0のコード量は300万行を軽く超えます。
このコード量を見ていただいてわかるように、開発生産性の観点からしても、すべて自分で作ることは現実的ではなくなり、パソコンと同様、第三者の提供するコードを大量に利用しながら機器を開発するのが一般的になっているといえるでしょう。
少し脱線しましたが、このように、パソコンの世界と同じような環境で組み込み機器は開発され、容易にネットワークにつなぐことができるようになってきました。パソコンの世界で使われてきた技術を展開することで、これらの技術面は解決できますが、どのようなサービスが、どのような種類の機器で必要なのか、あるいはキラーサービスとなるのかについてはパソコンと違った観点での観察と分析が必要になります。これは同じオンラインサービスに接続した際に、キーボードがない場合はどのように操作するのか、といったようなことです。
タッチパネルを使うことでこのような異なる使い方の実装を行うことが効果的だというのは、KIOSKやATMなどの業務用の組み込み機器やカーナビなどのコンシューマ機器の世界では過去10年にもわたって実証されてきたことで、組み込み機器の世界ではあたりまえの話でした。
しかしここにきて、パソコンにもタッチパネルを装備し、マルチタッチやジェスチャーによる新しい使い方の提案などが可能になり、より直観的で理解しやすい操作方法を提供できるようになったと言えます。
これまでキーボードとポインティングデバイスの使用を前提としてきたパソコンの世界観では、ようやく市民権を得たところかもしれません。