36 comments

[ 3.3 ms ] story [ 108 ms ] thread
I wonder what other cool app (other than Mastodon) has been implemented based on this protocol.. 99% of the app out there is built based on centralized and traditional protocol, it's pretty cool to see more app built based on this protocol with new use cases
How do algorithmic feeds work in the fediverse?

Are there already services out there the last slurp in a ton of activitypub feed data and help surface content to users that they will enjoy?

Some of the centralized social media services do this extremely well after you've been using them for awhile (YouTube in particular)

I'm sure you could do that but, thus far, it seems like algorithmic feeds are rejected wholesale by the fediverse communities.
Yes:

"Does Mastodon or the Fediverse use ads or trackers or algorithms or blockchain or cryptocurrency or anything annoying like that?

No.

There are no ads, no trackers, the timeline shows all posts from everyone you follow in chronological order, and there is no blockchain/cryptocurrency/web3.

Fediverse servers connect to each other using traditional sustainable methods that email and websites have used for decades."

https://fedi.tips/mastodon-and-the-fediverse-beginners-start...

Yeah, I'm sure the Fediverse doesn't use any "algorithms."
There is no need to be pedantic. Everyone knows that "algorithm" is synonymous with "recommendation engine" these days.
It's funny but I definitely wouldn't have put YT on that list. Even after attempting to "train" it by removing from the feed stuff I'm not interested in, it's still very random and comically irrelevant at times.
YT is SO bad. It's not even funny at this point.
This solutionism is kind of a little a lot problematic. Expecting a single pat answer that utterly projects & reduces all possible wins into a single minded "this is how it will work" confines imagination & potential (just by the pointed ask alone), reduces a complex place we can keep exploring & winning & growing, into an overbearing consumerist expectation that all answers are known, all is worked out, and that there is some total answer thats gonna drop in our laps.

Synthetic feeds of recommendations is an open topic. How much data one is willing to send upstream, as inputs to one's recommender engine, is as much of a topic as how such things would work, what kind of activitypub feeds the engine would emit.

Right now there's nearly nothing & (while I dont agree) a vast amount of the userbase considers this lack to be a feature: a distinguishing characteristic that makes this network human and not aggressively eye-ball stealing machine & greedy. Human connection & old fashioned following people you run into is a win for organic matter & innate connection over pre-programmed ways to insure more eyeball-time.

That philosophy battle aside: there's infinite possibilities here. The way the question is phrased expects there is a singular clear way. You probably should not sign up for a fediverse instance! You dont seem like a fit.

You seem to be shadowboxing a non-existent opponent. If anything, their reference to service*s* suggests that they do not expect a singular clear way.
> already services out there the last slurp in a ton of activitypub feed data

this posting was from the enemy seeking an evil reductionist desire deeply in opposition to what this world wants (self definition) and you are ungenerous & unmoderate in unwillingness to meet part way here. bad things here from bad intent! be warned. this is a vile path.

i still think some room should be allowed or explored. i still found the original ask to be incredibly solutionistic & consumeristic in gross ways. there was zero interest in enjoining the effort at all; it expected, without involving.

Centralized algorithms for feeds are generally rejected by the community so far. Some projects such as Mastodon provide users the ability define filters of their raw chronological feed. People can also use and follow hashtags.
In ActivityPub "feeds" are not really a thing. A "feed" is the content of an Actor's Inbox and it will contain all the Activities that have been received by that Actor in chronological order.

That being said, you can overlay some semblance of algorithmic feed in the client that presents the Inbox contents to the end-user, but that is not related to the specification in any way.

I'm afraid so, and you've been posting so many unsubstantive and/or flamebait comments that were going to have to ban you unless you stop. We've already asked you once.

If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.

This isn't moderating, Daniel - it's curating.

So do what we both know you enjoy about this job since you don't seem to do the other aspects of it.

People mean so many different things by those words (you can throw in 'censorship' too) that I don't know what they mean any more.

If you want to say something about which aspects of the job I'm lacking in, I'd definitely be interested.

Totally ignorant question - is ActivityPub the preferred way to work against a Mastodon server if you want something like a Twitter firehose?

If not, what is the preferred manner of accomplishing this?

I don't think there's a firehose alternative for Mastodon. There's the generic stream API (https://docs.joinmastodon.org/methods/timelines/streaming/) which should contain all public posts but that will only reflect the local timeline.

The general public API also has a "fetch posts since ID <x>" call but in practice you'll only be able to fetch 400 posts at most based on the docs I can find.

There are tools like this: https://github.com/cscape/mastodon-firehose which you can use to combine multiple stream endpoints. That tool probably comes closest if you provide it with enough servers to monitor.

What's a minimal AP implementation that works with Mastodon?
Mastodon requires more than simply ActivityPub to be able to interact with it. Its user discovery is based on WebFinger and if you don't have that working, your service won't be able to be interact with Mastodon servers.
Yes.

I looked at Express middleware and it seems that a minimal server to interact with Mastodon is more than a few days work.

Hahaha, I've been working on a server, a client, and adjacent plumbing for about 4 years non-stop as a side project. Spoilers: it's still not fully done. :)
Btw.

What are the requirements to run an instance?

Of my software? A random machine with a network connection. It targets small/medium communities, so the focus is for ease of installation. You only have a static binary, or a container to run. :D

However that is just the ActivityPub service, there are no full clients for it(yet) outside of a link aggregator/discussion platform similar to old(reddit) and HN, which is another static binary, or container.

See my profile for links to the projects if you want more details.

Damn that's a very pleasent to read specification, step by step and easy to follow.
How does ActivityPub make sure posts on other hosts are "real"?

I would have gone for a pub/priv key solution instead and supported tree structured comments and real private messaging.

The post must either be retrieved via https, or signed with a key pair retrieved from the same origin.
It looks a lot like XMPP with some of its flaws – too much flexibility and no principled stance on privacy and security issues. For example, I couldn't find how ActivityPub supports signatures of sent content, while Mastodon (one of ActivityPub implementation/services) specifies and requires it. And it's really disappointing that they don't solve the identity theft problem, leaving it all in hands of instances' admins.
I use Mastodon over the web-interface. Where would signatures of sent content be generated or signed? How does the receiving end verify the signature?

With XMPP+OMEMO I have verified the fingerprints of my friends by scanning their QR code.

I'm sorry, I don't have a good answer for you. While PGP-like web of trust is accessible on native desktop and mobile applications, it's certainly harder to use in browser. I don't think that it should be an argument against supporting it.

One of the widespread solutions in the cryptocurrency world is browser extensions, which store in its private storage the private key and allow you to use it to sign some transactions in the same browser window. I reckon it's possible to implement the same approach for PGP and store the private key and trusted public keys in order to sign and validate messages.