インタフェースとキャラクター化


ちょっとここらでデスクトップマスコットを作ってきた雑感を、「インタフェース」と「キャラクター化」に絞って書いてみようと思います。

インタフェース

多くの人にとって、良くも悪くもプログラムはインタフェースから受ける印象から機能を想像するように感じられます。
デスクトップマスコットも例外ではありません。例えば、インタフェースのルック&フィールから受ける印象で

  • ランチャーがあってプログラムを起動できるにはずだ!(あったらいいな!)
  • タイマーがあって、経過を教えてくれるはずだ!(あったらいいな!)
  • 時刻表示があって時間を教えてくれるはずだ!(あったらいいな!)

というような、機能を想像や思い込みをしてしまうようです。(もちろん、名前からくる印象も大きいと思いますが)
まさかApricotが、RSS/Atomフィードから解析(データマイニング)を行い、最近起きていることを楽しく知るツールではあるとは思わないわけです。

キャラクター化

更に、興味深いのはキャラクター化したインタフェースであると、(下記のリストのように)キャラクターそのものが持つ背景の印象を、インタフェースから受ける印象に加えて想像する傾向にあるようです。

  • このキャラクターはこの単語を喋るはずだ!(よって、あの言葉は喋らない!)
  • このキャラクターはこのセリフを喋るはずだ!(よって、あのセリフは喋らない!)

考えてみれば実にごもっともな意見で、キャラクター化をする上ではこのような要求を満たすようにすることが必要です。
ちなみに、いきなりキャラクター化といってますが、キャラクター化とはキャラクターが持つ背景を作り、絵や音で視覚化することだと思ってます。(と定義します。)

しかしながら、Apricotのような解析をベースにしているプログラムでは、上に列挙した単語を制限して喋らせることはデザイン上難しいので、(キャラクターの境界線がシビアな方向けに)キャラクターの背景を完全に再現するのは不可能です。

また、このキャラクターの持っている背景の境界線(キャラクターとして認識する境界線)は凄く曖昧な気がします。それこそ人の数ほどいるのが現状だと思います。なので、完全に全ての人の要求にマッチしたキャラクター化は難しいです。

まとめ

そんなわけで、見た目による判断により本来のプログラムの目的とは異なるギャップが発生する問題が存在します。このようなギャップをどうやって埋められるか考えてみると、結局、プログラムのデザインの変更によって解決出来るところは解決すべきだと思いますが、特にキャラクター化というのは非常に曖昧な箇所があるのでプログラムのデザインの変更は難しいところがあります。
なので、どうしても技術的に解決できない箇所は、プログラムの主旨を理解して貰えるようにするといった活動が必要なのかもしれません。