宇宙語の
エラーメッセージ
「Unexpected T_PAAMAYIM_NEKUDOTAYIM」。
このメッセージを見て、ユーザーはどうすればいいのでしょうか?
内部的なエラーコードやスタックトレースをそのまま画面に出すのは、
レストランで「厨房で皿が割れました」と客に叫ぶようなものです。
- 「エラーが発生しました」だけのポップアップが出る
- 入力フォームでエラーになっても、どこが間違っているか分からない
- 専門用語(DB接続エラー、NullReferenceExceptionなど)が表示される
- エラー画面からトップページに戻れない(行き止まり)
不親切なエラーは、即座に離脱(解約)につながります。
01. エラーメッセージの3要素
良いエラーメッセージには、必ず3つの要素が含まれています。
1. 何が起きたか(事実)
2. なぜ起きたか(理由)
3. どうすればいいか(解決策)
特に重要なのは「3」です。「再読み込みしてください」や「サポートに連絡してください」など、
ユーザーが次に取るべき行動(Call to Action)を示してください。
システムの都合だ。
謝罪と案内を忘れるな。
02. 開発者用とユーザー用の分離
詳細なエラー情報はデバッグに必要ですが、ユーザーには不要(かつセキュリティリスク)です。
ログには詳細(スタックトレース)を記録し、画面には親切な要約を表示する。
この「出し分け」を実装してください。
「予期せぬエラー」という言葉は、開発者の敗北宣言だと思ってください。
03. マイクロコピーの力
エラーメッセージは、UXライティング(マイクロコピー)の腕の見せ所です。
SlackやDiscordのエラー画面を見てください。
少しのユーモアや、温かみのある言葉選びが、ユーザーのイライラを軽減します。
システムは機械ですが、それを使うのは感情を持った人間なのです。