web-dev-qa-db-ja.com

コンソールUI(CLI)のガイドライン

入れ子になったラベルと入力フィールドで構成されるいくつかのメイングループで構成されるコンソールUIを構築する必要があります。このようなものを簡単にナビゲートし、ユーザーのためにすぐに消化するためのガイドラインはありますか?さらに、ある種の現代的なコンソールまたはナビゲーションパラダイムの良い例はありますか、それとも単純なDOSのようなテキストナビゲーションメニューに制限されていますか?

ncurses-based menuconfig

5
Joel B

そのような挑戦を受ける幸運を自分で考えてください!メインフレームアプリケーションを設計していたとき、私は一生懸命でした。グラフィックからテキストベースのインターフェイスに移行しなければならないのは非常にショックでしたが、デザイナーとして、設計のコアな側面に本当に集中する必要がありました。

CLIで役立つことがわかったいくつかの事項:

  • コマンド、パラメーターなどのヘルプにアクセスする簡単な方法...
  • コマンドとオプションに完全な単語を使用する
  • アクションによってエラーが発生する場合は、試行したコマンドに基づいてコンテキストヘルプ情報を参照するように最善を尽くしてください

NIX環境でのプログラム設計 と題された1980年代初頭の昔ながらの論文は、著者が良い設計と悪い設計であると信じたものの例を示しています。彼らは後に The Unix Programming Environment を書き続けました。これは、主題について書かれた最も影響力のあるテキストの1つです。

もっとモダンなものをチェックしてください Rubyで素晴らしいコマンドラインアプリケーションを構築する 。アプリがRubyでなくても、この本は整形式のCLIに見られるいくつかの品質にスポットを当てるのに役立ちます。

3
Tom Griffin

CLIのみである必要がありますか?

ほとんどの場合、CLIは、より学習しやすいGUIアプリケーションのパワーユーザー機能として最適に実装されます。これにより、コマンドライン恐怖症(かなり大規模なユーザーベース)の学習曲線が緩和され、さらに優れた機能を求めているユーザーは、CLIをアクティブにすることで、アプリについて学んだことをスピードアップできます。

私たちが学ぶことができるいくつかの前例。

GitHubのAtomのようなコードエディターには、CLIを呼び出すためのクイックキーシーケンスを備えたGUIレイヤーがあります。同様に、ChromeおよびFirefoxの組み込み開発ツールには、必要に応じて呼び出すことができるコンソールがあり、非効率なクリックを回避できます。

Quicksilver は、グラフィカルにサポートされているCLIについても興味深い視点を持っています。

CLIとしての検索Don Norman によって「画期的なUI」として呼び出されました。

検索エンジンは、現代的な形式のコマンドラインインターフェースを介して制御される、応答エンジンに移行しました。

検索の鍵は、その能力の多くが自然言語検出に依存しており、初心者は基本的に無視できるということです。

Auto-suggest/completeは、これらすべての例に共通のパターンです。これは、ユーザーの期待について多くのことを物語っています。

シンプルなテキストのみのインターフェースの例

Search bar with natural language and syntax highlighting

基本的なコマンドプロンプト機能を組み込んだsearch-as-CLIの例を次に示します。

  1. 適切なコマンド構築を支援する構文の強調表示。
  2. 既知の値が存在する場合、自動提案/補完。
  3. いくつかの自然言語をサポートする簡単なコマンド。
2
plainclothes