デザインテクノロジーの最前線 - 桐山孝司

m.c.t.ホーム > エクスペリエンスマガジン > デザインテクノロジーの最前線 - 桐山孝司 > ハードウエアによるスケッチング

2006.08.15ハードウエアによるスケッチング

ユビキタス・コンピューティングは、センサやコンピュータを身の回りに組み込み、意識することなく環境から情報を収集したり、状況に応じて情報の出し方を変えられる環境を作ろうとするものである。そしてユビキタス・コンピューティングの重要なポイントは、環境の中にある物理的なハードウエアと情報とをうまく結びつけることにある。例えばアップルとナイキが発表したジョギング用のiPodのように、シューズが入力デバイスでiPodが記録デバイスでもよい。トレーニングという目的に特化することにより、センサやコンピュータはスリム化されてハードウエアの中に組み込まれ、われわれが明示的に意識しなくてもよいものになっていくのである。


そのようなユビキタス・コンピューティングでは、デザインの初期段階からハードウエアと情報との組み合わせをテストし、使いやすさや目的としている本来の作業への影響を知るためにラピッドプロトタイピングをしていく必要がある。ところが情報を扱うハードウエアは組み込み用のマイクロコンピュータと密接に関わっており、これまでインタフェースデザイナーにとってなかなか簡単には扱えない領域であった。以前からユーザインタフェースなどのソフトウエアについてラピッドプロトタイピングは行われていたし、フォームコアで構造やメカニズムを作ることも行われていた。しかしそのようなプロトタイプでも、スイッチやセンサーなどに連動してコンピュータを動かすことは難しく、外見上のモデルと機能的なプロトタイプが別々になることが往々にしてあった。

ところがここ1?2年で、ハードウエアを含むラピッドプロトタイピングの領域が急に開拓されてきた。その理由の一つは、プログラムを開発したり高度な処理を受け持ったりするためのMacやWindowsのようなパソコンと、デバイスに組み込んで使うマイクロコンピュータとの通信がしやすくなったことがあげられる。マイクロコンピュータは工業的にはすでに長く使われていて、単体で製品に組み込むには適している。しかし外部のパソコンにデータを送るためには、マイクロコンピュータ自体よりも大きなコネクタのついたシリアル通信ケーブルでつなぐ必要があった。それに対して近年、USBの普及とともにUSB専用のICが開発され、基板上でマイクロコンピュータと並べて使えば通信関係のプログラミングを一切しなくてもパソコンとデータを送受信できるようになっている。またUSBからは電力も受け取れるので、基板に重い電源アダプタをつなげる必要もなくなった。

またハードウエアのスケッチングが進んできた理由には、開発言語が高度化したことも大きい。マイクロコンピュータといえば、以前はハードウエアの仕組みに依存するアセンブラ言語で開発するのが主だった。さすがに最近ではC言語やベーシック言語を使うことが多くなったが、それでもプログラムを実行形式にするためのコンパイラが有料だったり、MacやLinuxでは開発環境がほとんどなかったりして、インタフェースデザイナーにはあいかわらず敷居の高い状態が続いていた。

ところが最近では、Processing(プロセッシング)というデジタルメディア用の高級言語でプログラムを作り、マイクロコンピュータに書き込めるようになっている。このためのボードとして開発が進んでいるArduinoはわずか30ドルで買うことができる。ProcessingとArduinoを使うと、ICの入出力の役割を定義した上で、センサからの値を読み取り、処理をしてからモータに出力するといったプロセスがほんの10行ほどのプログラムで実現できる。マイクロコンピュータ用のプログラミングというのは、インタフェーズデザイン全体から見れば必要だがあくまで周辺領域に過ぎないので、それだけのためにC言語を覚えるという気が起こりにくい。ところがProcessingのような高度なメディア処理のできる言語でマイクロコンピュータも操作できると、センサから表示までの一貫した処理の流れを試してみることが非常にやりやすくなる。

もっとも実際にはちょっとしたトリックがあり、ProcessingはJavaの上に作られた正真正銘の高水準言語であるが、マイクロコンピュータ向けのものはProcessingの一部の機能だけをC言語で実現したWiring(ワイヤリング)という言語である。この方がJavaの巨大な実行環境をマイクロコンピュータに持ち込む必要がないためであるが、ユーザにとっては実装方法の違いはともかく、あたかもProcessing/Wiringという共通言語でハードもソフトも扱えるように見えることが大事なのである。

最近では、マイクロコンピュータやセンサ、モータなどのアクチュエータを使ってプロトタイピングを作ることを、ハードウエアによるスケッチという言い方をしている。ちょうど紙に図を描いて問題点を考えるように、考えていることをハードウエアですばやく表現するという意味だ。Adaptive Pathのコンサルタントで、現在はフリーランスといて活躍しているMike Kuniavskyはハードウエア・スケッチングについて「すでに(センサやマイクロコンピュータのような)新技術は要素を定義して改良するところから、人々にとっての本当の問題を解決するデザインの段階に来ている」と述べている。

真に意味のあるユビキタス・コンピューティングは、技術的な新規性だけでなく、ユーザの挙動についての観点に優れたデザイナーが早い段階からプロトタイピングに参加することで実現できるものと思う。そのための道具立てとして、ハードウエアによるスケッチングはますます必要性が増していく分野であり、今後さらに新しいプログラミング環境やデバイスが開発されていく様子に注目しておきたい。

図:Arduinoボード(青い基板)、それを使った映像コントローラのプロトタイプと内 部。d_23_photo1-arduinod_23_photo2-controllerd_23_photo3-inside