ActivityPub
-
[[go]] https://www.w3.org/TR/activitypub/
- A standard for open social networks.
- One of the [[social web protocols]].
- One of the [[fediverse]] protocols.
- [[go]] https://activitypub.rocks
social layer that [[the federation]] uses
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.
Knowledge
A good explanation of how the protocol works.
Research
- host local servers, one tracking each service
- connect to these servers with a locally hosted mastodon client
-
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.
-
#push [[activitypub]]
- read about [[gotosocial]], it looks nice
- also in [[golang]] there's [[ragamuffin]] (in development)
- in python there's [[epicyon]] ~ https://epicyon.net
- there's also [[microblog.pub]] but it's single user
-
#push [[activitypub]]
- [[bonfire]]
- [[gotosocial]]
- [[takahe]]
- [[mastodon forks]]
- #push [[activitypub]]
- public document at doc.anagora.org/activitypub
- video call at meet.jit.si/activitypub
2000
2020 09 21
2020 12 27
2021 01 24 journal
2021 02 07
2021 02 13 journal
2021 02 23
2021 04 05
2022 01
2022 02 26
2022 11 17
2022 11 20
2022 11 27
2022 12 12
2023 06 07
2023 07 22
2023 08 12
2023 09 02
2023 09 07
2047
activity pub
agora pkg chapter
armengolaltayo
chris webber
decentralized social media internet archive
disfraz de tigre
epicyon
fediverse
grok activitypub
immers space
mastodon instances
microblog
open protocols
pfrazee
pleroma
protocols for commoning
schelling pt
social
social coop bridge
social feeds
solid
spritelyproject
takahe
techpractical
valueflows
ways to reclaim the stacks
webfeeds
write freely