Spam Prevention Strategy




The major idea:

Gamification for user access rights management and spam prevention:

  • Each user has a rating based on her activity. 
  • Based on the rating the system defines if the recently created deck-slide-tag is visible for other users. However even for the user with rating 0, the deck is created, just not searcheable in any way (but the deck is still accessible via a direct link to it, and the user can see it in her profile.
  • A new user has a rating of 0. Her decks are not visible for other users.
  • A user with high enough rating can invite another user, giving this new user a higher rating
  • Based on the user rating a system calculates a number of complains ("this is spam!" or "This violates the SlideWiki rules" - e.g. anti-semitism, curse words etc.) after which the user is blocked. If a user has a rating of 0 - e.g. 3 complains (or maybe just one) is enough to block the user and completely hide all her decks (deactivate, so they are not visible even via a link, but still in the system, in case there was a mistake)
  • ... There are many other ideas to play around: 
    • a user with high rating can "approve" a deck of a new user, then the deck becomes visible and the new user gets a solid increase of her rating; 
    • when achieving a certain points, a badge is awarded; 
    • the rating is also graphically represented (e.g. the color of avatar frame everywhere in the system) etc.

Implementation:

  • On each user action increase her rating. However, the creation of deck, adding a tag, commenting is not awarding any points if the user rating is 0. The ways to increase the rating for a new user:
    • Translate a slide/deck
    • Propose an edit for other's decks
    • Complain on a deck
    • ... The rest depends on our user edit rights strategy. The idea is that users with higher rating can strongly influence on the rating of new users by approving their actions.
  • Add user rating and number of complains to the data model - Kurt Junghanns
  • Implement the blocking of the user - Kurt Junghanns
  • Add "status" to the deck model - can be also reusable for private decks etc, if we decide to have those. The value could be "hidden" - for the decks of users on which there was enough complains, "visible" - for decks of users with high rating, "invisible" - for decks of new users - Marios Meimaris
  • Add filter to the search mechanism, allowing search only through "visible" decks. - ???
  • In user profile show all decks for the user herself, but only "visible" ones for everyone else - Kurt Junghanns
  • Notifications - Dejan Paunović
  • The deck service returns 404 if the deck is "hidden" - Marios Meimaris
  • Components: 
    • "Complain" button with a dropdown "Complain on spam", "Complain on rule violation", "Complain on plagiarism" etc.
    • Badge system
    • Possibly, the graphical representation of user rating on her avatar