WebサービスやWebアプリケーションをローンチしたときは開発者もやる気に満ち溢れ、初期ユーザからもいいフィードバックがもらえる。ユーザは自分の意見がストレートにサービスに反映されることを嬉しく感じ、デベロッパも開発に手応えを感じ熱心に改善する。しかし時が半年も経つといつのまにかユーザが遠のいている。よくある話だ。
Webサービスは導入までの敷居が低いため、ユーザはちょっとでも不便なUIがあると使う気が失せて別のサービスを探すようになる。たとえばそれがログイン部分であったら致命的だ。ログインしてもらわないことにはまず使ってもらえない。ログイン処理はセキュリティであったりユーザ体験であったりもっとも重要な部分だ。
Gary Barber氏がSitePointに11 Expert Tips For Enhancing The User Login Processとしてこのあたりの事情と改善のための11のテクニックをまとめている。紹介されているテクニックをまとめると次のとおり。
- ユーザ名にメールアドレスを採用する。ユーザ名を忘れにくくなる
- 安全のために長いパスワードを使うようにユーザに伝える。パスワード管理プラグインやブラウザの自動補完機能もあり長いパスワードの入力は現実的になっている
- Ajaxを活用して登録時に入力されるユーザ名などをチェックする。たとえばユーザ名にメールアドレスを使っているなら、入力されたアドレスがユニークなものであるかをチェックするなど
- 自動ログインに1週間や2週間といった期限を設ける。ただしこれでは使い勝手が悪くなるため、ユーザが自動ログインの期間を設定できるようにする。自宅からしかアクセスしていないなら永久に自動ログインするようにしたいだろうし、ネットカフェからアクセスしているなら毎回確実にログイン画面を表示したいだろう
- ユーザ名とパスワード入力のテキストフィールドは同じページに、しかも近いところに設置する
- ログインページはトップページに制作する。ユーザはサイトロゴをクリックすることでホームページが表示されることを期待しており、そこにログインページがあった方がいい
- ログインリンクは分かりやすいものにする。どれがログインへ行くかわからないようだとユーザはこのリンクは広告リンクではないかと疑うようになる
- パスワードを忘れた場合にクリックするリンクは最初から表示するのではなく、ログインに失敗してから表示するようにする。はじめから表示しておくとユーザに対してユーザがログインに失敗すると考えているという印象を与えかねない
- (ある程度センスが要求されるため)難しいことだがエラーが発生した場合に表示するメッセージにはユーザに役立つエラーメッセージを表示するようにする
- ユーザ認証に質問項目(additional question)の採用を検討する
- ページは軽量にしておく。サービスを活用したいと考えているユーザは迅速な動作を期待している
Gary Barber氏は今回取り上げる内容ではないとしているがOpenIDについても言及している。