Monday, February 04, 2008

Managing User Turmoil - The Art Of Community Moderation

One of my larger forums (50k+ members) recently encountered a community meltdown. Tension between veteran members had been growing for months and finally folks were letting their steam out. Fighting, arguing, harassing, you name it, it was going on.

When you read up on the topic of community moderation, most folks always give the same advice: Just ban the problem users. But what if the problem users are long time valuable contributors? What if banning a few of these members is going to cause many other valuable members to leave the site? What's to say after you ban these problem users, that new ones don't just come along and replace them 2 months down the road?

All of these questions led me to refrain from going postal and just canning everyone from the site. Instead I came up with a technical solution to a human nature problem. I created a feature that could be turned on by either a user, or enforced by a mod, that would basically make two users invisible to each other. They wouldn't be able read any posts, blogs, profiles, comments made by the other user. It would be as if they did not exist to each other any more.

Some users thought the new feature would not help, since folks could simply logoff and create a new account and get right back into fighting. But my solution went one step further to utilize their IP address as well. I stored a cached (latest) copy of their IP and it was used to enforce the block in cases where a user tried to game the system. I also only applied the IP logic in cases when I knew a robot was not requesting the page. I did not want to take any chances blocking a search engine crawler by accident, etc.

After the users realized how redundant the system was, they really appreciated the feature. Community turmoil almost came to an instant halt. Users that could never get along before were now virtually invisible to each other. Those that did get along were able to continue with their quality conversations/posts without the constant distractions from the arguements.

If you are experiencing a similar problem and want to learn more about how I implemented my solution, feel free to drop me a line!

3 comments:

Akbar said...

wewww...

what a excellent solution you got there...

kudos on you, bro..

may i know what forum d'you used? VBulletin? phpbb ?

if it's vbulletin, would you show me how it's done ?

thanks so much for your great posts...

sockmoney said...

My sites are all custom forums built from scratch. Makes it a bit easier for me to do custom stuff like this.

The code is not terribly complicated. You could probably write a custom module for one of those forum packages to do something similar. I just maintain the IP state in a table.

Good luck!

Anonymous said...

Wow 50k is a huge forum. Excellent job man. *Is Envious*