俺の為の3分で読める iOS HumanInterfaceGuidline
ディスプレイはサイズに関係なくもっとも重要
- タップ可能なUI要素の最小サイズ 44 x 44
画面上のヘルプは最小限
- iOS標準のインターフェイスを採用すればヘルプが必要ないかも
iOS上のSafariがWebインターフェイスを提供
- webviewの場合,ユーザはビューポート(コンテンツを表示する領域)のサイズを変更できない.
外観の整合性
- ユーザは見た目と体験が一体化していることを期待する
一貫性
- iOSの標準UIと,アプリケーション内で,前のバージョンと,一貫性が保たれているか
タスクに合わせてカスタマイズする
- 常にカスタマイズの理由を考える:ユーザが実行したいタスクが促進されユーザ体験が強化されるか
- できるだけ認識に関してユーザの負担を増やさない:ユーザが新しい挙動を学習するコストをさける
- カスタムUI要素は徹底的にユーザテストを行う:
- カスタムUI要素が実行する内容をユー
- ザが予測できているかどうか、およびカスタムUI要素と簡単にやり取りできているかどうかについて観察をしっかりする
ユーザが関心を持つコンテンツの向上
- コントロールの数と目立ち具合を最小限に抑えて、UIにおけるコントロールの重要性を減らす
- ユーザが操作をやめてしばらく時間が経ったコントロールをフェードすることを検討
従うべき論理的道筋をユーザに与える
- ユーザに対し1つの画面につき1つだけ道筋を提供する
簡単でわかりやすい使い方にする
- アプリケーションの最も重要な機能が一目で分かるようにする
- 標準で組み込まれているアプリケーションの使い方のパラダイムとの整合性を保つ
ユーザ中心の言葉遣いを使用する
- テキストベースのやり取りにはすべて、ユーザが確実に知っている言葉を使用する。
ユーザに要求される入力の手間を最小限にする
- 選択肢はユーザが選びやすいものにする
- 適切な場合はiOSから情報を取得する:アプリ側で取得できる項目は入力させない
設定を強調しない
- できるだけアプリケーション内に設定を含めない
- 設定オプションは、メインのUI、またはビューの背面(iPhoneアプリケーションの場合)に用意する
適切にブランドを設定する
- ブランドの色やイメージは、洗練された、控えめな方法で組み込む:ユーザがアプリケーションを使用するのは作業を行うか楽しむため
- ユーザが注目しているコンテンツのスペースを奪わない
簡潔を心がける
- 新聞の編集者のように考え、凝縮された見出しのようなスタイルで情報を伝える
一貫性を保ってUI要素を使用する
- 標準のユーザインターフェイス要素について推奨される使用方法に従う
- 標準のボタンやアイコンにほかの意味を持たせない
必要な場合にのみユーザに保存を求める
- 明示的に取り消しや削除をしない限り、作業は必ず保存されるようにする
モーダルタスクは多用せず単純にする
- モーダリティが適しているのは以下のような場合
- ユーザの注意を引くことが重要な場合。
- ユーザのデータを曖昧な状態に残さないように、タスクを完了させる(あるいは明示的に破棄する)必要がある場合。
- モーダルタスクは、短時間で済むようにし、対象となる範囲を狭く保つ:ユーザにモーダルビューをアプリケーション内のミニアプリケーションとして経験させてはいけない
- モーダルタスクを終了するための明確で安全な方法を必ず提供する
瞬時に起動する
- アプリケーションの最初の画面によく似た起動画像を表示する:アプリケーション起動時間が感覚的に短縮される
- デフォルトの適切な向きで起動する
- ユーザに設定情報の入力を要求しない
- できるだけログイン要求を遅らせる:ログインしなくてもある程度使えるように
いつでも停止できる準備をしておく
- ユーザのデータは即座に、そして妥当な頻度で保存する
- 停止時は現在の状態を保存する
必要な場合は、ライセンス契約または免責条項を表示する
- アプリケーションを最初に起動するときにEULAに同意することをユーザに求めない
マルチタスク
- UIが2倍の高さのステータスバーに対応できることを確認する:2倍の高さのステータスバーは、電話の呼び出し中、オーディオの記録中、テザリング中などの状況で表示される
- ユーザの注意や積極的な関与を必要とするアクティビティを一時停止できるように備えておく
- オーディオが適切に動作することを確認する
- ローカル通知の使用は控えめにする
通知センター
- バッジのコンテンツを最新に保つ
- 同一の事象に関して何件もの通知を送らない
- 独自のメッセージを用意する場合、その中にアプリケーション名を埋め込まない
アプリケーションのオーディオ動作の定義
- 必要であれば、相対的な独立した音量を調整することで、アプリケーションのオーディオ出力におけるベストミックスを出力できる
- 必要であれば、アプリケーションがオーディオ経路ピッカーを表示できるようにする:スピーカーから流すかイヤフォンから流すかの選択
- サウンドがアプリケーションで重要な役割を果たす場合は、AudioSession Servicesを使用する,またはAVAudioSessionクラスを使用する。
- 再開可能割り込み,再開不能割り込みを見分けて実装する:e.g. 電話➡再開 / 別のサウンド再生➡再開不能
- オーディオ割り込み終了時に、オーディオを再開するかどうかを判断する
UIコンポーネント周りは省略