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?
[some]
[[1]] See section Footnotes
[need to be moderated]
[[2]] See section Footnotes
[[3]] See section Footnotes
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:
• [Commento] ([commento.io])
• [Isso] ([isso-comments.de])
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).
[Commento]
[commento.io]
[Isso]
[isso-comments.de]
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].
[mastodon-comments]
[[4]] See section Footnotes
[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.
[Orxite2]
[[5]] See section Footnotes
Footnotes
─────────
1.
[blog.codinghorror.com/a-blog-without-comments-is-not-a-blog]
2.
[blog.codinghorror.com/please-read-the-comments]
3.
[bloggingfordevs.com/static-site-comments]
4.
[github.com/dpecos/mastodon-comments]
5.
[blog.codinghorror.com/a-blog-without-comments-is-not-a-blog]
[blog.codinghorror.com/please-read-the-comments]
[bloggingfordevs.com/static-site-comments]
[github.com/dpecos/mastodon-comments]