WordPress Comments Out, Disqus Comments In

A New Comment Experience

Continuing the navel-gazing theme, I’ve finally migrated 6 glorious years of your WordPress comments to the cloud. Oh wait, they’re already in the cloud. But I’ve migrated them to someone else’s cloud. This blog being about software and the like, wanted to reflect on the motivation and process to move comments to Disqus …

I primarily decided to do this because it’s incredibly hard to “follow the conversation”, despite social media pundits telling us that’s exactly what we should be doing. Technorati is effectively no longer. Other systems which try to alert you to new links lag and miss many. Spam is not the only cause; the proliferation of URL shorteners is another factor. I’m hopeful Disqus will do a better job. So far, so good.

Furthermore, Disqus lets commenters post via their online identity – Twitter, etc – and also show posts or comments though those media. As a user commenting elsewhere, I’ve found it vastly preferable to the old school “enter your name, email, url, AGAIN”.

To be fair, I’m still not crazy on the user experience of dynamic (“Ajax”) comments, something I experimented with myself in Scrumptious. There are other comment widgets around (UserKit, Facebook, Google Friend Connect which one could assume will be replaced at some point by a G+ equivalent), but I like Disqus for its flexibility – not tied to any one user/social platform – and user experience. They’ve done a great job in both desktop and mobile browsers of making the dynamic comment experience pretty smooth.

I heard a podcast where someone was complaining about people “giving up their comments” to third parties. When challenged to say if he’s ever “used” those comments, he was silent. I don’t expect to do anything with comments other than display them. The only risk would be Disqus shutting down, and they provide an XML backup dump. I couldn’t see if anyone has actually scripted the migration back to WordPress, but we can be certain it will happen in a jiffy in the unlikely event Disqus was to shut down.


Installation was pretty simple, took around 15 minutes. I did have to sign up to Akismet and tell Disqus my key, which fine, but a surprise as I thought spam prevent was one of Disqus’s core competencies.

I also appreciate that I get a mail for each comment, which I can reply to, or reply with “Delete” if it’s unwanted. (It’s only sent me one false negative spam in 48 hours.)

The WordPress plugin is nice. It works (not a foregone conclusion in the WordPress plugin universe), it has a nice UI, and it integrates with Comments as a complete replacement.

The migration itself actually took about 12 hours and led me to be slightly concerned. We’re so used to instant gratification, but for a free service, I think this is fine. I just wish they’d made it more clear about average times to save me trawling through the forums to discover it’s normal.

For whatever reason, the resulting text was way small. So I tweaked the WordPress Cutline theme’s custom.css for a larger font:

  1. #disqus_thread { font-size: 1.4em; }

Scrumptious Update: Open ID Support, UI Enhancements

I’ve released a new version of Scrumptious. Main change is it now supports Open ID. You can click a “login” link to comment by Open ID. It’s optional by default, though a Scrumptious site operator could easily make it mandatory for read, write, or both by just changing a couple of words in the “policy” config files. Similar to other CMSs like WordPress, non logged in users can indicate their name and URL when they submit a comment.

There are also UI enhancements – the design is cleaner and looks closer to the original original TiddlyWiki comments plugin. Interestingly, I retained almost identical markup, so I was able to cut-and-paste the original CSS for the comments plugin and it mostly worked. I also now include the default TiddlyWiki stylesheets as well. It’s not just look-and-feel which is closer to the original plugin, but the content – you now have info like modifier, modified date, and a permalink available.

I also added something I always wanted to add on the original plugin, which is some animation, e.g. when you add a new reply, the page scrolls to that reply, and a yellow fade effect highlights it. This is a genuinely useful feature as I was finding it difficult to see which reply I’d just added, when there are a lot of comments around.

I’ve also begun work on a Comments Report showing recent comments. Obvious related enhancement is to take the TiddlyWeb Atom plugin and make a comments feed.

Right now, all this is only tested on Firefox (the original was tested on all browsers, at least the full website view); my next priority is to work on browser compatibility, and after that, extract a modular JQuery comments plugin.

Implementation Notes

Regarding the implementation, TiddlyWeb ships with Open ID by default (Open ID is one of two default challengers, the other being the usual simple user-pass key pair config). The most challenging thing here was getting the UI right for both anonymous users and logged in users, as well as handling a redirect in the popup after a successful login; but at the back end, Open ID “just works”.

In summary, I added Open ID support as follows:

  • Add a “login” link to the TiddlyWeb OpenID challenger UI, using a “target” attribute so the challenger opens in a popup.
  • The challenger URL in that link also contains a redirect param, which I redirected to a new static page. This static page shows the user their login ID (by inspecting the “tiddlyweb_user” cookie value), calls a callback “onLogin” method on the original page, and closes itself.
  • The “onLogin” callback updates the login display to show the logged in user and a logout link; the logout link simply runs some Javascript to remove the cookie. The callback also updates any forms that are open prompting for bio info; it hides this info and in its place, shows the current user ID (read-only).

Thanks to Ben and Chris for pointing me in the right direction on TiddlyWeb’s Open ID support.

PS I discovered late in the day (literally) that TiddlyWeb lets the client specify whatever modifier they want

Thanks For Your Comments, Friends

I’ve been wondering why I haven’t received blog comments for a while now. Assumed there must be some spam issue, but only today did I investigate it – triggered by a Dugg article on Akizmet’s false positives. (Akizmet is the WordPress web-service-based spam filter.) Akizmet has done a great job at separating definites from possibles, but it hardly let any real comments all the way. So I ended up having to moderate 250-odd comments over the past month, with about 35 false positives.

I probably haven’t heard about these problems because (a) they were in moderation, not marked as spam; (b) who remembers to go back to comments they left? (I don’t have any of the commenter ID plugins installed; maybe I should?); (c) my mail is equally full of spam lately.

The most interesting post in this regard was my advocacy for tableless forms, which surprisingly to me, was overwhelmingly supported by commenters.

I don’t like this because I generally like to reply to comments. I’ll go hit a few now…