コマンドかメニューか

ランチャの趣味趣向な話の続き。(その4くらい)。後半の方は信者らしくfenrir真理教の布教に励んでみた。

■コマンド型かメニュー型か
 前にコメントの所で書いたので、ボタン型や選択肢の候補の話は適当に省略して、次に問題となるのは、コマンド候補を表示する前の段階で何処まで記憶補助するかと言う話。旧来のコマンド型の場合、並列的に一覧にして表示できる候補の数はメニュー型よりも多いが、逆に言うと最低でも何か一つのキー、もしくはスペルのようなものを覚えていないと目的のコマンドにたどり着けない。そういう意味ではメニュー型よりもコマンド型のほうが視覚補助が弱くなる。例えばメニュー型ならば、表示するメニューにカテゴライズされた項目を表示する事で、そこから目的のコマンドを選び出すと言う補助や分類などの部分で勝負できるという面がある。

DOSかスタートメニューか
 そういうメニューの利点を端的に現わしているのがWindowsのスタートメニューや、クイックランチなどのメニューで、この場合は階層を深くする程、少ない記憶量から大量のコマンドを問題なく選択できるメリットがある。しかも多くのメニュー型ランチャではキーボードでメニューが操作可能になっており、メニューの頭文字を押す事でメニューを選択していける。これはある意味コマンド型の補完に殆ど類似した結果をもたらしていると言って良いと思う。更に、Windows標準のクイックランチなどではディレクトリ構造すらメニューで表示する事ができる。つまり、これはディレクトリ構造もキーボードで補完しながら移動が出来る上に、マウスでの選択も不自由なく出来るということに相当する。メニュー型ランチャのかなりのメリットだと思う。
 一方のコマンド型ランチャの利点は端的に言えば、DOSのコマンドとかに近い。始めのキーさえ覚えていれば、そこからはメニュー型ではありえない大量の候補を表示して補完できる、つまりカテゴリを辿って目的のコマンドにたどり着かなくても直接的に選択できると言うメリットがある。また、メニュー型と同様に、ディレクトリを補完しながらだどるというのも一般的な機能でこの点でもメニュー型と同等の事をこなす。PC的にはCUIなので軽くて負担が少なくても素早いレスポンスが期待できる。

ディレクトリという私的な分類から適当にこの話を書いているのが前の書いたこのあたり。
HDN:ディレクトリ構造の変化について
http://toollinks.seesaa.net/article/8211085.html


■スタートメニューを超えて*1
 しかし、このレベルではまだコマンド型はクイックランチには勝てない。そこを越えていく話が、コマンド型の色々な機能で、例えばメニュー型ランチャでは実質補完といえる動作はコマンドの先頭一致になる。メニュー型で先頭文字のキーを押す事で移動するタイプの移動は補完でいえば、先頭一致の補完に等しい。一方コマンド型の方は中間一致やスキップマッチング等の補完が出来る。この機能はメニュー型では出来ない為に初めてコマンド型のメリットが出てくる。しかし、この段階でもマウスが使い難いコマンド型のデメリットを考える時、まだコマンド型のメリットは完全でなくメニュー型と互角といった所だろう。
 例えば、ディレクトリ構造を辿る時は、やはりC:\となったら次のディレクトリまでは好きな補完を選べる利点はあるが、一つ移動した後、また次のディレクトリへと移動をくり返す動作はメニュー型よりやや軽い程度の利点しかない部分がある。その辺は、ディレクトリ構造の変化についてとかでも見てもらうとして、コマンド型の次の段階について書くことに

■Fenrirの異次元空間への突入
 コマンド型の場合、メニュー型と違いフォルダ名に対する補完方法は様々な方法があるが、結局マウスの有無などを考慮すると決定的な差ではないため、メニュー型かコマンド型かは一時期は好みの問題として派閥が二分れていたように思う。勿論自分も御託に漏れずその辺りをウロウロして小手先のテクニックで多少の便利さについて迷ったりしていたわけだが、しかし、そこにGowとその息子とも言える破壊の杖Fenrirが出現した事によって、個人的なランチャの選択肢は急展開したように思う。
 Fenrirの破壊的なメモリ使用と、気づいたらそれに難なく耐えうる事が出来るようになっていたハードウェアによって、今まで悩んでいた並列的なディレクトリ構造か、カテゴライズされた直列の深いディレクトリ構造かという問題はあっさり破壊されてしまっていた。Fenrirがやった事は、コマンドだけではなくあらゆるパスを並列的に単純にひたすら並べて補完できるようにしてしまう手法で、これによりコマンドだけでなくどのようなディレクトリ構造を採用していようとも、全てのパスへコマンド型の利点を生かし直結させる事ができる。これはどのような場所に配置された.exeファイルへも直結してアクセスできることを意味する。更に、メニュー型の利点だったカテゴライズされたメニューから殆ど記憶に残っていないコマンドを負担なく選択できるメリットをコマンド型でも出来るようにしてしまった。つまり、カテゴライズされているディレクトリを辿る事で記憶を補助しながらゆっくりと降りていく事も、直接ダイレクトに移動する事も両方が瞬時に出来るようになってしまったわけだ。しかも、それはメニュー型のように一定の経路を辿る事に限定させず、どのような記憶に残ったパスの一部のカスからも、パスの途中からも、始めからもあらゆる場所からパスを辿る事ができる。しかもスキップマッチングや先頭一致、中間一致、さらにmigemoという多彩な検索方法を提示した状態でソレを実行して目的の場所まで移動できるという破壊力だ。さらにパスが選択され決定される段階ではホットキーランチャのように、細かいキー設定によってコマンドの実行方法を多数選択でき、その上、場合によってはメニュー型のように呼び出すことも出来る。しかも、僅かな弱点であるランチャの呼び出しすら、この前nanaさんが書かれていたようなコマンドの決定と言う動作を必要としないインスタントコマンドを備える事で、繰り返し動作で速度が必要とされる類の動作でも、呼び出しキーが一つ多いだけで決定キーを省いて動かす事ができる仕組みになっている。まさにFenrirここ君臨といった観がある。himadatanodeの発想の次元を超えたまさに驚異的な構造により、Fenrirは使用者を予測不能の異次元空間へと突入させる。
 このFenrir*2によってランチャにおけるパラダイムは一つシフトしたように思う。Fenrir*3は名前の通り今まで自分がgdgd考えてたものを一瞬で破壊し尽くす破壊力たが、現在ではクラフトEXやAHKでも類似の動作をするスクリプトがあるためコマンド型のランチャは選択肢も増え、この異次元空間への突入はまた別の多彩な方向性を提示しているようだけど、そっちは余り調べていないのでどういう方向に展開したのかは詳しくは不明(大体は試してみたことならあるけど)。
 ただ、あえて難点を言えば、少々メモリ使用量が多い事と細かい不都合がまだ残されている部分はあるように思う。

大体似たような話を違う方向性から書いたの。
http://toollinks.seesaa.net/article/8276281.html

*1:コマンド型の限界突破

*2:もしくはGow

*3:もしくはGow