このMSDNマガジンの記事を読んで思い出したのがこの本。今でも職場の手の届くところにおいてある。
Windowsエラーメッセージ実装ガイド Ben Ezzell 古山 一夫 オライリー・ジャパン 1999-03 |
アプリケーション内部で何らかのエラーが発生した場合、フレームワークやランタイムのエクセプションの情報そのままメッセージボックスで表示するアプリケーションが多いが、それではほとんどユーザーにとって何が起きたのかわからないし、それでできることはユーザーはマシンをリブートして、あなたにクレームの電話を入れることぐらいで、恐らくユーザーにとっても開発者であるあなたにとっても改善や修正に有用な情報は何も残せない。
適切なエラーメッセージとは、ユーザーに対しエラーメッセージを出す以上それがユーザーにとって理解でき、有用な物、少なくとも有用だと感じられる物でなくてはならない。 この本には全編にわたりこのことについて語られているが、完結にまとめるとエラーメッセージとしてユーザーに表示すべき事は以下の3点である。
- 何が起きたかを想定ユーザーにわかるように説明する。
- その原因が何と推定されるかを想定ユーザーにわかるように説明する。
- このエラーによってユーザーに起こしてほしいアクションを説明する。
当然これだけのことを書こうとすれば、メッセージボックスなどで終わりにできるはずがない。適切なフォーム設計が必要であり、それについても実際の実装について書かれている。
ただ、いかんせんこの本が対象としているのは昔のVC++とVBなので、この中のコードをそのまま今の環境にはもってこれないし、時代の変化に合わせた修正も必要だ。(そして今絶版。。)
そう言う意味で、今回のこの記事は運悪くこの本に巡り会えなかった人にエッセンスを伝える意味やこの本の内容を現代化する意味でも読むに値する記事だと思う。
異常時にちゃんとしてくれることこそユーザービリティの第一歩だ。
※ただ自分はこのMSDNマガジンの記事のようには実装しないなーという気はしてる。
※スタックトレースの情報どうすんだって香具師むけに追記しておくと、そんなもんはユーザーに見せずに黙ってログしろと言うことだ。
コメント