展開ヘルプ利用例
Mac のメニューバーに常駐するアプリケーションとして実装した展開ヘルプの利用例を示す。 メニューバーの「ExHelp」というアイコンをクリックすると図1 のように検索文字列入力枠が表示される。
図 1 展開ヘルプの起動.
https://gyazo.com/a7e5d370d4ddc1c9d504f1d2fdc4f7a0
入力枠に「3」を入力すると、システムが実行可能な機能のうち「3」を含むものがリストされる。膨大なリストの一部が表示されている。
その時点でのファイル名やプロセス名で「3」を含むものに関する機能
パラメタに「3」が含まれる可能性のある機能
時刻に関連する機能など
図 2 検索パタン「3」を入力.
https://gyazo.com/0988a0a024e36629cd2276a9974ed574
ここで「junk3 というファイルを Emacs エディタで開く」を選択すると、図3 のようにEmacs が起動してjunk3 というファイルの編集画面になる。
図 3 Emacs を起動して junk3 を編集.
https://gyazo.com/a7e4211785c914f65207ca5c989fd2a6
「鎌倉」と入力すると、鎌倉に関する各種のヘルプエントリが表示される。エントリを選択するとブラウザが開いて天気予報や時刻表ページが表示される。
図 4 「鎌倉」で検索
https://gyazo.com/27aae58c4c31f6a99c2c5e6aba795ebb
junk.html という名前のファイルをFirefox で開こうとして「jumk giref」のように間違ったスペルを入力した場合でも、自動的に曖昧検索が実行されて図5のように目的のエントリが表示される。
図 5 スペルミスに対する曖昧検索.
https://gyazo.com/ebddc90df0b2c1db5e149a2eb783bcd2
「3:45」のように具体的な時刻をキーワードとして指定すると、図6 のようなヘルプ項目が表示され、項目を選択すると実際にシステムの時間が 3:45 にセットされる。別の任意の時刻を指定しても同様である。
図 6 3:45 に時刻をセット
https://gyazo.com/f57334806c4445b463f0450cdd429fd6
「新 omni」のようなキーワードを指定すると図7 のようなヘルプ項目が表示され、項目を選択するとSpot-light の機能を利用して最新のOmniGraffle のファイルが検索されてOmniGraffle でオープンされる。
図 7 最新の OmniGraffle ファイルをオープンする
https://gyazo.com/bfd095ada417eb01a04f2c0d039858cb
Mac ではNSMetadataQuery ライブラリを利用してファイルの全文検索や属性検索を行なうことができるが、属性を指定して検索するための簡単な方法が用意されていないためこの機能は活用されていない。
NSMetadataQuery クラスを利用するとファイル属性やソート順を指定した検索ができるが、ContentType として com.omnigroup.omnigraffle.graffleを指定したり、ファイル修正時刻をもとにしたソートを指定するといった複雑な指示が必要である。
ユーザの頭に浮かぶ平易な表現と計算機コマンドの対応をヘルプ項目として用意しておくことにより、図7のような直感的にヘルプ検索とコマンド実行を行なうことができる。
このように、ヘルプ項目が存在する限り、コマンド名やパラメタ値やその他の属性を簡潔にキーワードとして指定することによってユーザが実行したい具体的な機能を検索することができ、それを選択してその場で実行させることができることになる。