ActivityPub integration with IPFS

One of my ambitions has been to see a decentralized and serverless social media platform, up to the same quality standards as Twitter and Facebook. Using IPFS and OrbitDB this dream is now much closer to becoming a reality. I wanted to bring up one important subject in this regard: The ActivityPub protocol, and how IPFS can interact with it.

I have been following the Mastodon social media platform. It is decentralized but not so much serverless: You need to jump through quite a few loops to setup an instance on your computer, while a central server still maintains the database and handles much of the processing. I’ve briefly asked the team to what extent it could be made serverless and was introduced to AP. ActivityPub is a standardized API for social media: It’s a way to create, modify and delete content across different platforms. It makes it easier for multiple products to communicate with one another and share certain data, which will be a huge bonus as more decentralized platforms emerge.

My question is: To what extent can OrbitDB (or another form of storage over IPFS) integrate ActivityPub support? Would it be possible to create a module that allows browsers to translate ActivityPub requests into entries stored into a distributed database? It does feel like the Orbit docstore would be the best candidate for such a thing: It can create, modify, remove and index entries which should be exactly what the API expects. The data is stored as a JS object, and thanks to indexing every request should be easy and efficient to address.

If such a tool could be developed, fully decentralized social media might be a great step closer to becoming possible. Right now you still need to run a server, but with such an approach you could have an entire Twitter alternative running entirely in the web browsers of users! IPFS can already handle media storage, but storing the dynamic user data without using a server remains a problem… this may very well fix that final limitation. What are your thoughts on this?

3 Likes

intresting think about that. maybe we can be create a thread about that because we have some developpers in this community wish create that. maybe can be intresting to mutualize this ressources. for example here we talk another approach for that : Tim Berners-Lee SOLID project maybe implementation with IPFS?

maybe a common thread to expose ideas and approach can be intresting.

Regards

1 Like

A common thread might be good, as I am also interested in developing distributed social media. I will try to start a thread.

1 Like

I’ve followed your thread and also posted a longer reply there, thank you. I’ve been wanting to create something like this for a while but didn’t for two reasons: I’m busy with a ton of existing projects, and am waiting for OrbitDB to merge their new access branch which is a necessity for the idea I had in mind (allows owners to add / remove new owners in databases without duplicating them). Perhaps you can help start this initiative; It’s likely someone else will get to my idea before I can.

Hi guys I come from Solid and I’ve implement some tests to run ActivityPub like protocole https://forum.solidproject.org/t/discussion-solid-vs-activitypub/2685/32
and @happybeing as implented solid on Safe network…
I’m just discovering Ipfs but perhaps could help.
I’m not often of this forum, so if you want to know more , poke me on Solid forum as @smag0

I’ve created a complete platform that covers a lot of this ground. It’s not currently “decentralized” other than it does upload to and read from IPFS. Most of the code in it is actually related to the mechanics of doing wiki-type stuff and social media stuff, but I want it to become “The Linux of Social Media”. That is, it will be the platform anyone can install, and get an IPFS-enabled wiki or social media platform running as a part of Web3.0.

The project has been evolving for years actually, as my primary side project, but just now is ready to maybe let some adventurous souls try it out. Take the red pill. Go try it if you want:

https://quanta.wiki

I’d love to build out a lot of ActivityPub support into it. Ping me if interested.

Clay, this is great!

Any chance you’d be open to a call to discuss your experience a bit further? I’m interested in a similar project and would like to run it by you or possibly partner.

luke@g4lt.co

Hey everybody, I created a Matrix room for ActivityPub developers:

1 Like