This article originally appeared in TidBITS on 2009-07-03 at 7:45 a.m.
The permanent URL for this article is: http://tidbits.com/article/10394
Include images: Off

Introducing the TidBITS Commenting System

by Adam C. Engst

After weeks of discussion, design, and development, Glenn Fleishman and Jeff Carlson and I are pleased to unveil our new TidBITS Commenting System [1] (TCS). For many years, we've had the TidBITS Talk mailing list for discussions of our articles. We've tried to integrate it more tightly with our articles, but it's difficult to connect email and a Web-based content management system in a reliable and coherent fashion that doesn't require constant intervention.

In the meantime, nearly every other publication and blog has added a commenting feature. But commenting systems have suffered their own growing pains, caused largely by the need to deal with spambots and trolls, and it's become sufficiently onerous to use many commenting systems that we no longer bother. (Trolls are people who specifically pick fights to make others respond; they often have no stake in the opinion they're stating.)

So we thought about what we wanted in a commenting system, and after many discussions and design tests, we've come up with one that we quite like. It has worked well in testing and in a quiet rollout last week, and we'll see how it scales as more people start using it.

On the TidBITS home page and each of our section pages, each article summary now displays the number of comments in the metadata line beneath it, and each full article shows the number of comments at the top. In either case, clicking the word "Comments" takes you to the comments section at the bottom of the article.


Lightweight, Yet Secure -- Our first goal with the TCS was that it be easy to use. Twitter has been successful largely because it's so easy to post tweets. You don't have to worry about writing much or formatting your text, and your tweet appears immediately. Since we've put untold hours of work into moderating our TidBITS Talk discussion list, we wanted a system where posts could appear immediately, without any intervention on our part. Moderation was good for stopping spam and keeping discussions on track, but forcing people to wait hours or days for their posts to appear isn't ideal.

The problem with immediate posting, of course, is comment spam. Spammers have figured out how to write comment bots that do nothing but fill up commenting systems with link-filled posts as a way of attracting a few clicks and gaming search engine rankings. Most comment systems we saw dealt with this by either requiring users to type a CAPTCHA [2] for each post or to set up an account before posting. CAPTCHAs have their place, as do accounts, but for a quick comment, both were more than we wanted to use for the TCS. (We use CAPTCHAs if you want to post a tip or send email to a TidBITS author.)

Instead, the first time you comment on an article by clicking the "Add a comment" link, it asks you for your name and your email address in addition to your comment. The TCS then generates an email message to you, asking you to click a link in the message to post your comment on the site. Clicking the link tells us that the email address you entered is valid and that it's your address. That gives us enough confidence to allow your post to appear on the site. It won't stop trolls, of course, but I'll go into more detail on how we can deal with that problem shortly.

Confirming via email for each comment would be tedious, so the TCS also sets a cookie in your Web browser when you click that confirmation link. Thanks to that cookie, the TCS then knows who you are and doesn't require confirmation of any subsequent posts, as long as you use the same browser and don't delete your cookies. Posting comments becomes even easier, too, because identified users don't have to enter their names and email addresses in the Post Comment dialog.

If you post a comment from another computer or another browser, you must confirm via email again, but as long as you use the same email address, the TCS will know that you're the same person in multiple browsers. We have to store your email address in our database for this to work, but your address isn't displayed in any way, so there's no worry about it being harvested by spam trawlers. For information about how we treat private information, see our privacy policy [3].

Maintaining this lightweight identity is important because we give identified users the ability to edit their own posts. So, let's say you submit a comment and notice as soon as it's posted that it has a typo in it. Click the Edit button and you can make a change instantly and repost your edited comment. The ability to edit your own posts lasts for 7 days, after which the TCS locks the posts down.

There's one other neat little trick that Glenn added toward the end. What if you enter your name incorrectly, or more or less formally than feels appropriate once you see it on the page? Just click your name (a subtle yellow highlight appears when you mouse over it) and enter a new one. Simple and unobtrusive.


Threaded Discussions -- Another of our goals with the TCS was that it be threaded, but again in a lightweight way. Some commenting systems are entirely flat, which is fine when there are relatively few comments per article, and where the comments seldom refer to each other. But once there are a lot of comments and they start referencing one another (often with manual email-style quoting), it gets out of hand. Threaded systems are less common, probably because they're harder to write, and they often suffer from design problems that make it difficult to group related messages in your head while reading.

We addressed these concerns in the TCS in several ways. To add a top-level comment, click the "Add a comment" link at the bottom of any article. But if you want to reply to a particular comment, click its Reply button instead, after which your comment will be indented under its parent and any previous replies; it also has a different background color.

Jeff's design for this is intentionally minimal. He created two light background colors that match with the rest of the site color scheme, and each level of threading uses a different color. So the top-level comments always use the light purple, the second-level replies use a light blue, third-level replies go back to the light purple, and so on. This has the effect of subtly grouping replies to a particular comment and making it clear when levels are changing without hitting you over the head with an outline.

Although it's not specifically related to the threading, we also implemented a 1,000-character limit on comments. The idea is not so much to prevent people from writing a lot (though it will have that effect), but to encourage people to keep comments concise and to the point. Instead of one long comment that addresses an issue in the article, and responds to several other comments, we'd prefer that you post a short comment for each topic, replying directly to other comments as necessary to maintain the structure.

Right now, there's no way to collapse replies into their parent, but if threads start to grow long enough to need a way to condense them, we'll look into adding it.


Preventing Abuse -- The final design goal with the TCS was to keep it easy to use without opening ourselves up to comment spam or trolls. Our abuse-prevention features include:

Honestly, though, I believe the main thing that will help keep our comments clean is the TidBITS audience. I've been distressed by the behavior I see (and hear my colleagues complain about) at other sites, but we just don't have those problems with TidBITS Talk and direct email responses from TidBITS readers. Universally, TidBITS readers are polite and thoughtful, even when they don't agree with something we've written.

My hope is, therefore, that by having useful, considered comments by long-time TidBITS readers setting the tone, people who are new to TidBITS will respond in kind. And if we see comments that are abusive or wildly off topic or just plain icky, we'll delete them as soon as we notice.


Whither TidBITS Talk? The release of the TCS raises the question of what will be happening with our TidBITS Talk mailing list. For the moment, all will continue as it has, although we're hoping that the combination of some mail server changes and traffic diverted to the TCS will allow us to stop moderating posts from subscribed users. We'd still look at anything from someone who wasn't on the list, mostly to prevent spam.

We anticipate that TidBITS Talk will remain useful as a place to have more-involved discussions about topics that are perhaps only peripherally related to an article, or that are about a topic about which we haven't yet written an article. As such, we don't have any plans to change it in the near future, and we'll play it by ear going forward.


Future Plans -- We've already started to keep a list of things we want to consider adding to the TCS in the future, such as including comment links in our email issues, optionally informing authors of comments on their articles, allowing user-level email notifications of new comments, and some sort of integration with Twitter. We're not committing to any of these ideas, and we're open to others, so if you have a particular suggestion, leave a comment!

[1]: http://db.tidbits.com/article/10394#comments
[2]: http://recaptcha.net/captcha.html
[3]: http://db.tidbits.com/privacy.html