#Programming: Why not to allow users to change username in social web application design?
Updated November 18, 2014 ● 1,183 views
One dilemma i'm facing with the design of Dizkover.com is whether to allow users to change username. Currently, users are allowed to change username but I'm considering to remove this capability for two reasons.
1. Social Identity.
Not allowing a user to change username makes the user liable of his own social identity. This way, the user is careful on what he does online as his username is his permanent id. If users are allowed to change username, users have less social pressure to preserve their online reputation. This might result to more user bad behavior such as spamming. If users are worrying about their good online reputation, static username will prevent bad online nehaviors.
2. Technical Improvement.
The issue with allowing users to change username also affects process optimizations. The huge bottleneck on a dynamic website is database call. For example, a user page has followers' list. Typically, a table design will have a cross reference table of user id's of followers. Now if a user has hundreds of followers, we're talking about hundreds of lookup for usernames. Username defines the userpage identity, not the user id. So I have to do table lookup to get the username of a user id.
To optimize db call, instead of cross reference table, I would instead have a TEXT column called user_followers where I will append the username of followers. Probably store it as JSON for data structure. In this case, the query only looks for a single row, instead of doing joins for lookup using id's which is a expensive db call.
Now, this is were the dilemma of allowing user to change username. The static username is now stored on on the user_followers column. I can still change it though buy looking at the JSON key, but it now defeats the purpose of optimizing db calls.
Pretty good read even though I don't understand some of the stuffs you mentioned here. But social identity makes sense. I hate spams! :)
HenryD · 11 years agopermalink · reply (0)