ユーザーインタフェースの開発に関する考慮事項
ユーザーインタフェースを開発する際には、以下の最良事例を使用してください。
マッシュアップを作成する前にモックアップ設計を作成
アプリケーションの設計およびマッシュアップの作成を開始する前に、以下を行うことをお勧めします。
ユーザーがアプリケーションで必要とする機能に関する情報をユーザーから収集します。
必要な機能に関するデータを統合します。
データをアプリケーションに送信するデバイスに関する情報を取得します。
ユーザーエクスペリエンスまたはユーザーインタフェースの設計者と一緒に標準アプリケーションレイアウトを開発します。必要な利害関係者によってレイアウトが承認された場合、少数の反復作業でマッシュアップを直接構築できます。
アプリケーションのプライマリ表示デバイス (スマートフォン、タブレット、デスクトップ) を決定します。
プライマリ表示デバイスを決定していない場合、レスポンシブマッシュアップを使用します。レイアウトのタイプを選択した後で変更することはできません。
組み込みマッシュアップを使用して再使用可能なユーザーインタフェースを埋め込み
アプリケーション全体を再使用可能な小さなコンポーネントに分割することをお勧めします。再使用可能なマッシュアップをマッシュアップのメインページ上に設定できます。たとえば、サーチ結果ページを再使用可能なコンポーネントにすることができます。サーチ基準に応じてマッシュアップを設定できます。
再使用可能なマッシュアップをアプリケーションマッシュアップに埋め込むには、組み込みマッシュアップウィジェットを使用します。再使用可能なマッシュアップを使用すると以下のような利点があります。
マッシュアップを分割することで、複数の開発者がユーザーインタフェースの開発を同時に行えるようになります。
再使用可能なコンポーネントによって、アプリケーションの画面上で必要なウィジェットの数が減るので、ユーザーインタフェースの開発が簡単になります。ウィジェットが少なくなることで、多数のウィジェットパラメータやそのバインドなどを操作する必要がなくなります。
マッシュアップを再使用することで開発全体の労力が軽減されます。
ユーザーインタフェースを直感的に
ユーザーの習得時間を短縮するため、直感的なインタフェースを作成するようにします。以下の推奨事項を考慮してください。
論理的なフローを提供します。
ユーザーが各自の画面をどのように読み取るかを検討し、それに従ってワークフローを設計します。たとえば、左から右、上から下など。ユーザーが次の操作をスムーズに実行できるようなレイアウトにします。
ユーザーにフィードバックを提供します。次に例を示します。
ユーザーインタフェースで入力したり選択したりする情報をユーザーにわかりやすく示すメッセージを表示します。
ユーザーが実行した操作のステータスを示します。
アプリケーションがバックグラウンドでなんらかのコードを実行していることが原因で画面が応答しなくなる場合、メッセージでユーザーに警告します。これによって、ユーザーは追加の操作を実行せずに、アプリケーションがプロセスを完了するまで待つようになります。
操作の負荷を軽減
設計を簡素化して簡単に使用できるようにします。以下の推奨事項を考慮してください。
ミニマリストの UI 設計原則に従います。
同様の目的を持つエレメントをグループ化します。
ユーザーの注意や操作を必要とするエレメントだけを表示します。
追加データを表示する場合、ポップアップやその他のドリルダウン機能を使用します。ユーザーは必要に応じてデータにアクセスできます。
アプリケーションのある画面から別の画面に移動するときのクリックの回数を最小限にします。タブを使用して、画面上の情報を整理したり、データセット間を移動したりします。
入力を行った後は、Enter キーを使用して操作をトリガーします。たとえば、テキストボックスになんらかのテキストを入力した後、Enter キーを押すことでそのテキストをサブミットできなければなりません。
クライアント/サーバー間の対話を減らす
アプリケーション内でサーバー/クライアント間の不必要な対話を避けるようにします。
たとえば、以下の処理を行う 4 つのサービスが設定されているとします。
特定のマシンの利用率レコードを取得する
別の表示ウィジェット用にレコードの並べ替えを反転する
マシンの状態別にレコードを集計する
利用率を計算する
インフォテーブルを使用した場合、サーバーに対して 1 回呼び出しを行うことで、4 つの結果データセットすべてをマッシュアップに返すことができます。4 つのサービスはまだ使用されていますが、1 回の呼び出しで実行されます。
新規サービス (例に挙げた 4 つのサービス) を定義する代わりに、GetProperties サービスを使用してデータを取得することをお勧めします。新規サービスは、データが変更されていない場合でも、サーバーからデータをプルします。GetProperties サービスは、データが変更された場合にだけデータをプッシュします。これにより、サーバーに対する余分な呼び出しがなくなり、サーバー/クライアント間の不必要な対話がなくなります。
GetProperties サービスの使用の詳細については、 サービスのセクションを参照してください。