以下の登録フォームがあります。
username
email
password
captcha
ユーザー名フィールドを削除してusername_123
のようなものを生成し、ユーザーに後でユーザー名を変更する機会を与えることを考えています。現在、フィールドのユーザー名は必須です。
しかし、私は大多数のユーザーがデフォルトのユーザー名を変更しないのではないかと恐れています。私の恐れは、一部のユーザーがそのフィールドに何を入力するのかわからないことです。そのため、testtest
やtest
などの悪いユーザー名を使用します。残念ながら、ユーザー名としてメールの一部を取得することはオプションではなく、この特定のケースではあまりにも侵略的です。
それは必要なものですか、それともユーザーのユーザー名を生成する必要がありますか?
自動生成されたユーザー名を持つことは、忘れてしまう可能性があるため、おそらくお勧めできません。
ユーザー名を選択してもらいます。
何千ものサイトのように、ユーザー名としてメールアドレスを使用しないのはなぜですか?
後日ユーザー名を選択する必要がある場合は、そのための画面を提供して、ユーザー名を作成するように案内し、メッセージボードのように、サイト全体で使用する場所を知らせることができます。
ユーザー名はユーザーを識別するためのハンドルなので、ユーザーが簡単に変更できるようにする必要があります。 stackexchangeをコピーしないのはなぜですか? user12345
のようなユーザーIDを事前に入力します(ユーザーテーブルのキーフィールドに関連する場合があります)が、ユーザーが実際の名前を入力できるように、事前入力されたボックス(ユーザー名を選択することもある)にフォーカスを置きます。 (これは概算です。ここでログオンを作成してから長い時間がかかります)。ユーザーが「テスト」と呼ばれるようにしたい場合は、彼らに知らせてください-あなたが知っているすべての人にとって、それはあなたが知らない文化からの本当の名前です。さらに言えば、彼らが「WhyShouldITypeInThisStupidBox」と呼ばれることを望むなら、それは彼ら次第です。
ユーザー名入力に入力したものはすべて、他のユーザーに表示されるものになることをユーザーに示します。これは彼らの決定に影響を与え、彼らはそれを彼らを奇妙なもの(「sdfhsdiohspd」)にするか、彼らに個人的なもの(「フランク」)にするかを決定することができます。
ユーザー名が既に使用されており、アプリケーションでユーザー名が一意である必要がある場合、ユーザーに通知するか、Googleが行うように代替手段を提供しますサインアップ。
また、あなたはユーザー名が何であるかについて慎重であるように見えるので、あなたは単語のブラックリストを作成することができましたが、私はそれが絶対に簡単だとは思いません、そして人々は Leet や "なりすまし"の文字(つまり、大文字のi
が小文字のl
になる)などを使用することで、回避策を見つけます。 MauriceButler/badwords または LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words を使用してフィルターを追加し、人々がシステム」-しかし、あなたは Scunthorpe問題 の犠牲になる可能性があります。
結論として、ユーザーに電子メールを公開したくない場合は、ユーザー名ボックスをそのままにして、ユーザー名をユーザーに決定させます。
ユーザーは、他のユーザーにどのように認識されるか、どの程度個人的に認識すべきかを自由に決定できる必要があります。
これは、サイトのペルソナがどれだけ重要かによって異なります。
サイトの重要性がユーザー間の(「検証済み」)関係に依存していない場合、または誰がコンテンツを書いているのかがコンテンツ自体より重要でない場合は、サインアップ時にユーザーに自動生成されたユーザー名を与えても問題ないでしょう。
自動的に提案されるユーザー名またはカスタムユーザー名
サインアップ時に自動生成されるユーザー名を使用する場合は、自動生成されるユーザー名が不要な場合に、カスタムユーザー名を入力するオプションをユーザーに提供します。 これにより、ユーザーにユーザー名が割り当てられた後にユーザー名を変更するステップが削除されます。
自動生成されたユーザー名は、ユーザー名の入力がオプションであり、後で変更できる登録フォームで使用されます。フォームにユーザー名が必要な場合は、生成しないでください。
ここにいくつかの理由があります:
上記のコメントで述べたように、ユーザーが自分のメールIDを使用してシステムにログインできるようにします。
ユーザーを識別するシステムについては、おそらく Facebookが行うこと と同様のアプローチを取ることをお勧めします。 Facebookは、ユーザー名としてユーザーに割り当てられた乱数の文字列を生成し、ユーザーが自分自身に特定のユーザー名を設定することを決定した場合は、選択した文字列に置き換えます。ユーザーはユーザー名を使用してシステムにログインしていないため、ユーザーがカスタマイズすることを選択しなくても、ユーザーはそれを知る必要はありません。