One cool implementation of Mastodon-as-comments was with the G-Droid frontend app for the F-Droid ecosystem.
F-Droid apps don't have comments or ratings on the default F-Droid app. They're generally less necessary because the apps don't have ads or severe privacy concerns like the ones from Play Store do, but it's still nice to hear others' experiences and comments on them.
G-Droid introduced a commenting system by simply redirecting you to a mastodon URL when you clicked "Add a comment". That URL will by default add "@gdroid@mastodon.technology" and a hashtag based on the app package name to your post. For eg., for the Markor app, it would add
at the end of your comment post. The @username will notify a bot to pickup this comment, the hashtag will help it attribute it to the right app, and so your comment will get collected and displayed below the app listing in G-Droid.
Sadly, G-Droid itself doesn't seem to be actively maintained anymore, the last update being a few years old, but it's a really cool example of what is possible when you have open, flexible systems that can be plugged in together in many ways to create the features you need.
I ended up doing something similar, but statically, and searching for discussions dynamically rather than using a single hardcoded thread. Essentially it's a script that searches for recent posts linking to my domain name on Reddit, HN, etc, and then updates a file with the URL of that post and some information about when it was made and how many posts there are. Then there's a Hugo template that converts the data in this file to HTML.
The script runs every few hours using free GitHub runner time, and if it makes a change, it commits it and creates a pull request with the contents so that I can review it. (I could automatically commit straight to the main branch but I like having the manual review just in case.)
I couldn't get it to work for Mastodon because there's not really a public search for Mastodon (for all sorts of reasons), although at some point I want to get it working for Bluesky. I did try hooking it up with Twitter for a while, but that required all sorts of API keys and things that I didn't want to deal with so I gave up. You also need API keys for Reddit, but that was easier to get hold of and manage.
After spending far too much time integrating third-party comment systems into my website, I finally decided to roll my own in Common Lisp [1].
I’m quite happy with the result. It’s simple, minimal, and fast. It does exactly what I need and no more.
Plus, everything is held for my review before being published, so I don’t have to worry about spam, cross-site scripting, or off-topic comments. It’s been a satisfying solution.
huh. that provokes a vaguely uncomfortable feeling in me for some reason. I suppose you could also setup an sms gateway and accept comments that way too but hm.
While they seem different, they can be used in similar ways. Sorta like how Delta Chat turns email into something like IMs with a conversation view. It's all passing around text/media at the end of the day.
Yes, quite different concepts, but both are federated services that offer the necessary functionalities to be used as comments. One is a bit more "real-time" than the other.
I should perhaps also add a little disclaimer/warning: When i had a closer look at cactus comments a while ago, it seemed to be broken / "assembly required" in various parts and blogs that use it.
When I publish something I like not shouting into the void so I want comments , but I also don't want to give a platform to anyone and everyone on my blog.
What works best for me is to add a link to the fediverse, linkedin and sometimes HN threads of comments when I publish a post. It's also a very low tech solution :)
At the same time, I am an opportunist — sometimes it is Reddit, sometimes it is ix Xm, and sometimes it is here, the Hacker News. Different posts resonate with different audiences; and I don't want to link to a ghost town.
One issue is that there is no such thing as "the default platform for discussions"—no matter which one you choose, only a small fraction of readers will be interested in participating.
> One issue is that there is no such thing as "the default platform for discussions"
Isn't this what the various linkback mechanisms tried to solve? It seems like the ideal solution: let anyone comment wherever they want, from a tweet to their own follow-up blog post, and connect them all via automated notifications.
I've been considering trying to get to a similar result, but considering making my actual blog _be_ a (minimal) ActivityPub sever with a si gle user/actor such that posting to the blog is publishing an ActivityPub post, and have replies to that post coming directly into the blogs own inbox, then show up as comments.
Anyone else weighed up the two approaches, I'm still on the fence tbh.
However since I'm not a very good frontend dev, posting to this is currently done through a CLI application without great UX. :D If you're interested, I would *love* to collaborate with someone on it.
I think this is a pretty great step in the direction of not being wholly dependent on one platform; makes you start thinking about your website as the source and the social media networks as just a representation.
Nice! I'm waiting for (/ thinking of building) something similar for #atproto/Bluesky. You could even use OAuth to allow users to add responses inline, which would then also show up in the Bluesky feed (if you wanted), with a UX pretty similar to Disqus.
Mastodon is great, but the "pick a server" step is a pretty hard filter for most users, who just want to sign up for something.
You'd also get to benefit automatically from Bluesky's blocking/moderation tools.
The protocol is fully open and adoption is picking up rapidly. You can easily host your own data server in your preferred jurisdiction if that is important to you.
A) That article is from was 3 months ago, the network has grown almost 50% since then.
B) You can set up your own PDS, right now. If you're comfortable with Docker it should take you under an hour: https://github.com/bluesky-social/pds
This is where I'm struggling. I have Bluesky comments set up but am of the impression that mastodon comments will be completely separate and clunky as a result
I wonder how that scales. I'm sure it wouldn't matter too much for a small personal blog but I assume the mastodon server wouldn't be very happy if the API was queried at a high rate.
Yeah, I made a note of that. I'm not sure anything I've written to my cheesy blog has hit HN before, so this is probably the biggest test I'm going to get.
If it were going to get any bigger, I'd want my own Mastodon server.
Edit: this is also why I made it an explicit user action to load the comments.
I like caches with a short TTL. Even caching for a single second will cap the amount of API requests. Just setting an expiry a minute out when you generate the page and put it behind a decent caching reverse proxy, is a decent option. Or just write the API response to a file and stat that file to check age before you respond (if so, just make sure to avoid race conditions; e.g. write to a separate file and rename). If you have something like Redis running, that's of course a great option too.
(but just having users click a button is likely to be more than enough)
As a Mastodon user who has been trying off an on to resurrect a blog and personal website, I'm starting to wonder whether the model of "personal blog with comments" really deserves to die given the nature of the modern web. If you're lucky, you just get ignored. Otherwise you just get consumed by AI and bots and psychopaths.
I have tried to get my static site generator (Lektor) to work with Mastodon and generate my Mastodon posts as a blog. I haven't had success yet because Lektor is obsolete and kind of garbage, but Mastodon's API is great.
I really like this solution, though. Just write a blog post and link to it from Mastodon. That solves the problem of Mastodon's text limit and of small hosted instances needing to regularly delete content to stay under their account limit.
As a technical feat and expression of FOSS integration this is cool but I don't know about the utility of it since any actual human being reading these comments will already be reading them on Mastodon. It is definitely better than the cancer that is Disqus though.
What weird fake information you're posting. Yes, administrators of fediverse servers can read your personal correspondence -- same as Facebook, X, and other social media sites that don't offer federation (unless you opt into some limited e2ee option). But I, as a fediverse admin, have no ability to read (private) correspondence between two others who don't use my instance.
Ultimately it comes down to: you must trust your instance admin. (Just like you must trust Facebook and X and Tiktok and whomever else). As a result, maybe take private conversations somewhere safer, like Signal or a pgp conversation. If you don't trust your instance admin, why did you sign up with your instance?
>If you don't trust your instance admin, why did you sign up with your instance?
Probably because you told them it was a cool OSS twitter alternative and not something that takes all of social media's moderation and privacy and content problems and multiplies them by the number of instances you join without any of the legal protections associated with being able to file civil or criminal complaints against an identifiable entity answerable to the laws of your country.
Haha it definitely takes the content moderation problems and distributes then across all the instances. But that's kind of the whole point. You can join an instance that moderates content in accordance to your preferences, rather than dealing with the weird policies of Meta/X. I'm sorry you don't like it though.
It seems like we agree: the whole point of Mastadon is to do something that nearly all users don't want and actively fear - being forced to trust both the intentions and the opsec of anonymous individuals who are effectively beyond the law, and being blamed for trusting them if anything goes wrong ever.
Do you comply with the CCPA or GDPR, or are the users on your instance empowered by being given the "choice" to give you unlimited access, use, and retention of their data without their informed consent, even when it violates civil and criminal law?
If you think data privacy laws are wrong and intend to violate them, you should say so in a way that makes informed consent possible. If you're comfortable with rationalizing violating informed consent in some ways, it kind of implies the "content in accordance with your preferences" may similarly contain content of non-consensual acts that are also illegal.
> I don't expect anyone without an account already to post, but my target audience largely already has such accounts
This is a ridiculous expectation. Virtually nobody uses Mastodon, especially since BlueSky now is the open platform of choice.
But even without this, Twitter-like websites for me and a lot of other people have absolutely no usecase, despite being in the audience who could read your blog. Expecting all your visitors to have an account in nonsensical.
I should be clear, you don't need a Mastodon account to read my blog and comments. But you do need a Mastodon account if you want to reply to my Mastodon post about my blog entry and have that show up in the blog.
But maybe for your blog, you could use the same basic technique and do BlueSky comments instead.
Lol I knew I would get this kind of answer and downvotes.
You still have to make an account on a totally unrelated website. It's the shittiest experience one can think of.
But your excuse is "Hey actually you can also setup the whole application yourself before making the account to post a blog comment on an unrelated website, so that's actually super awesome!".
Absolutely ridiculous, and if any company you didn't like were to do something similar you would screech.
Usually blogs don't require creating an account to leave comments. Why present this false alternative when the common thing to do is just leaving a comment without creating an account?
why would you need to create an account to leave a comment? the site owner can own the entire flow if they so wish, including creating an anonymous actor for the comment.
F-Droid apps don't have comments or ratings on the default F-Droid app. They're generally less necessary because the apps don't have ads or severe privacy concerns like the ones from Play Store do, but it's still nice to hear others' experiences and comments on them.
G-Droid introduced a commenting system by simply redirecting you to a mastodon URL when you clicked "Add a comment". That URL will by default add "@gdroid@mastodon.technology" and a hashtag based on the app package name to your post. For eg., for the Markor app, it would add
at the end of your comment post. The @username will notify a bot to pickup this comment, the hashtag will help it attribute it to the right app, and so your comment will get collected and displayed below the app listing in G-Droid.Sadly, G-Droid itself doesn't seem to be actively maintained anymore, the last update being a few years old, but it's a really cool example of what is possible when you have open, flexible systems that can be plugged in together in many ways to create the features you need.