by Jason Gross
The principles of karma are understood worldwide. We all like to believe that the good deeds and actions we do will be returned to us in one way or another. At its core, karma encourages us to help others.
Most of us were introduced to systems that promote good behavior as early as elementary school. Kids who misbehaved would endure punishments such as restricted play times and detention, while those who excelled and conducted themselves properly received rewards and extra credit, even if it was simply a gold star sticker.
In consumerism, loyal patronage is rewarded at gas stations, airlines, grocery stores, and so forth through loyalty cards where customers receive special discounts and benefits once they collect enough points.
The Effectiveness of Karma Systems in Social Websites
Karma as a game mechanic works wonderfully in social systems. We see karma game mechanics in action most frequently for user contributions in sites like Reddit, Hacker News (HN), Stack Overflow, and Foursquare.
While each of these sites (along with the many more that have similar features) employ their own algorithms for determining a user’s karma standing, the general idea tends to be pretty consistent: Good actions (such as submitting good links or flagging link spam) increases your karma, while bad actions (like submitting spam or trolling) decreases karma.
In the social web, karma allows a community to self-regulate itself, which tremendously helps in scalability. For example, Reddit — one of the biggest websites in the world, garnering close to half a billion page views a month — is able to run with only 6 staff members, no doubt thanks to the help of the millions of people who use the site and the karma system Reddit has developed.
Karma System Design Pattern
Karma points are often referred to as reputation points. Users accumulate karma/reputation points as they use and interact with the site and its users. These points can garner prestige within the community, as well as special features only available after attaining a certain quantity of points.
The Stack Overflow Users page displays top users with the highest amount of reputation points.
The points are earned by performing various site tasks such as submitting good content, leaving a good comment, or performing an encouraged site action such as filling out your user profile.
Karma points are rewarded by other users (often called “upvoting”) and by the site.
Karma/reputation points are earned by submitting good links and writing good comments on Reddit.
Foursquare and Gowalla serve as good examples of systems that reward users for taking advantage of their service and sharing that information with their friends. The badges that users unlock for checking in at new locations offer rewards that can be shared with friends online.
Foursquare badges are displayed on user profiles.
Some systems unlock features of the website once a user gets a certain number of karma points. Usually, these features give users — who have proven their dedication and are intimately familiar with the community guidelines as indicated by their high number of karma points — a set of special community-management abilities such as content moderation and the ability to flag content as spam. For example, in Hacker News, you are able to flag submissions and make user interface customizations (for yourself) once you reach a certain number of points.
Users of Hacker News estimate that at about 250 karma points, they are able to change the top bar color of the site.
Why Do Karma Systems Exist?
So what’s the point of having a karma system on websites? Do these websites really need to associate a rank to their users in order to become (or remain) successful?
The real kicker with karma-based game mechanics is that they keep users coming back. In the case of any website, the rate at which you can retain users is a key ingredient of a successful website. While it is certainly important to always be reaching out to new users, returning users should be a top priority. Rewarding your current users for their deeds (and also keeping score of these deeds for them) is a huge tool for encouraging loyalty. If you can get your users to put the time into building up a reputation in your site, they are much less likely to stray somewhere else.
User Benefits of a Karma System
We can see why a socially oriented website would want to take advantage of the benefits provided by a reputation points system. The potential bump in visitor loyalty and participation is certainly tempting to site owners and web developers, but the rewards are not restricted to those running the show.
What’s in it for users of the site?
A well-functioning site that ranks users and content based on the credibility of those who post and promote information is a great tool for the site’s audience. The internet is an easy place to get lost in information overload. An excellent method for sifting through information to find what interests us is to use sites like Digg and Reddit, whose featured content has found success amongst a scrutinizing (and often brutal) audience.
Humans are wired to trust other humans — a concept known as social proof. When we have a tool that ranks content based on the feedback of thousands of people, it saves us time from wading through junk, allowing us to discover content that have been vetted by a community of people.
Opportunities for Top Users
On a more individual level, when we can see that a site user is experienced and reliable, the information they choose to share with us seems to bear more weight. Thus, a benefit for amassing reputation points is the influence that can come with it.
There are other rewards to be had outside of the obvious for a user who fulfills a contributor/curator role in a social media site. It is an arduous challenge to build a reputation within an online community of thousands (even millions), and the outcome of doing so can be immensely beneficial personally. For those who are looking to promote their own work, for example, having a great karma score will immediately increase the exposure of your own content. External career opportunities arise when people prove their mettle in these competitively social sites, as in the example of a software developer who got a Google interview by being a top contributor on Stack Overflow.
Downsides of Karma Systems
There are several issues in systems that incentivize participation.
Gaming the System
One primary issue is that, because attaining reputation points comes with benefits that increases a user’s success in promoting their own work, there will always be a few users that will look for ways to exploit the system to their advantage. This is often referred to as gaming the system.
For example, on Digg, because of the amount of traffic a site can get when their content becomes popular on the site, some groups have taken to gaming the system to their benefit.
Theoretically, a system relying on reputation points to rank user-contributed content should, as a matter of course, be able to self-regulate itself; but in practice, karma-based systems regularly fail in this area because users gaming the system may have greater incentives (such as financial gain) than users who participate in the system fairly and without external influences with regards to their site conduct.
Despite how sophisticated the system’s spam detection algorithms are and how big the site moderator staff is, there will always be users who will persevere in figuring out a way to exploit the system for personal and financial gain. Any time a site or web service on the web builds a high level of success, the race is on to exploit and abuse it to get a leg up on other users. Oftentimes, the result is disingenuous user-generated contributions by people who want to get more page views on their sites.
Ironically, karma systems promote a situation that is diametrically opposed to the core purpose behind it; instead of encouraging good behavior and helpfulness among its users, it entices some to behave in unscrupulous ways to get ahead of others.
Drowning Out New Users
Another downfall of karma systems is that as a community gets older and bigger, it makes it difficult for newcomers to get their voices heard amidst the old guard. Social classes begin to form (e.g., top users versus “noob” users). As a result, we see effects analogous to the rich-gets-richer socioeconomic class phenomenon. While anyone certainly has the opportunity to overcome the odds, it becomes difficult as older, top users get more and more entrenched into the community — a situation not unlike the difficulty of unseating a political incumbent.
Implementing Karma Systems in Websites: Examples and Tools
So far, one thing that reigns true about karma systems is that they work best on large-scale sites that currently have (or anticipate on having) a high volume of user contribution and interaction. The examples used above are all custom-developed sites built from the ground up specifically to accommodate a user reputation system.
For example, much like large social media sites, blogs struggle with spam clogging up the comments system. Currently, the most prevalent way of catching comment spam is to employ software that automatically catches spam and/or manual moderation by site administrators. However, wouldn’t it be nice if users themselves helped a site they loved by contributing good comments, flagging comment spam, and rating content?
Let’s take a quick look at a few tools for incorporating karma systems in your websites.
Plugins and Extensions
If you happen to be using a content management system like WordPress or Drupal, there should be extensions available to you that will allow you to implement forms of karma-based interaction features.
Here’s a short list of extensions for WordPress and Drupal:
- BuddyPress: Adds social networking capabilities to your WordPress installation
- Disqus Comment System: Replaces the core WordPress comments system with a more robust system that has user options for flagging spam and upvoting comments
- GD Star Rating: Allows users to rate and review content of a WordPress site
- Comment Rating: WordPress plugin that allows users to rate comments with “like” or “dislike”
- Comment Rating Widget: Extends the Comment Rating plugin above with additional features
- Voting API: Powerful Drupal module for creating robust site voting systems
- Fivestar: Configurable Drupal module for adding a rating widget
- Flag: Can add highly customizable flagging features to a Drupal site (read more about it in our list of top 20 Drupal modules)
Third-Party, Social Networking APIs
Social networking sites such as Facebook and Twitter have APIs that site builders can use for obtaining data about online content. Using a social networking API can allow site users to rate, share, and vote content by way of retweeting or liking. Content with more retweets or Facebook likes can then provide social proof for the quality of a piece of content.
Smashing Network displays Facebook Like counts on content featured in the network.
An idea of a karma system for comments, for example, could be to provide a “Like” Facebook button on comments; other users can then use the feature to vote up a comment they like. Perhaps a tiered system can be in place where the more retweets your comment gets, the more prominent it becomes, bubbling up to the top of the comment stack and providing special benefits such as the ability to leave a link to your own site.
Here are links to popular social media APIs:
Points of Discussion
How would you implement karma systems on typical websites and smaller communities? Do you find the systems used by sites like Reddit, Stack Overflow, and Hacker News to be effective?
- Important Features All Blogs Should Really Have
- Ultimate Guide to Website Wireframing
- Making User Interface Elements Difficult to Use By Intent
- Related categories: User Interface and Web Applications
About the Author
Jason Gross is a freelance web designer focused on creating clean and user friendly websites. Jason currently lives in Indiana and can be found on Twitter as @JasonAGross or on the web at his personal blog and portfolio.