I hate username fields in registration forms. The usernames I want are, of course, already taken. Many services won’t let you change your username later, so you might get stuck with it. Who wants to settle for a name they don’t like? Just please don’t make me choose a username.
Personal identity is hard. It molds and changes over time. Online identity is harder, but can often be more permanent. Many services won’t let you change your username without deleting the account and making another one. You’ll lose all your data with the service in the process. (Assuming you’re allowed to delete your account and set your email address free.)
Many services make do with just your email address. Your email address isn’t truly yours, but just a rented identity. However, everyone still needs a unique name for services where you interact with other members.
Everyone has that colleague whose email address is snowprincess83 or something that sounds equally professional. What might sound cool and representative of you today, probably won’t just a few years later. Auto-assigned corporate usernames can be the worst, though. These are often derived from your name. My mother, Ann, always ends up with the unfortunate username “anal.”
You may also want to keep your online identities somewhat separate. Using the same username across services makes it easier for others to look up more information about your other hobbies and interests. Maybe you don’t want your poems or art associated with your full name, and film and anime interests. There are a million reasons why you might want to segregate your online personas.
I always, and quite optimistically, try my given name or initials first. It rarely works, but I’m thrilled whenever I land a sweet two-letter initials username or just “Daniel.” Of course, everyone wants a short memorable username, and that just isn’t possible. But when that doesn’t work out, I don’t have another strategy.
Twenty minutes later, after some trial and error with already registered usernames, the username field feels more like an impromptu creative writing prompt than a prompt for your preferred name. “Describe yourself in between five and 16 characters.” How can “scurvyfacejustletmelogin” already be taken‽ You’re wrecking your brain trying to come up with something original that also represents you personally. The more popular the service is, the harder it becomes.
Some of the difficulty in choosing unique usernames comes from artificial limitations. These are often the result of — often arbitrary — engineering decisions made early in a service’s lifetime.
For example, usernames are almost universally [and needlessly] limited to A–Z in the Latin alphabet. Expanding the allowed username characters to include diacritics and the various extended Latin character sets would greatly extend the number of possible usernames. Roughly 30 % of the world would be happy writing their usernames in different alphabets. Instead, services force them to transliterate their names into the limited Latin character set.
Gaming services, some of the world’s most populous online services, are quite progressive in this area. They often allow you to use large subsets of the global Unicode character set. Services including Battle.net, Discord, Steam, and Xbox allow you to choose whatever username you want! It doesn’t even have to be unique. Uniqueness is assured by adding a suffix that’s both a part of and separate from the user’s chosen name.
For example, I can set my Xbox username to be “Daniel.” Xbox realizes the name isn’t unique and renames the account something like “Daniel #12345.” The service shows the name with the suffix and suffix separator greyed out to emphasizes the user’s chosen name.
Getting stuck in a loop where every name you want is rejected is a terrible user experience. The Xbox naming scheme is a better compromise than forcing the user to come up with unique names. Users always get the username they want, and you’re never confronted with the uncomfortable need to settle for a less than ideal username.
At the end of the day, I just don’t want to spend any time choosing a username. Developers, I beg of you, please don’t make me choose. Please work out a better system than having your users waste their time trying to ensure a column in your database contains a unique set of characters.