mirror of
https://github.com/wezm/wezm.net.git
synced 2024-12-18 18:29:54 +00:00
Add usernames post
This commit is contained in:
parent
1d7d18c0ac
commit
8fefeafc48
1 changed files with 57 additions and 0 deletions
57
v2/content/posts/2022/usernames.md
Normal file
57
v2/content/posts/2022/usernames.md
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
+++
|
||||||
|
title = "ASCII-centric Usernames"
|
||||||
|
date = 2022-01-27T18:38:25+10:00
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
#updated = 2020-06-19T09:30:00+10:00
|
||||||
|
+++
|
||||||
|
|
||||||
|
I'm working on a web-based side project in my spare time. The great thing about
|
||||||
|
side projects is you get to make all the choices and question the common
|
||||||
|
wisdom. Recently I've been building out the sign-up flow and I started thinking
|
||||||
|
about usernames—specifically the characters that they may be comprised of.
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
I poked around at a few sites to see what they did: Twitter, GitHub, Discourse
|
||||||
|
all restrict your username to a mostly ASCII numeric character set perhaps
|
||||||
|
with `-`, `_`, and `.` thrown in.
|
||||||
|
|
||||||
|
It struck me that this is fine for me, an English speaker, but must suck for
|
||||||
|
folks that can't have a username in their own language. It is however not
|
||||||
|
without precedent. The Internet's origins in the US linger on with similar
|
||||||
|
restrictions on e-mail and DNS ([Punycode] is but a workaround) for example.
|
||||||
|
Some further thinking and research led to some possible reasons for this:
|
||||||
|
|
||||||
|
1. There's the obvious precedent set by e-mail and other systems: that's how
|
||||||
|
we've always done it so it just continues.
|
||||||
|
1. Some languages require a dedicated [input system][ime] in order to type
|
||||||
|
naturally. That means it would be difficult for people without familiarity
|
||||||
|
with that system to be able to type the username such as might be necessary
|
||||||
|
when @ mentioning someone.
|
||||||
|
1. Similar to above, most keyboards have some way to type the English alphabet.
|
||||||
|
1. ASCII alpha-numeric characters are able to be in URLs without [percent-encoding].
|
||||||
|
|
||||||
|
That last one is the most compelling reason I saw. For an application that has
|
||||||
|
user profile pages where the username goes in the URL it seems advantageous for
|
||||||
|
that to be able to happen directly without encoding.
|
||||||
|
|
||||||
|
Now this is all very biased by my monolingual, English speaking, Western viewpoint.
|
||||||
|
Perhaps it is more common to permit native language usernames in applications that
|
||||||
|
target non-English markets?
|
||||||
|
|
||||||
|
I did find a couple examples that were more permissive with usernames.
|
||||||
|
Discord happily let me set my username to "🦊 こんにちは". Slack rejected the
|
||||||
|
emoji with a cute message "Of course you want a name with an emoji. Sadly, it
|
||||||
|
is not to be. Try letters?" but was otherwise happy with "こんにちは". In both
|
||||||
|
cases @ mentioning the user appears to require typing their name, although you
|
||||||
|
could also find them in the people directory first.
|
||||||
|
|
||||||
|
Notably Discord and Slack don't have public profile pages (that would need a
|
||||||
|
URL). I'd be curious if there were systems out there with public profile pages
|
||||||
|
where the usernames are permissive and the name is in the URL (and not the
|
||||||
|
account id number for example).
|
||||||
|
|
||||||
|
[Punycode]: https://en.wikipedia.org/wiki/Punycode
|
||||||
|
[percent-encoding]: https://en.wikipedia.org/wiki/Percent-encoding
|
||||||
|
[ime]: https://en.wikipedia.org/wiki/Input_method
|
Loading…
Reference in a new issue