> When a user submits a comment, echochamber.js will save the comment to the user's LocalStorage, so when they return to the page, they can be confident that their voice is being heard, and feel engaged with your very engaging content. It does not make any HTTP requests. Since LocalStorage is only local, you and your database need not be burdened with other people's opinions.
My experience running my own comment system is eventually you'll get spammed in bulk. Then, if you didn't make some kind of management UI you'll have to create one or write scripts/queries to try to repair the damage.
This is one of many reasons first switched to wordpress before going static and using disqus. I switched to wordpress because I got tired of having to add features to my blog software (whatever the must have feature of the day was, RSS, Atom, Trackback, etc etc etc..) and because I got spammed and had only written the code for posting comments, not for managing. Wordpress's anti-spam Akismet, failed for me though. Too much spam came through adding to my workload. So I switched to disqus.
At the time, and maybe this is still true, disqus would put the comments in your wordpress database so if you ever decided to quit disqus you still had the comments.
Then eventually I got tired of the extra work of wordpress itself (having to update monthly) and went static + disqus.
I get the entire point is you probably don't like disqus because you're being tracked and/or want a different UX etc, and you should do whatever you want. There is enjoyment making your own systems. I wanted to blog to share things though and maintaining a comment system was time not writing posts.
Most of the spammers target well known engines such as WordPress. If you use a static website with an external comment engine, most of them simply won't find your website.
Unless you're large and popular to warrant custom case, spam en-masse is almost always computer generated and certainly without JavaScript support, you can battle it easily.
Just add an input with value which is submitted when user has no javascript. Change that value via javascript and check for existance server-side.
This has been working well ever since comment spammers became a thing 15 or something years ago. It has not failed me since.
I have Webmentions[0] setup for my static site's blog posts, and I also use HyvorTalk[1] for its simplicity and export feature (I could but don't want to host comments myself due to cost vs. usage).
I see people recommending commenting systems here, but have we stopped to consider whether we need comments at all?
My personal experience is that comments are usually content-thin, and not worth reading. I publish my email address prominently, and people who want to tell me something do take the time to email me, and I enjoy the more personal conversation over email as well.
This depends heavily on the website in question and how well the comments are moderated/curated. The Online Photographer [0] is my goto example of a blog where the comments are excellent (and a key part of the value gained from visiting the site). The trick in this case: every comment goes through a moderation queue before it's posted. Some then get featured as part of the article.
I think for communities like HN, the real content actually is the comments-- or rephrased, HN uniquely stands out amongst other news aggregators because of its community. You could say the community sentiment should be reflected through the content submitted, but I just don’t believe that’s true.
However, I don’t think everything on earth needs comments. I honestly never understood the point of blog posts having comments, but I’ve never run a successful blog that anyone looks at either so maybe I don’t get it.
Agreed, and communities don't outsource their comments. It seems to me that things like Disqus aren't useful, since if you use a third party service for your comments, they're mostly an afterthought and could well be omitted.
Comments help fixing issues in a decentralized way, which is awesome. They also help develop stickiness, like HN (or addiction if you fall into dopamine addiction). Youtube would never be popular without the comments, which help criticize the video and get other viewpoints.
But it seems they aren’t valuable _enough_ that someone would develop a browser extension to comment on any webpage —or, since such extensions have been tried a lot actually, that people would actually use them.
> Comparison table for open-source self-hosted commenting servers.
data.yaml [2] holds the list of OSS alternatives to Disqus. A daily Cron job launches a Python script that extracts GitHub data for each project. DataTables.js [3] is used to render the data in the browser. The web page itself uses Isso [4] for comments.
Self-plug: I would appreciate comments, especially UI-related, about my under-development self-hosted commenting system, linked below. You can comment here on HN, which I will read, or right on the page, too! If you use #bug tag, it will go right into my "bug tracker" (bug.txt)
I've been toying around with building a super simple Hacker News-like comment system for my static site on top of Fauna... all I just want is something plug and play, and none of these do that. I'm also surprised no one's released a simple open source Fauna example yet (or at least it's not listed on this site).
Is there a reason for that / Is Fauna not production-ready?
https://fauna.com/ is a new database that makes it relatively quicker to build things like commenting systems.
I consider something like Disqus plug-and-play. But I think that I would really want is something built in Node that I can import, add configs, and hook into my front-end. FaunaDB comes close, but I would still need to build the comments and moderation UI etc. It would be nice if someone fleshed out a more full commenting example on top of Fauna, but I haven't come across that yet, so I guess I'll eventually need to do that.
My site is just a super simple site that runs on top of Vercel w/ Svelte/Sapper
Thanks for the Fauna link. Looks interesting, I started thinking about using it for some "backoffice" related things. Probably will wait a year or more though, to find out how Fauna evolves — 3 months ago: "$27M [funding] and New Leadership".
About using it for a commenting system: What comes to my mind, is that outgoing bandwidth is a little bit expensive: 0.1$ per GB. So, maybe Fauna is a good idea for one's own personal commenting system — and, not such a good idea for someone who builds a SaaS commenting system and wants to keep the costs down.
> something built in Node that I can import, add configs, and hook into my front-end
Maybe something like the below? But not for Gatsby, instead, for the framework you use? (What frameworks do you use / like, if I may ask?)
import TalkyardCommentsIframe from '@debiki/gatsby-plugin-talkyard';
// And where the comments shall appear:
<TalkyardCommentsIframe />
Wow looks really nice.
Was looking for something like it or maybe build it my self but then with the matrix protocol and profiles.
But still need to dig in to it, don't know if it would be possible with matrix.
Any thoughts about how to maybe integrate blog comments software like Talkyard (or any of the others) with Matrix?
I'm going to build Mattermost and Slack integrations — primarily to send notifications to chat channels, when something happens at Talkyard.
Maybe there could be a notification to a Matrix channel, once a new blog post reply appears. And in the distant future, maybe it'd make sense to moderate comments, and reply, via /slash commands in a Matrix client?
* * *
If actually storing blog comments — maybe even the blog post itself?, in Matrix somehow, then, I'm thinking it'd be good if the Matrix protocol & storage format, worked with relpies & nested replies. So there could be HackerNews like tree-style discussions
I wonder if it supports that already maybe
B.t.w. if you find time to dig into that, and if you want to & remember, feel free to message me once you know how you'd do, to build something based on Matrix,
I'd be interested in ... in the very distant future ... two-way-sync between a Matrix "database" and a Talkyard database
What I would prefer over a self-hosted commenting system, is a way to automatically publish on Hacker News my blog post, and to have the comments here, as the discussions are almost always more interesting here anyway.
I know that this does exist already, but what I would like too is to have the hacker news thread of comments shown on my website.
I use Hyvor Talk (https://talk.hyvor.com/) for a Gatsby site. It supports markdown, custom color scheme, moderation, multiple languages and runs on almost any platform natively etc.
It had a free plan till last month or so. Now, pages with less 5000 views are free. For more viewed sites, some minimal price is charged.
When I use static sites for projects, one of the reasons that I'm doing it is to keep costs down. If I really wanted to have a comment system on a static website, I think what I'd create is a system in which I have a server for the first visitor, but then for every other concurrent visitor, I'd use a P2P WebRTC connection to send the comments over. Signalling servers are free, if you know where to find them. And I can use my own server as a TURN server if needed.
So the model really is: offload whatever you can to the user. Or just don't have comments :)
If the website wasn't static, then I'd simply just use a server.
> one usually wants a lightweight commenting server ... [A few] commenting engines listed on the page are provided by heavy applications
A small ambiguity: There's a difference between being light weight client side, in the browser — versus server side:
1) End users notice the client side in-the-browser performance & light-weighted-ness. Whilst 2) the one who notices app server light-ness is the static site owner, who can save some $ each month.
However the comparisons page doesn't clarify that it apparently has in mind application server light / heaviness (and not browser-side).
Are there no distributed, truly serverless, commenting systems? Something that runs over WebRTC or dat:// or something? I remember there was a thread about GUN.js and other distributed databases on HN and this might be one application for it.
Ok. I think that'd be nice too — hmm I wonder if there is any commenting system that supports all of: annotations, inline comments & replies, and a discussion comments section.
I‘ve been using commento on my own sites for a bit over a year now. I was initially pleased but development seems to have halted and many pull requests fixing basic features have gone ignored.
Why not put a mailo: link at the bottom of a post, with a subscribe message to a listserv for the blog? If you really want, you could also render threads into a comments area.
> All of the commenting, none of the comments.
> When a user submits a comment, echochamber.js will save the comment to the user's LocalStorage, so when they return to the page, they can be confident that their voice is being heard, and feel engaged with your very engaging content. It does not make any HTTP requests. Since LocalStorage is only local, you and your database need not be burdened with other people's opinions.
https://github.com/tessalt/echo-chamber-js