Skype

Yahoo

What is the reasoning behind allowing only letters as the first characters of a username?
Skype
Yahoo
What is the reasoning behind allowing only letters as the first characters of a username? |
|||||||||
|
|
I can think of no compelling UX reason for this. It is especially annoying when a username is taken, and a simple numeric variation is rejected. Great, now I have to remember another set of credentials. So, from a UX perspective: no, this is not good practice. |
|||
|
|
|
An advantage of this restriction is URLs. If a user's ID is 177896 and their username is H4rold, then you can have 2 URLs to reach this user depending on which information you have at hand: http://example.com/user/177896 Then, on that page, they determine how to look up the user by checking whether the first character is a letter or a digit. Alternatively, they could just force you to include at least one non-numeric character, though that increases the complexity of the check from a character comparison to either a regular expression or a looping multiple-character comparison. However, not all websites with these restrictions take advantage of this flexibility. My theory is that web developers have seen this restriction so often that they just took it as the norm rather than investigating its purpose... We do that, sometimes. |
|||||
|
|
There is usually a restriction on variable names in languages starting with characters ( and not including spaces - ALGOL was a notable exception to this, which allowed pretty much anything, becasue it used other methods for identifying a variable ). It may be that this idea has progressed into username definition, but there is not reason for this. IME, as a software developer, there is absolutely not reason for insisting in a character at the start. And it is wrong to make these sort of restrictions when there is no real reason for it. |
|||
|
|
|
It might have something to with the fact that in XML, an ID has to start with a non-numeric character. |
|||||||||||
|
|
In the early days before PCs became ubiquitous, numeric-only IDs were the norm. Examples of this are phone numbers, various identity numbers (SSN), even usernames on some early computer networks (CompuServe). The requirement for a first character to be a letter could have been a way to encourage users to create readable usernames and break their habit of choosing only digits. Even if this rationale no longer applies, the restriction may stick around out of habit, or to allow working with legacy systems. |
|||
|
|
|
Aside from what others have written, there is really only one other reason I can think of. In many programming languages (such as PHP, JavaScript, etc...) variables must start with a non-numeric character (as mentioned in several answers). Based on that and depending on how the programmers use the information, it could be they plan to turn the username into a variable at some point for at least one purpose or another. This may sound odd because you would think "why would anyone do that? It would be hard to program a variable if the variable is always changing". However, PHP supports variable-variables. Though not used often, they do have their moments. If they do create variable-variables, then they would need to insure there is a proper character at the end. I know it's a long shot, but that's the only other reason I can think of. |
|||||
|
|
As noted by the answers, I don't think this is related to usability. Like Shroedingers Cat my first impression is that this is related to the restriction of variable names or other identifiers in software; usernames have simply inherited these restrictions, possibly due to habit or re-use of validation code. The question is, why were other identifiers restricted this way? Some possibilities:
These issues can be overcome, and some programming languages allow identifiers that start with digits, but it's certainly true that it's easier and simpler to disallow it. Allowing it doesn't provide anything that I would consider a benefit in exchange for the complexity (however slight). Now it is entirely possible that there are some usability-related reasons for this as well. Pure speculation:
|
|||||||||||||||||||
|
|
This may be an attempt to enforce more legible usernames. We're used to referring to people using names that are comprised of letters and words, whether it's a legal name or nickname. For online handles, we may append numbers to the nickname to create variations on a name that's already taken, and most people will conveniently ignore the numeric suffix. From a usability standpoint,
In addition to usability, a website might also discourage or forbid users from starting their username with a number because of compatibility issues. For instance, subdomains can't start with numbers (at least according to cPanel), so it makes it easier to have personalized subdomains for each user this way. |
|||
|
|