コード補完はインターフェースの困難さを乗り越える〜「プチコン」に学ぶインターフェース〜

Nintendo DSのソフトに、BASICでプログラミングができるソフトであるプチコン(現在mk2)というものがあるのを知って、「なんだよ、今更BASICかよ」なんて思っていました。しかも、タッチペンでコードを入力するのなんて、正気の沙汰じゃない。

コード補完はインターフェースの困難さを乗り越える

まずはこちらの動画をご覧ください。

まず思ったのは、

「コード補完すげー!」

ってことですね。スイスイと補完キーワードが並びます。(コード補完とは

用意されている命令に限りがあるからだと思うのですが、逆にその限りある命令が、Nintendo DSという劣悪なコーディング環境でも「補完」によってコーディングできる可能性を生み出しています。

僕はBASICという言語がめちゃくちゃ嫌いなクチです。行番号とか意味がわからないし、二度目に見た時には自分で書いたコードすら理解不能になるような構造化のしにくさが凄く嫌いだったので、「BASIC、簡単だよ」といくら言われてもC言語でコードを書いていました。

ただ、BASICの良さは「1命令で目に見える結果があらわれる」という単純明快さであり、プチコンがC言語でゲームを書くようなソフトであればある意味話題になったかも知れませんが、誰も惹きつけることはなかったでしょう。ましてや、コード補完でサクサクとコードを書けるような感覚を味あわせることなんて。そう、BASICの良さである「1命令で目に見える結果があらわれる」というポイントと、使える命令に限りがあることによるコード補完のサクサクさが、Nintendo DSという劣悪なコーディング環境でもコードディングを可能にするという、奇跡のコラボを生み出しているのです。

このコラボからのヒントは、物理的なインターフェースそのものに限界があったとしても、

  • 使用できる機能を制限すること(数を減らす)
  • 機能を1ステップで呼び出せるようにする

ということで流暢なインターフェースをデザインすることができる、ということなのではないかなと感じました。通常、機能を1ステップにするというUIはボタンで表現されますが、この場合はコード補完であるところが、工夫のポイントかなーと思います。キーボード面を命令のボタンの羅列にするというアイデアもあったと思うのですが、それよりは命令の1文字目を入力したときに候補が表示される方が、使い慣れてくると便利ですよね。

私たちの研究の結果によれば、コントロールスイッチの数は機能の数に合わせ、表示パネルは機能別に構造化すると使いやすいということになる。この相反する二つをどうやったら同時に満足させることができるだろうか。それには、ある時点で使われていないコントロールスイッチを隠してやればいいのである。その時点で使う可能性のあるスイッチだけを目に見えるようにすれば、外観の複雑さを小さくすることができる。そして機能別に別々のコントロールスイッチをつけることによって、使う際の複雑さを小さくできる。一石二鳥は可能なのだ。(「誰のためのデザイン?」P.345より引用)

いやー、でも、キーボードがあったらもっと早く入力できるよなぁ・・・。そうやってプチコンからプログラミングの道に入った少年は、パソコンの世界へと旅立っていくのかも知れません。

蘇るBASICプログラミング プチコン公式活用テクニック
松原拓也
アスキー・メディアワークス
売り上げランキング: 132,858
誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)
ドナルド・A. ノーマン D.A. ノーマン
新曜社
売り上げランキング: 3,164