Hacker News new | ask | show | jobs
by Knee_Pain 1060 days ago
Yeah, this is a gripe I'm having recently with governments and news publications creating a whole website and Mastodon instance just to have a few publish-only profiles and comment-only options.

Just implement a smaller Activity Pub server, no need for this Twitter clone stuff

7 comments

I've been looking into hacking ActivityPub into some projects that I run but there are a lot of caveats. For one, there's "ActivityPub" and there's "ActivityPub that Mastodon (and therefore most of the Fediverse) can interoperate with reliably".

For example, Mastodon has some artifical requirements that add signature requirements to public APIs to reduce bot and spam load. This isn't in the spec as a mandatory requirement, but if you don't do it then parts of the Fediverse won't be able to follow you. There are also expectations attached to certain activities that aren't in the spec but will confuse people on most other servers.

The easiest solution I came up with was to run a server that already does all of the hard work (gotosocial, Mastodon, etc) and call its API to add new posts.

"that add signature requirements to public APIs to reduce bot and spam load" Hmm? Are you talking about AUTHORIZED_FETCH? That's specifically an opt-in (and discouraged) feature that's meant to reduce the possibility of blocked instances retrieving your posts and displaying/replying to them on their own servers, it has nothing to do with bot or spam load.

"This isn't in the spec as a mandatory requirement, but if you don't do it then parts of the Fediverse won't be able to follow you."

I don't think this is true even when using AUTHORIZED_FETCH, Mastodon still displays the minimum set of Actor information necessary to complete a follow request (public key, username, etc), so I don't really know what this part of the post might be referring to.

Authorized fetch is just one lever to pull in the massive moderation machine that Mastodon offers. On its own it's not very useful, but together with decent configuration it can help against scammers impersonating accounts on your server from a similar domain. Twitter is full of people who replicate other accounts and add random racist shit for some obscure reason (a deep grudge? Mental illness?) and without authorized fetch you'll have no way to effectively block such scrapers.

Enabling authorised fetch breaks federation with several other servers and some apps as well. Previously valid post IDs may suddenly become unavailable or break, which some services trying to backfill posts absolutely cannot deal with.

I believe actors are available as barebones actor information not to break federation completely, but I don't believe this type of compatibility is available for individual statuses.

Personally, I don't see why I shouldn't enable the setting on my own servers because the extra control it provides is probably worth it for the few exotic broken servers out there, but it's a gotcha if you expect the protocol to work as described in the spec alone.

If you want an off-the-shelf ActivityPub thing, a Mastodon instance is arguably one of the paths of less resistance.
> Just implement a smaller Activity Pub server, no need for this Twitter clone stuff

BAHHAHAHAHAHA

Sorry, I forget that some haven't been quite as close to the blast radius of govermental/enterprise IT projects as others to know that "just implement" is a hilarious statement to make.

However much "cleaner/better" a direct integration with the beeb's CMS would be, it is not going to happen on the timescale needed for what is by their own statement, an R&D project.

Spinning up an instance for a few months, is not perfect, it's good enough.

I imagine they use it to give employees accounts that they can manage. If I was a journalist at the bbc I could get an account on their instance and the bbc could manage verification and account management.
But Mastodon is not the only way to manage accounts and publish stuff. It has so much overhead because it has to look and behave like a Twitter clone, whereas you could simply have a barebones password protected web admin panel to allow each journalist to publish with their BBC-approved credentials.
With an entire Mastodon installation, then each journalist can also keep up with and talk to sources via a Twitter-like interface. Though they will quickly want to move any serious conversations with information sources elsewhere what with the big undismissable "hey this is NOT REALLY PRIVATE" sign at the top of the "private" messages column.

Also I suspect that "what if we just set up a Masto and see how it goes" might be a much smaller investment then "add AP to our CMS". They're only committing to six months of this right now.

I'm unsure how much overhead there is since the service discussed above is functionally a micro-blogging service. Also I think you're missing on the important feature of having an easily recognized format (even if it is a clone)
I imagine that the twitter clone aspect is a big part of the overall appeal. Journalists are used to Twitter, as are consumers of news content.
That could be coming, but it's probably easier to get the approval and funding to start a Mastodon instance and start learning for when/if they go further than to bolt on new functionality to the CMS.
I fully agree with you, although this is still step in the right direction compared to them sticking to Twitter/FB/etc.