古くて新しい"フロー"UI

nmoshの新しいREPLを設計する上で一番参考にしているのはMathematicaのノートブックUI。
これは素晴らしいNeXT文化でありながらWWWのようには影響を与えることが出来なかったように思う。WWWの操作性 - "進む"/"戻る" - はNeXTからの遺伝で、これはかなりの広がりを見せている。MathematicaのノートブックUI、つまり"触れる情報"が世界中に影響を与えていたら今とは違ったコンピュータインタラクションの世界があったかもしれない。(もちろんいわゆるDHTMLとかで実現している部分は大いに有るが。。)

MathematicaのREPLはnotebookと呼ばれる。様々なインタラクション可能なオブジェクトをノートブック中には出力できる。
Schemeの場合DrRacketのような図形等を扱えるREPLは既にある。

フローUI

上から下に流れる対話式のUIを"フローUI"とまとめてみる。
フローUIは、いわゆるテレタイプによるインタラクションから発想されている。(ミニ)コンピュータの黎明期から現在に至るまで、プログラミングUIの中心はフローUIであり続けているという事実がある。

たとえばMac上のMetroworksコンパイラは、コンパイル中の行数をプログレスバーで表示するような機能も有ったが、現在の開発環境はソースファイル以下の粒度ではコンパイラとUIの関わりは無い。そういう意味で、"バックグラウンドでコンソールプログラムであるコンパイラを起動する"というパラダイムは未だに続いている。
フローUIは"イベントの蓄積"と言える。この手のUIを出すときに避けて通れないのはCannon Catだろう。

CatのLeapは検索を中心としたUIの先駆けとしても興味深い。また、Cannon Catの"巨大なスクロールする文書を中心としたUI"は古巣AppleのNewton等にも隔世遺伝している。
先日、コミュニケーションアプリであるLINEがプラットフォーム化を発表した。LINEのような対話を中心としたシステムもフローUIの一種といえるだろう。ただし対話の相手が自分の文章やコンパイラでない点は異なる。
AppleはSiriでフローUIに回帰している。Appleがそれ以前に提唱していた人工知能エージェントコンセプトであるKnowledge Navigatorは全然フローUIしていない。

フローUIは究極の形なのだろうか。たとえば、上から下に流れないtwitterは存在できるのだろうか。実際、自由配置型のチャットシステムmurmurは無くなってしまった。IRCは太古の昔から存在するし、Linuxでも未だにTTY(テレタイプ)が有る。