On the Virtues of Comments

The last few weeks there’s been a considerable amount of chatter on the web about whether or not a news website, blog, or some hybrid thereof, needs comments. Since we are working on the next version of OSNews, which means I’ve been thinking about things like this a lot, I figured I’d pen down my thoughts on comments.

Luckily for me, I don’t have to do the thankless task of summarising the discussion so far – Matt Gemmell has already done that for us. It’s a long read, but it gives a good overview of the various shades of grey between comments on and comments off. Gemmell prefers comments off – it will come as no surprise to you that I prefer comments on.

My preference for comments on can best be summarised as follows:

This is my personal golden rule of the internet, and in fact, of daily life in general – but let’s focus on the internet aspect of it all for the sake of clarity. To illustrate how this input/output feedback loop works, let’s de-construct what you and I are actually doing here on OSNews. For all intents and purposes, we’re having a conversation. We’re the digital equivalent of a group of people in a room discussing things we’re interested in, and one of us (me) is standing on a soapbox because it’s my (okay, David‘s) room.

The feedback loop states that whatever you write on your site (the input) affects the kind of comments you’re going to get (the output). This output, then, affects the writer, and thus, future input. In more straightforward terminology: write bad articles, get bad comments. Obviously, this is greatly oversimplified, but the general principle is still valid. To make matters a little more complicated, input consists of more than content alone – another crucial factor is the comment engine. Let’s focus on content first.


If all you do, day in day out, is find reasons to disparage company Abc or product Uvw, while giving a free pass to company Def or product Xyz which have the exact same deficiencies (or worse), your hypothetical comment section is going to reflect that. My personal little crusade against software patents is a good example; sure, it was interesting the first few times, but it was clear that I continued to bang on about it a little too long. Commenters started to complain about this, and rightfully so. In case you haven’t noticed, the patent news has been dialled down significantly as a result. I made my point; no need to bang on about it 6 times a week.

That’s the feedback loop at work right there. Without the OSNews commenters making this clear to me, I probably would’ve gone on a little longer, possibly too long.

The feedback loop also works in more practical, down-to-earth ways. Since most editors are just humans – myself included – we make mistakes. The fact that we have a comment section makes sure that if I make a mistake, it will be highlighted within the first ten comments. If I disagree with the correction, the 11th comment will be mine, explaining why I disagree. If I agree with it, I’ll fix the article, and learn. This goes for spelling and grammar issues (a valid concern considering I’m Dutch) as well as factual errors.

In broader terms, I can be held accountable for the stuff I write, and everyone can do so in a way that’s visible to everyone.

Gemmell and others in favour of turning comments off suggest that Twitter and the like can replace comments, but in my view, they most certainly cannot. Twitter, email, and similar tools are, in the end, one-to-one communication channels. A comment section like we have here on OSNews is a many-to-many communication channel. Take the example above – if my 11th comment gets refuted by several others with decent arguments, I’ll have little choice but to concede. Even if only one commenter believes I made a mistake, but nor I, nor others agree with him, his comment still stands. Others can still see it, read it, consider it, take it into account.

On Twitter, this is not possible, or at least fairly hard and cumbersome. If blogger Qwe writes something silly, and I point it out to him on Twitter, he can simply ignore me – I am, after all, a nobody. My Tweet, no matter how valid, gets ignored, and nobody ever gets to see my point. It’s a confirmation bias‘ wet dream. It’s incredibly easy to ignore Tweets or emails you don’t agree with, since nobody will ever know. A comment right underneath the point you were trying to make is very hard to ignore – and even if you do, others will still read it.

In a more philosophical sense, our comments have taught me quite a lot, and I’m pretty sure many of you have learnt a thing or two from your fellow commenters as well. The feedback loop benefits all of us. It’s pretty hard to learn something useful from a 140 character tweet.

In short, comments make OSNews better. Not just because our comments are often more interesting than the stuff I write, but also because they force me to write better stuff, which in turn leads to better comments.

Commenting engine

Contrary to what you might expect, content isn’t everything. Input consists of so much more than content alone, something that’s often overlooked. The most important of these is the commenting engine itself. A site can be filled with top-notch content, comprehensive reviews, great video material, and so on. They can be quick with news, have interesting scoops, and can generally be fun to read. They can put an extraordinary amount of time and love into every aspect of the site…

…and then they slap on a generic third-party cross-website commenting engine which isn’t particularly good to begin with.

As a potential commenter, that makes me feel like they don’t care about comments, and thus, me. If they don’t want to put the same amount of effort into creating a tailor-made, site-optimised commenting engine that integrates seamlessly with the rest of the site, what does that tell you about how they feel about commenting?

And lo and behold, it shows. Sites with lacklustre commenting engines often have lacklustre comments.

In other words, how you approach commenting and how you present it matters – the commenting engine matters. Adam, OSNews’ web developer/webmaster, built and tweaked the heck out of a commenting engine that is tailor-made for OSNews and fits in perfectly with the rest of the site. I’m not just talking about how it looks, but also about all the fancy wizardry that goes on underneath, like the trust system, comment voting and scores, associated algorithms, and all that stuff. It took him a good while, with lots of tweaks and revisions based on user feedback, but for a while now we’ve hit a point where it just works. Consciously or subconsciously, readers appreciate the work Adam has put into it.

The end result of all his hard work? Very few true trolls, and lots of insightful and often entertaining conversations – and we, the OSNews team, barely have to lift a finger. The OSNews community, with the help of Adam’s coding magic, manages to do virtually all the moderation work for us. As editors, we rarely touch anything. In fact, I mod as if I were a regular reader, handing out only a very limited number of votes. As a consequence, we no longer get the censorship complaints we used to face before we implemented user moderation.

Want statistics that illustrate how well our commenting system works? There are currently 897245 comments in our database. The OSNews team had to remove (in official parlance: set to ‘invisible’) just 1400 of them. From experience, I’d hazard a guess about half of those belonged to spam accounts we suffered from a while back*. Another key statistic: only 1.1% of all our comments appear below the average viewing threshold (-1.09). You can change your viewing threshold in your account settings.

A common argument against commenting is that it would lead to overhead as authors and editors are forced to engage in active moderation – a thankless task. Our system isn’t perfect, but the statistics are clear: if you put enough time and effort into developing a commenting engine that is tailor-made for your site, you can virtually eliminate official moderation altogether, and let the community take care of it – and yet, still end up with insightful conversations.

What I’m trying to say is this: if you care about comments, it is most certainly possible to develop a commenting engine that is almost entirely self-regulating. The key: if you care about comments. At OSNews, we do, and as such, we were willing to dedicate a lot of time to getting it right. Not everyone values comments the same way we do, and that’s fine – but be honest about that fact, instead of hiding behind arguments like “Twitter is good enough” or “it’s impossible”. We’re a small team (Adam did it all by himself), and we still managed to do it.

Like I said, “input” consists of more than good content and a good comment engine alone, such as website design, discoverability, and so on. However, these are far less important than content and presentation (although you can argue that the comment engine is part of the website design. This is not exactly an exact science, people).


I have absolutely no issues with website owners not wanting comments – it’s your site, not mine. However, it’s not impossible to get good, insightful comments – as long as you are committed to it. Combine a good commenting engine with good content, and you end up with good comments. It really isn’t more complicated than that.

As far as OSNews goes, I think we currently hit the limit as to what our commenting engine can do, which means that it’s all up to the content to further improve and positively affect our comment quality. Considering I write most of the content on OSNews, I’m well aware that this means I have to improve my writing – better topic selection, more in-depth (where possible – I can’t be an expert on everything), better grammar, and so on. All your comments are helping.

* Real people registering accounts and posting spam comments – no captcha is going to stop that. Interestingly enough, many of the spam comments were modded to oblivion within minutes of being posted, further demonstrating the system works.


  1. 2012-01-11 12:11 am
  2. 2012-01-11 12:21 am
    • 2012-01-11 12:41 am
    • 2012-01-11 12:19 pm
  3. 2012-01-11 12:42 am
    • 2012-01-11 12:52 am
  4. 2012-01-11 12:57 am
    • 2012-01-11 12:14 pm
      • 2012-01-11 2:10 pm
        • 2012-01-11 3:41 pm
          • 2012-01-11 3:52 pm
          • 2012-01-11 5:11 pm
  5. 2012-01-11 1:01 am
    • 2012-01-11 1:07 am
      • 2012-01-11 1:18 am
        • 2012-01-11 5:17 am
          • 2012-01-11 5:29 am
          • 2012-01-11 12:17 pm
        • 2012-01-12 7:19 am
          • 2012-01-12 7:47 am
    • 2012-01-11 1:14 am
      • 2012-01-11 1:20 am
        • 2012-01-11 12:11 pm
          • 2012-01-11 5:13 pm
          • 2012-01-12 7:44 am
      • 2012-01-11 8:24 am
      • 2012-01-11 12:56 pm
    • 2012-01-11 1:20 am
      • 2012-01-11 1:30 am
        • 2012-01-11 12:23 pm
          • 2012-01-11 4:14 pm
    • 2012-01-11 3:55 am
      • 2012-01-11 8:49 am
    • 2012-01-11 12:59 pm
      • 2012-01-11 1:15 pm
        • 2012-01-11 1:22 pm
          • 2012-01-11 1:31 pm
          • 2012-01-11 1:35 pm
          • 2012-01-11 1:56 pm
          • 2012-01-11 1:59 pm
        • 2012-01-11 10:34 pm
      • 2012-01-11 4:20 pm
        • 2012-01-11 7:32 pm
      • 2012-01-11 7:19 pm
        • 2012-01-12 1:21 pm
    • 2012-01-11 1:55 pm
    • 2012-01-11 4:59 pm
      • 2012-01-11 7:32 pm
        • 2012-01-11 7:36 pm
          • 2012-01-11 8:12 pm
          • 2012-01-11 8:36 pm
          • 2012-01-11 8:48 pm
    • 2012-01-11 9:33 pm
  6. 2012-01-11 1:33 am
  7. 2012-01-11 1:48 am
    • 2012-01-11 2:34 am
    • 2012-01-11 12:52 pm
      • 2012-01-11 2:02 pm
        • 2012-01-11 2:03 pm
    • 2012-01-11 6:51 pm
  8. 2012-01-11 2:59 am
    • 2012-01-11 12:42 pm
      • 2012-01-11 2:05 pm
  9. 2012-01-11 3:10 am
  10. 2012-01-11 4:04 am
    • 2012-01-11 10:38 am
      • 2012-01-11 1:29 pm
        • 2012-01-11 2:07 pm
    • 2012-01-11 1:25 pm
      • 2012-01-11 7:30 pm
  11. 2012-01-11 4:13 am
  12. 2012-01-11 5:30 am
    • 2012-01-11 5:46 am
      • 2012-01-11 5:48 am
  13. 2012-01-11 6:12 am
  14. 2012-01-11 7:12 am
  15. 2012-01-11 8:15 am
    • 2012-01-11 8:27 am
    • 2012-01-11 12:48 pm
    • 2012-01-11 10:04 pm
  16. 2012-01-11 9:38 am
    • 2012-01-11 9:46 am
      • 2012-01-11 2:12 pm
      • 2012-01-11 6:41 pm
  17. 2012-01-11 9:48 am
    • 2012-01-11 9:50 am
      • 2012-01-11 12:44 pm
  18. 2012-01-11 12:41 pm
    • 2012-01-11 2:16 pm
  19. 2012-01-11 12:46 pm
  20. 2012-01-11 1:37 pm
    • 2012-01-11 1:52 pm
      • 2012-01-11 4:51 pm
  21. 2012-01-11 2:35 pm
  22. 2012-01-11 4:05 pm
  23. 2012-01-11 4:17 pm
  24. 2012-01-11 6:23 pm
    • 2012-01-11 6:30 pm
      • 2012-01-11 6:30 pm
      • 2012-01-11 11:37 pm
  25. 2012-01-11 6:30 pm
    • 2012-01-11 8:03 pm
      • 2012-01-11 8:11 pm
  26. 2012-01-11 7:13 pm
    • 2012-01-11 7:15 pm
      • 2012-01-11 7:47 pm
      • 2012-01-12 11:55 am
        • 2012-01-12 2:29 pm
          • 2012-01-12 5:36 pm
  27. 2012-01-12 5:20 am
  28. 2012-01-12 5:56 pm
  29. 2012-01-12 7:59 pm
  30. 2012-01-13 3:54 pm
  31. 2012-01-13 5:13 pm