Rejected Custom username colors

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
Custom username colors will never happen. I'm sorry.

The main reason is that our automatic username colors make it harder to impersonate other users: even if you use Unicode or l/I (lowercase-L vs uppercase-i) mixups, your username will still be a different color.

As a side benefit, it also saves bandwidth, because we don't need to send username colors; they can just be calculated client-side.
 

pre

pkmn.cc
To elaborate on the technical reasons (which are less important than the policy reasons Zarel already outlined):

Pokémon Showdown needs to have a way to compute any username's color client-side without any additional information. It would be fairly easy to allow a user to locally change the color that their name displays as on their own client, but propagating this color to all other users who could see their name would require storing the color of the name on the server (likely involving persistent storage) and having the server send both a (name, color) pair instead of just (name). Avatars are different because the server can ask for them on demand (if you click on a user's name or join a battle with them), but asking for/receiving the colors of hundreds of users in chat would dramatically increase bandwidth and load on the server, which does not seem worthwhile.
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
To elaborate on the technical reasons (which are less important than the policy reasons Zarel already outlined):

Pokémon Showdown needs to have a way to compute any username's color client-side without any additional information. It would be fairly easy to allow a user to locally change the color that their name displays as on their own client, but propagating this color to all other users who could see their name would require storing the color of the name on the server (likely involving persistent storage) and having the server send both a (name, color) pair instead of just (name). Avatars are different because the server can ask for them on demand (if you click on a user's name or join a battle with them), but asking for/receiving the colors of hundreds of users in chat would dramatically increase bandwidth and load on the server, which does not seem worthwhile.
I've thought about this and there are ways of doing it that would only slightly increase bandwidth. They would be a lot of work, because, after all, the system was written from the ground up assuming that we would never have to support custom colors, but it wouldn't be the hardest project I've ever undertaken (I'm in fact trying to rewrite the entire client in Preact).

In the end, the reasons can be summed up as "impersonation is bad, and also it would be a lot of work to change".
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top