Fediverse comments

The problem

According to some[1]​, a blog needs comments. I am, personally, not so sure, that comments are really a win. I mean, I am not Jeff Atwood.

For once, since 2006 the competition has grown a lot and many small blogs (like Glitzersachen) don't get any comments and wouldn't even if it was super-easy to comment. These days, you seem to blog for yourselves or to show off what you are doing, but you network in social media, not in blog comments.

Also, the people commenting in the better frequented blogs I have seen, seem to become more and more permeated by a spectrum of assholes. Which makes comments real work, since they need to be moderated[2]​, specifically if one is located in Europe — where hate speak has become a crime — and in Germany — where the blog owner has (a sometimes legally contested, but regardless) duty to remove hate speak and other (potentially) criminal content from their blog comments.

Then a lot of people who started static sites (like Glitzersachen), do not want to go back to installing anything active on the server. A service of any kind needs to be administered and kept up to date, which all subtracts from the time for writing or coding.

And finally, when I see somebody writing[3]​

The tech stack I'm using is as follows […]

then, frankly, I am getting the hives: I don't want to use a tech stack (which already sounds precariously close to toppling) nor do I want to maintain it.

So what alternatives do we have? If we want to have static blog, but still enable comments?

The traditional solution

Ten to fifteen years ago the go-to solution was Disqus, an external service receiving and delivering the blog comments via a piece of JavaScript embedded in the static web page. I am not linking to Disqus because of the extensive tracking over sites a service like this can enable when operated as a closed "Freemium" service. I am not interested what they currently track, for me it's enough that they could do it and all the consequences this might have for me as operator of a small blog under the European GDPR (hint: I don't want to hire a lawyer).

Orxite/ will therefore not support Disqus integration and in all likelihood never will.

Open source, self-hosted solutions

/Actually the idea is pretty good, though: With the help of javascript external comments can be rendered, so we can keep the static pages and move the comment problem into some external service.

Open source and self-operated solutions that serve this need are:

Self-operating them provides some protection against the risks inherent in the business model of other people (like those "Freemium" services with the very lawyerly terms of service).

It still requires installing an active component on your own server. Also we'd still have the risk of comment spam, or again we'd need to built a registration and authentication system, which, in turn would bring on the consequences of the GDPR, because then we are processing personal data.

So, while being a step in the right direction, this doesn't solve my problem, which basically is, that I want comments, but I don't want to operate anything myself nor do I want to track people (Glitzersachen doesn't store any cookies on your computer, the web server doesn't log) or do "analytics" (it's not worth it).

But what's a comment service really?

Let's take a step back: What is a comment service really, at its heart?

  1. It stores a threaded conversation.
  2. It has java script widget that renders the conversation on a static page and provides (at least) buttons leading back to the service for the case somebody wants to comment or reply

From the discussion above I'd like to add the requirements:

  1. I want users be authenticated, so (a) there is a bit of an inhibition to burn your account with bad behavior and (b) I can block those accounts to keep spam and assholiness low.
  2. I don't want to be the one operating that identity service (GDPR again).
  3. I preferably do not want to operate any service myself (again GDPR and the effort to maintain a tech stack). And preferably the service would not be central in order to avoid the risk of user tracking by people with a business model.

When I arrived at this point it came to me that "storing a threaded conversation" is something we already plentifully got software for: Social media, forum software.

Originally I though, why not making the comment section into a public mailing-list (that doesn't require registration). JavaScript would provide pre-filled mailto links and shovel the data from some mailing list software into the page.

mastodon-comments

But then it came to me, that using Mastodon threads would perfectly cover all my requirements above, only a JavaScript widget would need to be written.

At that point I realized that other people probably had this idea before me. And indeed, web-searching specifically for blog comments via Mastodon, I got a lot of hits.

By the way, a pro tip: Don't think a lot of your own ideas. You can save a lot of work by realizing that other people are also smart, might have had the same idea and you can just use or adapt their solution instead of inventing the wheel again. Which is also a big relieve when you don't own a hammer (I hardly can program JavaScript).

In the end I decided to use the web component mastodon-comments[4]​ by Daniel Pecos Martínez.

Orxite integration

Orxite2[5]​ now supports comments via the fediverse and Glitzersachen will have them.

Comments can (but need not) configured individually per page. One can also decide if the comment section should be a full rendering of all comments or just a reference to some fediverse thread (without displaying the comments in the page).

And comments can be turned off (site wide and per page) and a reason can be given which will be rendered in the comment section.

Examples (on this site) will follow.

Comments

Page probably delivered from local file system: Fediverse comments only work if the page is delivered by a server.