3 ms·
I am. I working on creating an "API-first" social network that doesn't specify implementation, only interface. This way everyone/anyone can run their own server
by cprogs 6y ago
I am. I working on creating an "API-first" social network that doesn't specify implementation, only interface. This way everyone/anyone can run their own server that exposes their own content through the API. They can run this on their own domain and using whatever technology and implementation they want. Other users can choose to follow you and receive notifications directly from you. You can also use whatever security, moderation, throttling, and architecture you want.
This may sound like it places a lot of burden on the individual but I plan on having reference implementations from super simple all the way up to clustered nodes ready to run in Docker containers. And hopefully with it all be open source and API-specified only, people can contribute other implementations.
The API is extremely simple. It is REST based and easy to comprehend. Anyone could write a simple server and reader who can program PHP, Node Express, or anything else.
The driving idea is to put individuals in complete control of their data and experience, and maximize interoperability. Much like an HTML img tag only has a src attribute, but the browser know how to retrieve the image from a server (which knows how to serve it) and then display it in the browser. Conceptually pretty simple.
If anyone is interested in knowing more, please ping me. I would like to release an API specification soon for discussion and refinement. Email in bio.
- maxfurman 6y agoNot to be discouraging, but isn't this the role ActivityPub already fills?
- cprogs 6y agoYes, but I am shooting for something even simpler. Like going from SOAP to REST. I think a simple API will encourage more implementations. My vision is also something a little more narrow, such as: profile -> follow|unfollow, post, post -> comment|like|reply set of uses cases. It's not trying to cover all possibilities of social media interactions.