Commento: Open-Source Disqus Alternative
256kilobytes.com
256kilobytes.com
This is the second time this account has submitted an article about a project that had major attention on HN a short time earlier. If this is with the idea of promoting your blog here, that is not the way. What we want is interesting content that hasn't been seen recently or (better still) ever.
Anywho... looks fantastic, I'm certainly interested in trying this out! Speaks to the interest this project is gaining that it rose to the top twice! As someone who missed the post a few weeks ago, I am very happy to have caught this one.
I agree that it is a cool project! Marking this post a dupe isn't to deny that. It's just that front page real estate is the scarcest resource on HN. More explanation here: https://news.ycombinator.com/item?id=19103247.
Not seeing all the cool things that show up on HN is a problem all of us have. One thing we made to try to mitigate this is https://news.ycombinator.com/front, which you can get to by clicking 'past' in the top bar.
Also, props to the 'past' feature. Great idea! I'm a big fan. Thanks for all the hard work!
>adtac has succeeded in reducing download to just 11 kB and isn’t done yet
Someone raised an issue to support Brotli in Commento (which I wasn't aware of) [1] and I did a quick test; it'd decrease the JS+CSS payload even further to under 8-9 KB. Nearly all modern browsers support Brotli [2], so I'm really looking forward to this.
I now realise this could be a modern take on the famous C10K problem, just with a different meaning: developing web services with under 10 kilobytes of payload :)
All modern browsers support it, so you'd think it would be an easy win. The top nginx search is an official looking Google project which is long abandoned and doesn't support current versions of the library. There's an official nginx module which is commercial, and then finally there's a supported fork that that sits on about page three of Google.
Shared hosts don't generally support it. AWS Cloudfront doesn't support it, along with several other CDNs. Big + to Cloudflare for proper support.
It reduced my bundle sizes measurably. We all hate bloat and want to reduce bundles, but there seems to be a community inertia around mass deployment.
>official looking Google project which is long abandoned
Is [1] what you're talking about?
Take a peek at https://github.com/sjnam/lua-resty-brotli.
https://github.com/eustas/ngx_brotli
The "filter" module operates totally within nginx, and behaves roughly how we're used to with gzip. The "static" module allows you compress files as part of your build and just serve them - but the server still needs to understand the relevant headers and how to deal with them.
Edit: Also really surprised about your pricing strategy. What if somebody wants to surpass the 50k pageviews? Wouldn't it be better to at least give those another tier?
I'm planning on adding Redis support soon enough so that sudden spikes would have little impact on the database server (which is nearly always the bottleneck, unless you're compute-intensive, which isn't the case with Commento). So that if you suddenly get a few hundred thousand visitors, most API responses are cached and only a fraction will actually require disk access. Like reddit does, where it'll temporarily say there N comments, but when you open the page, there wouldn't be that many. A few seconds of inconsistency is a fine compromise in the comments world. Of course, Redis isn't going to magically make everything faster, so I'll have to be careful with where I introduce it. Optimise for the common case and all that.
I'm still in uni, and I've never actually worked on large-throughput, high-scalability stuff before, so all this has been a great learning experience for me. If you have any suggestions or war stories that might be relevant, I'm all ears!
And also, very well done! Your software seems to work very fine, a lot of thought already went into scaling and general stability of the backend. And for me, as fullstack working for a design company, your website layout and design is pretty good. If you didn't have help with that, kudos to you, good work, especially for someone still in college :)
Edit: Website performs pretty good in a Lighthouse audit, apart from Accessibility features.
I made my email address even more prominent and disabled comments on my site after realizing it would be a net improvement.
It'd be great if you could point me to that comment, because I can't find it.
It's fascinating to see this happen on both HN and Reddit, quite often even before 'comment pointing out <x>' is even posted.
This phenomenon reminds me a bit of the annoying fallacy-fallacy, or how any discussion involving -isms (capitalism, socialism) cannot be had without either or both parties pre-emptively defending against being accused of, say, the no-true-scotsman fallacy.
I've been wondering if this is a 'new' thing, or if we've always been having these increasingly meta conversations, or if perhaps I'm just getting old and tired of it.
I can think of: comments in torrent trackers, where comments sometimes provide useful information; and, if this even counts, forum sites, like Reddit or HN, where comments host discussions.
There were sometimes helpful corrections, but those came largely through email anyway, and, since I update the articles when I receive a correction, the corrective comments instantly became obsolete.
I just remembered the biggest reason why I removed comments: Spam. The added value wasn't significant enough (due to the reasons above) to warrant spending the time I spent removing span comments. Make a popular post and you'll get a whole bunch of "What a great post! Check out my thing: <thing>". I didn't want to spend more time moderating so I just disabled comments.
I’ve certainly found that useful more than once.
Comment sections are especially good for sites which the author doesn't update, so you can read the correction in the comment.
Not to get off topic but my theory is, something like this is one of the reason why Automattic's / WordPress' recent Gutenberg efforts were misguided.
That is, it's not only about the content (of the individual node sites / blogs) but (in a networked / graph world) also the importance of the connections between the nodes, as well as the participation of third-parties (i.e., those leaving comments).
Long to short, commenting and connecting could result in an (informal social) network (of sorts). With WP powering ~30% of the web, laying the ground work for such a graph could have been revolutionary. Content __and__ connections.
Instead, they went with Gutenberg (and imho missed a massive opportunity to move away from the dated silo-based content model).
p.s. If Commento can (easily) work with the current copy of static site generators, what would be worth mentioning somewhere in your marketing / feature / benefits copy.
Also, since Disqus is a pseudo social network, how would Commento work if the same instance were used across multiple sites / blogs? In such a situation, could Commento be used as a proxy-network among the sites that share a given instance?
Rather than signing up for a service that may or may not work for my site, I'm curious, does it allow importing from existing native Drupal and/or WordPress commenting systems?
That's my biggest pain point right now. Exposing public login to my CMS is a security risk (see: plugins/modules with permission escalation bugs) and frankly a pain I don't want to manage anymore. Migrating old comments to a new system is preferable to keeping the legacy comments system (and user accounts) in place while maintaining a second system on top of it for new comments.
I'm used to roadmaps and software planning cycles in months or years so "weeks" is probably before I could even get somebody to open an email to start thinking about this. :)
It's a real struggle to get people to actually make the switch.
If you click on the link, there is also a table comparing Commento, Isso and Schnack
This is useful when discussing programming, as one can include excerpts of code. To do this in Reddit, you have to prefix each line by 4 spaces, which is hard to do because the comment box doesn't use a monospaced font.
Maybe Commento could have an option of a monospaced font for the comment box?
It's particularly annoying because it's a programming site.
Cut the code, then paste it, select it and use the {} icon on the StackOverflow editor to indent the entire block. No need to guess at four space indents.
```
this
```
is for code blocks.
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheats...
[0] https://talk.observablehq.com/t/comments-on-notebooks/1662
[1] https://talk.observablehq.com/t/let-s-talk-about-observable-...
[2] https://observablehq.com/@bumbeishvili/comments-on-notebooks
A few days ago, I self-hosted Commento to slowly replace Disqus on my sites. It was pretty painless to get the release binaries working on a little $5 Digital Ocean droplet, and get SMTP + Google OAuth configured.
To keep my page loads sane when I used Disqus, I had to delay the Disqus scripts from loading until the user hit a "Load Comments" button. It's nice that Commento comes with that sort of functionality right out of the gate, along with the ability to pass in a CSS file to override the styling.
I'm glad to see alternatives... Though, I kind of miss when newsgroups and BBSes were more popular.
https://gitlab.com/commento/commento
> ... half a second increase in page load time results in a 20% decrease in engagement and site traffic.
An intriguing stat. Wonder if the 20% figure is specific to new visitors, who have never seen the site before?
It’s decentralized web comments. See indieweb.org for more information.
What are the challenges with implementing one?
Does Disqus store the comments against a url? What happens if you add some nonsensical GET parameters? Do the comments disappear?
I had found your solution back when I was researching comment systems, and it looked (and still does look) great! I especially like the clean UI and tree-style comments. However, the big issue for me is how it handles spam. What sort of tools are there to save me from spending time moderating comments?
Even something as simple as "initially hide comments that contain URLs" would go a long way towards removing lots of spam.
But you're right, the site in the op is super ugly.