Kickback-Kingdom / kickback-kingdom-website

This repository houses the code for the Kickback Kingdom website.
1 stars 3 forks source link

Increase username length limit; modify player card layout to allow more space for name; brainstorming name handling #7

Open chadjoan opened 7 months ago

chadjoan commented 7 months ago

From conversation with @AlibabaTheGreat :

so the length of the username was designed to be able to fit a username in the player card. the allowed length is 5-15

At some point I think we also agreed that it might be possible to tweak the player card design so that longer names are possible.

Some cursory research, combined with personal experience and anecdotal knowledge, leads me to believe that the best outcome would be to give everyone a 30-character short/abbreviated name ("display name"), and a 255-character long (and unique) name ("account name"). The account name would be "optional" during registration, and if someone leaves it blank, the system would just default to copying their 30-character name into that field.

I chose 30-character as the display-name length limit simply because it's the default length limit for Mastodon/(The Fediverse): https://www.reddit.com/r/Mastodon/comments/zwjls4/where_to_increase_the_display_name_limit/

It also seems pretty doable on the Player Card.

Here's one way the Player Card could be tweaked to make 30-character names possible:

Before: fly_before

After: fly_after

A brief list of tweaks in the above:

As the community grows, I wouldn't be surprised if a bunch of 30-character names become non-unique (though, like, during registration, do inform people of how many other people are already using the name they're about to pick, so they can choose something else if they don't want to be too common or easily confused). There just aren't a lot of possibilities in that space, at least not without reaching into the vast number of very cryptic strings of text. So we just let that be a non-unique field. It'd still be useful in places where space is limited, like on player cards.

This is kind of like our names for our governmentsonas: first names are what we tend to call each other casually, but we understand they are very much NOT unique, they are just unlikely to get confused if there are only 2-8 of us in a conversation. But then we have "full names": the first name + middle name + last name combo, to use US tradition as an example. These are much more likely to be unique (I'm not sure if they're required to be unique by law or anything, but w/e).

It'd be open to debate, but I'd suggest that initially, we'd just make it a rule that the short name should be an abbreviation or truncation of the longer name, enforceable by moderator action. This would just be to disallow deception and avoid confusion. (It'd be too hard to validate that programmatically, but that wouldn't be a new thing. People can sneak vulgar (e.g. hate speech) text into name fields, so some policing of names is necessary regardless.)

As for characters allowed, I would strive to make our code competent enough to handle these allowances: For all names:

For short (display) names:

For long (account) names:

We probably aren't there yet. We'd need to make REALLY sure that there are no situations where injection attacks are possible. So initially, I'd forbid various syntax characters, but relax that restriction as we become confident.

If we wanted to be really clever, we might be able to fit someone's long+unique account name on the player card in the form of a QR code, or some sort of compact 2D barcode.