増井俊之の「界面潮流」

「界面」=「インタフェース」。ユーザインタフェース研究の第一人者が、ユビキタス社会やインターフェース技術の動向を読み解く。

第9回 なんでも自動処理

2007年8月31日

(これまでの増井俊之の「界面潮流」はこちら)

同じような操作を何度も実行しなければならないとき、手間を省くために操作を自動化したくなります。たとえば、テキストファイルの行の先頭に“> ”という文字列を追加していきたいとき、何度も“> ”をタイプするのは面倒ですから、なんらかの方法で自動化できれば便利です。エディタに「n行にわたって行頭に文字列を追加する」のような機能があればいいのですが、様々な自動化要求すべてに対応することは不可能ですから、特殊な自動化処理を行ないたい場合は、なんらかの方法でユーザが自力でプログラムを作成して計算機に与える必要があります。

ユーザが「操作マクロ」を定義できるエディタは多いですし、本格的なプログラミングが可能なEmacsのようなエディタもありますが、こういったプログラミングは敷居が高く難しいものですから、たいていはあきらめてこつこつ作業するのが普通だと思います。しかし、手軽にちょっとした自動化処理を指示できると嬉しいでしょうから、誰でも簡単なプログラミングを行なえるようにするエンドユーザプログラミング例示プログラミングという考え方が提唱されています。

本格的なプログラミングは難しいかもしれませんが、料理のレシピのような手順書であれば簡単に書いたり利用したりできますし、大抵の人はアナログ時計のアラームをセットできるわけですから、環境さえ用意すれば誰でも簡単なプログラミングができるようになる可能性は充分あるといえるでしょう。

■エンドユーザプログラミング

操作手順のような簡単なプログラムを誰でも手軽に作って利用できるようにしようというのがエンドユーザプログラミングの考え方です。テキストだけ利用するよりも図を併用した方がわかりやすいことが多いので、ビジュアルプログラミングがよく採用されています。ビジュアルプログラミングの研究は長い歴史がありますが、まだ本格的なプログラミングに利用されているとはいえません。しかし、音楽家の間ではMaxというビジュアルプログラミングシステムが広く利用されていますし、Lego Mindstormsのような教育システムでもビジュアルプログラミング言語を採用することによって、プログラムの敷居を下げるのに成功しています。

MacintoshにはAutomatorという簡単なビジュアルプログラミングシステムが搭載されており、アプリケーション操作を自動化するプログラムを手軽に作れるようになっています。下図は、人間を表現するアイコンへファイルをDrag&Dropすることによってその人にファイルをメールで送るというプログラムをAutomatorで作成したものです。これは顔アイコンシステムで提案されているものですが、Automatorを使うとこのように非常に簡単に実装することができます。

automator.png


■例示プログラミング

プログラミングが難しいのは、抽象的思考が必要になるからかもしれません。レシピを記述したり目覚まし時計をセットしたりする操作は具体的だからわかりやすいといえるでしょう。文字盤の「7」のところに針をあわせるという操作は、時刻が文字盤の上に具体的に表現されているのでわかりやすいのですが、昔のビデオデッキのように「7:00」のような数字を入力する操作が必要な場合、時刻やチャンネルの数字による表現が抽象的でわかりにくいため、ビデオの予約は難しいという印象が定着してしまったのでしょう。ビデオの録画予約が苦手な人でも、チャンネルを変えたり録画ボタンを押したりすることはできるでしょうから、このような具体的な操作だけで予約ができるようになっていればよかったのかもしれません。

例示プログラミングの手法を使うと、抽象的な表現を利用せず、具体的な操作だけをもとにしてプログラミングを行なうことができます。私が作成したDynamic Macroというシステムでは、テキストエディタ上で何か同じ操作を二度繰り返すと、繰り返した操作がプログラムとして登録され、その操作を何度も繰り返し実行させることが可能になっています。例えば“> ”という文字列を二度入力した後で「繰り返しキー」を押すことによってこの操作がプログラムとして登録され、このキーを押すだけで自動呼び出しすることができます。ユーザはプログラミングを行なっている意識が無くても、同じことを二度実行しただけでその操作がプログラムとして登録されるのが特徴です。

このように、例示プログラミングシステムでは、具体的な操作を行なうことによってプログラムを自動生成することができます。複雑なプログラムを作ろうとすると例を沢山与える必要がありますが、単純なプログラムを作りたい場合は有効な手法だといえるでしょう。

■自動化の展望

ユーザが簡単にプログラミングを行なうためのツールや環境は最近増えているようです。前述のAutomatorはあらゆるMacintoshに標準装備されていますし、Firefoxの動作を自動化するChickenfootMozReplのようなシステムも手軽に使えるようになりました。ちょっと前のパソコンではプログラミング環境を用意するのが大変でしたが、最近はあらゆるブラウザがJavaScriptのプログラミング環境を持っているので、プログラミングを始めるための敷居はかなり低くなっています。これらを活用した例示プログラミング/エンドユーザプログラミングシステムがこれから増えてくることでしょう。

現在は、プログラミングの対象はEmacsとかMacアプリケーションとかブラウザのような、パソコン上のソフトウェア限られていますが、将来的には全世界のセンサやアクチュエータを自在にプログラミングできるようになってほしいものです。「近くに友達がいれば連絡する」とか、「株価が上がったら株を売る」といったプログラムを誰でも簡単に作って利用できると便利でしょう。「近く」のような概念は普通のプログラム言語では簡単に表現することができませんが、こういった漠然とした概念は、ビジュアルプログラミングや例示プログラミングを利用した方が指定しやすいかもしれません。ユビキタスコンピューティングにおける様々な自動化を支援する環境に今後期待したいところです。

フィードを登録する

前の記事

次の記事

増井俊之の「界面潮流」

プロフィール

1959年生まれ。ユーザインタフェース研究。POBox、QuickML、本棚.orgなどのシステムを開発。ソニーコンピュータサイエンス研究所、産業技術総合研究所、Apple Inc.など勤務を経て現在慶應義塾大学教授。著書に『インターフェイスの街角』などがある。

過去の記事

月間アーカイブ

ブログ一覧

  • Autopia
  • Compiler
  • Cut up Mac
  • Danger Room
  • Epicenter
  • from Wired Blogs
  • Gadget Lab
  • Intel International Science and Engineering Fair (Intel ISEF)
  • IPTVビジネスはどのようにデザインされるか
  • Listening Post
  • Web2.0時代の情報発信を考える
  • Wired Science
  • yah-manの「イマ、ウェブ、デザイン、セカイ」
  • yomoyomoの「情報共有の未来」
  • それは現場で起きている。
  • ガリレオの「Wired翻訳裏話」
  • サービス工学で未来を創る
  • デザイン・テクノロジーによるサステナビリティの実現
  • デザイン・ビジュアライゼーションが変えるマーケティング・ワークフロー
  • マイケル・カネロスの「海外グリーンテック事情」
  • 佐々木俊尚の「ウィキノミクスモデルを追う」
  • 佐々木俊尚の「電脳ダイバーシティ」
  • 合原亮一の「科学と技術の将来展望」
  • 合原亮一の「電脳自然生活」
  • 増井俊之×LogMeIn
  • 増井俊之の「界面潮流」
  • 大谷和利の「General Gadgets」
  • 小山敦史の「食と人のチカラ」
  • 小島寛之の「環境と経済と幸福の関係」
  • 小田中直樹の「バック・トゥ・ザ・フューチャー」
  • 小田切博の「キャラクターのランドスケープ」
  • 山路達也の「エコ技術研究者に訊く」
  • 後藤和貴の「ウェブモンキーウォッチ」
  • 携帯大学 web分校
  • 木暮祐一の「ケータイ開国論II」
  • 木暮祐一の「ケータイ開国論」
  • 松浦晋也の「モビリティ・ビジョン」
  • 歌田明弘の「ネットと広告経済の行方」
  • 清田辰明の「Weekly image from flickr」
  • 渡辺保史の「コミュニケーションデザインの未来」
  • 濱野智史の「情報環境研究ノート」
  • 白田秀彰の「現実デバッグ」
  • 白田秀彰の「網言録」
  • 石井孝明の「温暖化とケイザイをめぐって」
  • 竹田茂の「構成的アプローチ」
  • 織田浩一の「ソーシャルメディアと広告テクノロジー」
  • 荒川曜子の「それはWeb調査から始まった」
  • 藤井敏彦の「CSRの本質」
  • 藤倉良の「冷静に考える環境問題」
  • 藤元健太郎の「フロントライン・ビズ」
  • 藤田郁雄の「サバイバル・インベストメント」
  • 西堀弥恵の「テクノロジーがもたらす快適な暮らし」
  • 関裕司の「サーチ・リテラシー」
  • 飯田泰之の「ソーシャル・サイエンス・ハック!」
  • 高森郁哉の「ArtとTechの明日が見たい」

Agile Media Network clipping

シリコンバレー在住エンジニアの茂森さんが只今求職中

デフレの正体