[[↑3 章トップへ|Palm OS User Interface Guidelines/3]] [[2 節に進む →|Palm OS User Interface Guidelines/3-2]] ---- !!!3-1 フォームの種類の選び方    ほとんどのアプリケーションではモーダルフォームよりもモードレスフォームを使用するべきです。'''モードレスフォーム'''はアプリケーションの主要な画面となる全画面のフォームで、'''モーダルフォーム'''は特定の目的のためのサブ画面です。  アプリケーションは少なくとも1つのモードレスフォームを持たなければなりません。多くのアプリケーションでは1つ以上持っています。例えば、アドレス帳は連絡先の一覧を表示するメインフォームと単一の連絡先の詳細を表示するアドレスビューフォーム、および連絡先情報を編集するためのアドレス編集フォームを用意しています(図 3.1 参照)。 !図 3.1 アドレス帳のモードレスフォーム {{ref_image figure_3.1.gif}}  モーダルフォーム(図 3.2 参照)は画面よりも小さい場合があります。通常これらはわずかなコントロールしか表示しません。 !図 3.2 モーダルフォーム {{ref_image figure_3.2.gif}}   !!モーダルフォームの使用は控え目に  モーダルフォームの使用は、続行にユーザーの承認が必要な場合に限って下さい。モーダルフォームが使用できるいくつかの状況を以下に示します。 *アプリケーションプリファレンスのようなオプション設定 *稀にしか発生しないデータ編集。例えば、レコードのプライベート設定は稀にしか発生しない操作と言えます。組込みのアプリケーションはこの設定をモーダルフォームで提供しています。 *レコードの残り部分が別々のフィールドで構成されていない場合に、レコードの頻繁に使用される部分を編集する場合。{{br}}{{br}}例えば、予定表の予定は主にテキストの名前で構成されています。この予定にアラームを設定するのは良くあることですが、他に場所がないという理由でアラームは共通点のない他のフィールドと共に詳細モーダルフォーム上に表示されます。データがアドレス帳と同じように別々のフィールドで構成されているなら、レコードの頻繁に使用される部分を全て1つのモードレスフォームで編集する方が良いでしょう。   !!モーダルフォームでの長大なデータ入力は避ける  モーダルフォームでは、長大なデータ入力は避けて下さい。時折、入力データの検証のためにモーダルフォームを積み重ねるように複数表示するアプリケーションがありますが、そのようなユーザーインターフェースの作成は避けるようにして下さい。例えば、ユーザーがレコードを作成するのに3つのモーダルフォームを必要とする場合、必要なのは最低6回のタップです。1回のタップで3つのうちいずれかを表示し、もう1回のタップでそれを閉じるのです。ユーザーがデータ入力フォーム間を自由に移動できるのは良いことですし、フォームの数をできるだけ少なくするのも良いことです。  アプリケーションが入力データの検証を行なう必要がある場合、モーダルフォームを使用して入力と検証が完了するまでフォームから出られないようにしたくなるかもしれません。しかし、それはユーザーの不満につながるという点で貧弱なデザインです。データ入力中にユーザーの気を逸らすようなことが起きるかもしれません。ユーザーが電話を受けてスケジュールに予定を組み込む必要が発生したとしましょう。もしあなたのアプリケーションがデータの検証なしで終了することを許さなければ、彼または彼女は予定を設定するためにデータ入力をキャンセルし、後から全て再入力しなければならなくなります。  そのかわりに、メモ帳と同じ方式をとることを検討してみて下さい。データ内に存在しなければならない最低限のデータ量を定義しておくのです。ユーザーがレコードの編集中にアプリケーションから離れた場合、最低限のデータが入力されている限り、検証なしでレコードを保存します。ユーザーがアプリケーションに戻ってきたら、編集フォームを表示して編集中だったレコードを表示し、データの検証はフォーム下部の Done ボタンがタップされた時だけ実行するようにします。対応するデスクトップアプリケーションがある場合、コンジットが未検証のデータがある場合に対応する必要があるでしょう。コンジットは未検証のレコードをスキップし、同期されなかった理由をログに出力することができます。   ---- [[↑3 章トップへ|Palm OS User Interface Guidelines/3]] [[2 節に進む →|Palm OS User Interface Guidelines/3-2]]