モバイルアプリを設計する上で、ローディング(読込み)機能についてiOSの推奨を理解しましょう。
「Human Interface Guidelines」のLoadingの章について紹介します。
モバイルのアクション処理では、機械学習を用いた高負荷な演算処理や、大容量データの取り扱いなど、
ユーザーに不快感を与えることなく、実装することが求められます。
前提
コンテンツの読込み中に、空白または静的な画面が表示されていると、アプリがフリーズしているように見えます。
ユーザーや混乱とフラストレーションが生じ、アプリから離脱してしまう可能が高まります。
1. 読込み中が発生していることを明確にする
最低限何かが起こっていることを伝えるために、アクティビティスピナーを表示してください。
より良くするために、ユーザーの待機時間を測定して、明示的に進捗状況を表示することを推奨します。
2. 出来るだけ早くコンテンツを表示する
コンテンツの読込みが完了するまで、画面の表示の切替えを待たせてはいけません。
直ちに画面を切替えて、読込み中のコンテンツの部分のみ、プレースホルダーテキストやグラフィクス、アニメーションを使用して、まだ利用できない場所を明確にします。
コンテンツの読込みが完了したら、プレースホルダー要素部分を置き換えましょう。
ユーザーがアニメーションの再生中や機能案内を閲覧している間に、できる限りバックグラウンドで非同期的に処理実行することが大切です。
3. 読込み中の退屈をごまかすために、機能説明やコンテンツを再生する
ミニゲームを開始できたり、面白いビデオを再生したり、興味深いグラフィック画面を表示することを検討するとよいでしょう。
4. ローディング画面をカスタマイズする
標準の進行状況をインジケーターで示すことは通常問題ないが、時折適切でない場合があります。
アプリやゲームのスタイルに合った特有のアニメーションや要素を使用して、より没入感のあるUXを設計することを検討してください。
まとめ
YouTube動画のようにコンテンツを細かく分割して配信することで、読込める部分から優先的に表示するなど、配信の仕方やサーバー側での工夫でも改善できることはあります。
しかし、サーバーにアクセスが集中している場合や、Wi-Fiや電波が不安定な環境など、コンテンツ取得に時間がかかる場合はどうしても生じてしまいます。
他のアプリの処理や読込みにストレスを感じている時に、ついつい自分のアプリを開きたくなると非常に良いと思います。