Is registration login using email a better idea than username to identify the user?
Email address was never meant to be a means of identification, but a means of communication
If a user is logging in before somebody's eyes, then their email address will be revealed which is quite bad. If a login name is revealed, it's not a big deal.
Do not automatically turn the login name into a public display name. They're two completely different things. Let the user specify the display name separately. Bonus points, let the user freely edit both the login name and a display name later.
Consider OpenID. But if you don't want to use that, the plus for user name is that it isn't linked to a specific email. The plus for email is they won't have to remember what they used for a user name.
Email definitely. Look, users already have it bad enough with a bajillion user/pass to remember for other sites. Most sites do use the Email Address for the username, so just go with that and make your users life easier...
OpenID ftw... if your willing to invest time to get it setup, I think there is $$ involved to but I could be wrong?
I think you should allow both user name and email for login (I think this is the system they have with disqus), of course you should only display user name to others as pointed out by Matthew.
Added. Or you can go for OpenID (highly recommended), which is emerging as a sort of internet driver's license.
There are several reasons to prefer username over email (it would be an abuse of the concept of email, a bystander could read your address - not that I would care the slightest, but some could) etc, but I think the advantages still win:
With an email address for login you can have any user name (too short, too long, with spaces and caps you won't have to remember, with special symbols, you name it);
You already have to remember a password for every site, remembering a paired username is really too much to ask;
People should be able to change usernames;
In some cases (for instance, a music bands community) a user could manage more accounts - should he have an extra login for each and any? Should he have an username to manage all of them? Which one? Nobody will ever see it, anyway;
People may want to change usernames.
That said, the solution is using 3rd party authentication services, in particular OpenID: if you're such a hardcore h4X0r not to have an account in any of the supported platforms (google, facebook, twitter, anything) then you probably have your own OpenID server.
Just use email address. Screw separation of concerns; I already have way too many user names.
You could do both if you want, but you risk confusing people with non-standard UI if you're not careful. (This is a downside of OpenID.)
Also, don't be an idiot like Gawker and neglect to salt your passwords.
Does the site allow social interaction with others who will see the name? If so, let the user chose a username.
Otherwise, use the email address. It will be one less thing for the user to remember.
There are situations where either has advantages over the other.
I think let the users take the call here so you should think about including both the options. If the login name is the same as the email then you select an additional check-box/radio-button etc.
Sites like monster allow for login with either the username or email-id. Check their interface out.
Most people like to keep the username and email a bit separate, because their email address may contain personal data. Therefore, it's a good idea to allow the user to choose a username.
There are pros and cons on every solution:
- Users have to type their possibly longer-than-username mail address for login
- your mail address is disclosed to by-standers
- You can never log in again when you change your mailbox or loos access to it
- Changing the mail adress is not possible or requires much application intelligence (but see the same for username changing in the username section below)
- You don't have to remember a username
- You can allow users to choose a display (user) name and change it whenever they want
using a username:
- Users don't have to guess which of their mail adress they use, assuming many users have several mail accounts
- Users have to remember a username
- Users may change their username when the software designer internally uses a GUID or the like as primary key, not the entered username
- Login is faster (less characters to type)