It is a hard problem and there are more efforts outside of the blockstack ecosystem that try to decentralized social networks. As the “Economics” mentioned mastodon is a big on here, and discussed at FOSDEM, Mastodon has defined/uses the ActivityPub protocol (together with e.g. webfinger). Should we also use these protocols? If no, what are the arguments against?
If yes, the proposal is to develop a single user focused activityPub server that can run on everyone’s machine and uses the gaia storage (and then join the (political, regularitory) forces to bring back users hosted servers fighting against the interests of ISPs) Before that is possible for all users I think we should embrace the fediverse out there and add servers (with Blockstack Auth support)
Great proposal, I was thinking about the same thing after watching The Economist’s video on Mastadon and Blockstack. It would be good to adopt an existing protocol like ActivityPub in Blockstack social apps, there’s no reason to reinvent the wheel.
What you’re suggesting here is that we run modified instances of ActivityPub servers that users can auth into with their Blockstack iD?
Yes, that is what I already did for the matrix chat federation. I run a matrix home server (OI Chat) that let blockstack users sign in with their ID and enjoy the matrix network (without needing to register, without me storing any passwords).
So, there are two steps involved:
patch the mastadon server to accept logins via blockstack
patch a mastadon client to send the blockstack login to the home instance.
I am not sure whether that is an interesting approach for the blockstack ecosystem, as the feedback for OI Chat was rather small.
The missing piece is that the data are still stored on the user’s mastadon/matrix server, not on the user’s storage provider, but with single-user servers this could be fixed. At the ActivityPub panel at FOSDOM, one of the specification authors actually encouraged everyone to think more about the possibilties to have a client and a server on the same machine.
I’m all for this but not all clients have 100% uptime… having the server run on the same box as the user’s (private) gaiahub is a possibility though!
I think it’s a pretty good idea overall, another node in the overarching stack of the Blockstack network. Having blockstack-matrix nodes as well would be cool to see as it matures, meaning we have the chat & social media (activity pub) stacks sitting beside the official storage (gaia) & auth stacks… exciting! (not to mention the possibility to use matrix as a push notification system and activity pub as a “more data / inbox” system)
I was wondering however – are you creating OpenIntents as a Radix-like project that would serve on the backend and connect things like Matrix and an ActivityPub implementation for Blockstack dApps to use? I know the ActivityPub implementation still needs to be made, but a middleware like this would be extremely useful.
It’d be a node to interpret and serve as a mediator between those services and the apps themselves, standardizing and giving it important features required for the apps (such as push notifications and inboxes)… if it’s not openintents then it would be useful for another proposal for something like that.
OpenIntents is just the name of my organization. All apps live independently, ideally server-less.
Currently, I am trying to get matrix to support DIDs and make a pull request to mastadon.
What I try to build is an extended API for blockstack.js that app developers can use for notifications, social activities,etc,. Aiming to standarize exactly what you described.
That library relies on the configuration of each user. Whether that is about configuring just one node or many (existing) services needs to be seen.
I still have to understand where Radix can help my apps.