こちらはFablic Advent Calendar 2015の12/2の記事です。
こんにちは。自称おもてなしエンジニアの shobyです。
僕は現在、ユーザーファーストチームというアプリの使いやすさを向上させるチームに所属しています。 今日は、このチームで培った「おもてなし」精神によるアプリの改善Tipsをお伝えします。
時間のない方はこちらをどうぞ。要点をまとめた#potatotipsでの発表資料です。
アプリにおける 「おもてなし」Tips // Speaker Deck
おもてなしとは
「おもてなしとは客に対して心のこもった待遇や歓待やサービスをすることを言う」 Wikipediaより
僕はこの言葉を、「ユーザーのことを考えた、思いやりのあるサービス」という文脈で使っています。
以下に、「おもてなし」を実践して、アプリを改善する際に気をつけることを書いていきます。
概要
- エラーでビックリさせない
- ボタンを押す恐怖を和らげる
- 待ち時間のイライラを減らす
- 頑張って入力されたデータを守る
- 前の画面にも変更を反映させる
- 連打しても壊れないようにする
- 可能な限り入力の手間を省く
エラーでビックリさせない
エラーは伝え方を間違えるとユーザーをビックリさせる原因になります。
ユーザー:「何か怒られたから、これは押しちゃダメなボタンだと思ってた」
これは実際にあったユーザーの意見です。エラーには優しさを込めましょう。
優しいエラーとは?
- 可能な限り表示しない
- アラート以外の表示形式にする
- 「エラー」「失敗」等の激しい言葉を使わない
- 解決方法を伝える
- 短く端的に伝える
可能な限り表示しない
そのエラー、本当に必要ですか?
エンジニアが頑張れば、エラーを表示しなくても、うまくハンドリングができるケースがあります。 例えば、通信エラー。
更新頻度が少ないデータの場合、キャッシュしておいて、起動時にリフレッシュするような作りにすれば、 通信に失敗した場合でも、キャッシュデータを返すことで、エラーにしなくても済みます。
アラート以外の表示形式にする
深刻なエラーではない場合や、ユーザーに情報を伝えたいだけの場合には、アラートを使うのはやめましょう。
例えば、通信の失敗などは、頻繁に起きうる深刻でないエラーです。 Viewを埋め込み、簡単にリロードできるようにすれば、アラートを使わなくても済みます。
「エラー」「失敗」等の激しい言葉を使わない
「エラー」「失敗」等の激しい言葉ではなく、「◯◯できませんでした」「◯◯がありません」などの優しい言葉を使いましょう。
- Bad「◯◯の取得に失敗しました」
- Good「◯◯できませんでした」
解決方法を伝える
どうやったらそのエラーを解決できるか伝えましょう。 解決手段へのリンクがあるとなお親切です。
短く端的に伝える
基本的にエラーメッセージは読んでもらえません。
見て一瞬で理解できるレベルでないと、確実に読み飛ばされます。 長いメッセージで丁寧に説明するのはやめて、短く端的に伝えましょう。
- Bad 「ネットワークに接続できませんでした。解決するには、通信状態の良い場所に移動し、再読み込みをしてください」
- Good 「接続できませんでした。時間をおいて再度お試しください」
ボタンを押す恐怖を和らげる
何が起こるかわからないボタンは怖くて押せません。 押したら何が起こるか、ユーザーの言葉で伝えましょう。
- 例:「シェア」ではなく「友達に教える」
- 例:「検索」ではなく「ブランド一覧からさがす」
また、分かりづらい機能はガイドを出してあげるとより親切です。
待ち時間のイライラを減らす
何もフィードバックがないまま待たされるとイライラします。 操作には迅速にフィードバックを返しましょう。
例えば「いいね」ボタンの場合、押されたタイミングでUIに反映し、裏でAPIと通信することで、迅速にフィードバックを返せます。
頑張って入力されたデータを守る
丹精込めて入力したデータが消えると悲惨です。 通信に失敗してもデータは消えないようにしましょう。 強制終了やクラッシュでも消えないならより親切です。
前の画面にも変更を反映させる
データに変更があった場合、前の画面にも変更を反映させるべきです。 前の画面に戻った際に、状態が反映されていない場合、混乱を招きます。
例えば、詳細画面でいいねをした場合、リスト画面でもいいね状態が反映されているべきです。
エンジニアは「リロードすれば直る」と言いがちですが頑張りましょう…!
連打しても壊れないようにする
ユーザーはボタンを予想以上に連打します。連打しても壊れないように機能を作ると良いです。 通信中はボタンをdisableにするのが簡単です。
可能な限り入力の手間を省く
情報入力はいつも面倒な作業です。できれば無くしたい…。
データにも寄りますが、毎回ほぼ同じ情報を入力するような箇所は、プレースホルダーとして、ユーザーが過去に入力した情報を埋めておくと無駄な入力が省けます。
例として、フリルの場合、配送情報は毎回ほぼ同じなため、新規出品時には前回出品時の配送情報を埋めています。
入力補完に関してはWebの方が進んでいるため、郵便番号からの住所入力や、検索欄の入力補完など、Webで良くある機能をアプリにも導入してあげると喜ばれるはずです。
参考: こんなにあった!シニア対応を本気で進める『皇潤』の入力フォームが使いやすい理由
まとめ
- エラーでビックリさせない
- 可能な限り出さない。激しい言葉を使わない。解決方法を伝える
- ボタンを押す恐怖を和らげる
- ユーザーの言葉で何が起こるか説明する
- 待ち時間のイライラを減らす
- 見た目はすぐに反映して、裏側で通信する
- 頑張って入力されたデータを守る
- 前の画面にも変更を反映させる
- 連打しても壊れないようにする
- 可能な限り入力の手間を省く
- ユーザーの入力情報を元に埋めておく
これらの「おもてなし」Tipsを考慮すると、使いやすい機能を作る手助けになると思います。
Fablicではさらに、ユーザーインタビューや、ユーザビリティテストを組み合わせながら、より使いやすいアプリを目指して開発を行っています。
明日は、ninjinkun さんが何かを書いてくれるそうです。お楽しみに。