fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

Davide Eynard (+mala)

Hi all 🙂 I am trying to gather more material about existing approaches on recommendations in the Fediverse (e.g. follow or post suggestions, but search is interesting too!), how they work, and what kind of feedback they received from the community.

I will add what I already know in this thread and I'd appreciate any additional pointers 🙏 Even old projects are welcome, as I feel their story could be more relevant than whether they had success.

Also could you please boost for reach? 😇

And here's the list of what I already know:

- Mastodon Digest (github.com/hodgesmr/mastodon_d) is a python project that shows you a (locally generated) digest of popular Mastodon posts from your home timeline. Different criteria can be chosen to score posts depending on features such as favs, boosts, and authors' total followers.

- Fediview (github.com/adamghill/fediview) relies on Mastodon Digest for the algorithm and presents digests "as a service" (fediview.com/).

GitHubGitHub - hodgesmr/mastodon_digest: A Python script that aggregates recent popular posts from your Mastodon timelineA Python script that aggregates recent popular posts from your Mastodon timeline - hodgesmr/mastodon_digest

- Searchtodon (searchtodon.social/) is/was an attempt at building a privacy conscious personal timeline search tool for Mastodon. Its retrospective (searchtodon.social/Adventures-) documents both the project history and the lessons learned from it.

- Takahe is a relatively recent, multidomain ActivityPub server. In its features page (docs.jointakahe.org/en/latest/), long-term roadmap section, they talk about a “Since you were gone” optional algorithmic timeline.

searchtodon.socialEx-Searchtodon: Private Timeline Search for Mastodon

- Ambassador Bot (github.com/mbilokonsky/ambassa) implements on the idea of "community ambassador" which I personally think is beautiful. An ambassador is a way for a given community (here identified as a whole instance) to represent itself to the outside world: by following this user, you'd get a glimpse of the most representative toots in that instance.

GitHubGitHub - mbilokonsky/ambassador: A mastodon bot for showing the world the best your instance has to offer.A mastodon bot for showing the world the best your instance has to offer. - GitHub - mbilokonsky/ambassador: A mastodon bot for showing the world the best your instance has to offer.

Following on Ambassador Bot: despite the fact this is quite an old project (last commit 6 years ago) and the way to choose the "best" toots is just a proof-of-concept implementation (favourites_count>avg(favourites_count) in the last 30 days), this idea resonates a lot with me and made me think about @danhon 's "Your timeline needs a DJ" (newsletter.danhon.com/archive/).

newsletter.danhon.coms14e10: Your Timeline needs a DJ; Enoughs14e10: Your Timeline needs a DJ; Enough 0.0 Context Setting A grey, cold morning in Portland, Oregon, on 26 January, 2023. Let’s get on with it. 1.0 Some...

- Mastodon's own follow suggestions and trending timeline. Follow suggestions started (if I got the right pull request 😅 github.com/mastodon/mastodon/p) as an implementation of triadic closure -I'd say without too much enthusiasm from the community- and evolved (github.com/mastodon/mastodon/b) to a ranked list of users with most follows and interactions, filtered to satisfy different criteria (eg. accounts have to be discoverable, not suspended/silenced, not marked as sensitive, etc).

GitHubAdd follow suggestions by Gargron · Pull Request #4846 · mastodon/mastodonBy Gargron

- Fediverse relays (joinfediverse.wiki/index.php?t) do not exactly provide "recommendations", but I was happy to learn yet another way for smaller instances to populate their federated timeline. Perhaps some intersection of this and the ambassador concept could provide better timelines to bootstrap a new instance from.

joinfediverse.wikiFediverse relays - Join the Fediverse

- Recommending Users: Whom to Follow on Federated Social Networks (arxiv.org/abs/1811.09292) is a paper from 2018 showing experiments on running WTF recommendations on a dataset gathered from Mastodon. While results are not exciting, the authors' considerations about the difficulty of gathering data and running algorithms commonly applied to centralised social media on a distributed one are rather interesting IMO

arXiv.orgRecommending Users: Whom to Follow on Federated Social NetworksTo foster an active and engaged community, social networks employ recommendation algorithms that filter large amounts of contents and provide a user with personalized views of the network. Popular social networks such as Facebook and Twitter generate follow recommendations by listing profiles a user may be interested to connect with. Federated social networks aim to resolve issues associated with the popular social networks - such as large-scale user-surveillance and the miss-use of user data to manipulate elections - by decentralizing authority and promoting privacy. Due to their recent emergence, recommender systems do not exist for federated social networks, yet. To make these networks more attractive and promote community building, we investigate how recommendation algorithms can be applied to decentralized social networks. We present an offline and online evaluation of two recommendation strategies: a collaborative filtering recommender based on BM25 and a topology-based recommender using personalized PageRank. Our experiments on a large unbiased sample of the federated social network Mastodon shows that collaborative filtering approaches outperform a topology-based approach, whereas both approaches significantly outperform a random recommender. A subsequent live user experiment on Mastodon using balanced interleaving shows that the collaborative filtering recommender performs on par with the topology-based recommender.

(tootfinder.ch/) is a recent (Feb 2023) opt-in full text search engine for mastodon. Data is collected only if users manifest their consent with a magic word on their Mastodon profile.
Only public feeds are indexed (no boosts, no replies). Data retention is 14 days and consent can be revoked just by removing the magic word. 🤩

Source code is on GitHub and the blog has interesting info about how the project (and the decisions around it) evolved.

tootfinder.chTootfinder
The approach taken here is to compare social graphs for commonalities which are missing from your own friends. For instance 20 of your other friends are friends with this person but you aren't. There's a pretty good chance you've got things in common (because you already do - 20 friends). Then - if your profile hashtags include linux and baseball, we'll try and match you to other people that list both linux and baseball in their own profile.

Both of these honour your privacy preferences, so for instance you won't be able to see the social graph of somebody that isn't sharing their followers/following with anybody or isn't sharing their profile.

Cheers.