πŸ“š node [[grok activitypub]]
β₯… node [[activitypub]] pulled by user

ActivityPub

Knowledge

A good explanation of how the protocol works.

Research

  1. host local servers, one tracking each service
  2. connect to these servers with a locally hosted mastodon client
  3. each server takes account information and mocks external accounts:
    • logs in through social media api
    • view posts, corresponding threads/comments sections
    • server publishes data form these services in real time to mastodon
    • server creates/tracks fake mastodon user from every other user
    • these users are visible with clever naming scheme and tolerated by server
    • interacting with these real servers from ur acct (must be hosted in same place) == ur account on that social media interacting with their real acct
    • likes, follows etc. also emulated – though have to check if current user is following them, has liked, has followed etc.
    • should port over images, videos, gifs etc from whatever proprietary twitter thing they use to sane default formats to display on mastodon (i guess these should be cached for some time period, then…)

Federated social media is the future.

P2P

[Assessment of the feasibility of p2p activitypub](https://octodon.social/@cwebber/99015530843597174 ) want to avoid static ip, ideally

  • run on home server, always-on computer kind of deal ie beaglebone
  • NAT TOR? Zooko's triangle – choosing between human readable, decentralized and unique is impossible. PetNames proposal may be useful
  • key upgrade, but all that is needed is tor .onion address support, truly

https://activitypub.rocks/: explanation of the activity pub prococol; how it works. Rotonde: cool idea for a distributed social network

The ActivityPub protocol is a decentralized social networking protocol based upon the [[ActivityStreams]] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.

It is a [[W3C]] standard as of January 2018 https://www.w3.org/TR/activitypub/, published by the [[W3C Social Web Working Group]].

The Fediverse SocialHub Discourse forum is where many different ActivityPub-compatible systems come together.

From the forum, How to become an ActivityPub user

From the forum, Introduction to ActivityPub

ActivityPub supports common social network activities like following, liking, announcing, adding, and blocking. For example, if you have an account on a [[Mastodon]] instance like mastodon.social, you can follow someone on a [[WriteFreely]] instance like Qua and receive updates whenever they have a new blog post.

Christopher Lemmer Webber, co-author of the ActivityPub standard:

Increasingly, much of our lives is mediated through social networks, and so network freedom in these spaces – and thus removing central control over them – is critical. One thing you may have noticed in the last decade is that many decentralized free software social networking applications have been written. Sadly, most of those applications can’t actually speak to each other – a fractured federation. I hope that with ActivityPub, we’ve improved that situation.

ActivityPub

Criticisms

My big issues with ActivityPub is that the protocol is very big and not very easy to decompose.

– indieweb chat

Unfortunately, we have come to realize that using ActivityPub is considerably harder than we expected:

  • Using JSON-LD as an RDF serialization is very complicated. It requires the usage of algorithms (e.g. the Expansion Algorithm or the Framing Algorithm) that are incomprehensible and just pure madness. JSON-LD maybe was really just not intended to be an RDF serialization and trying to use it as such is painful.

  • There are practically no implementations of the ActivityPub Client-to-Server protocol (C2S). This made developing and testing the client and server more time-consuming as we had to develop the protocol in lockstep on client and server. At the end we were still only compatible with our own software.

  • ActivityPub is not a complete specification and many additional protocols need to be implemented (e.g. WebFinger) in specific ways in order to be compatible with existing servers.

    – openEngiadina: From ActivityPub to XMPP β€” inqlab

β₯… node [[grok]] pulled by user
πŸ“– stoas
β₯± context