commandline social network

Imagine a social network where instead of a feed you're greeted with a prompt.

If you want to see a feed you have to enter a command describing the kind of feed you want to see.

Q: what kind of language would be good for describing social feeds?

This is a programmatic social network

Communities

Defining a new community is essentially writing a command to see a certain subset of feeds. I could write a command to only pull posts from a certian subset of people. Or pull posts that only mention a certain keyword (hastags for example).

Identity

Identity is a complicated thing on social networks. Perhaps we could enable something interesting here by doing it based on commands.

So when you first join, a temporary key is created for you which is local to that computer. You can then execute a command to associate that key with other's you control. In this way you can build relationships over time between the devices you use, but everyone get's an identity by default.

This (might) require flipping back and forth between devices to validate those relationships. However you could extend this to friends (social verification etc).

Implementation

Agoric's SES (SecureECMAScript I think) enables the execution of untrusted code, and so could very easily implement something like this. I'm imagining a twitter esque platform where users could write computational tweets, that pull information from other tweets or expose different interactions, like an extension of replying or voting in a poll.

These scripts could have a built in key/value store, for enabling things like a poll. Each tweet would be a little microservice, and users could create networks of these, to do what, I don't know.

how would tweets interact with other tweets?

Text should be the common language of all tweets. Sorta like the Unix way. If you reply to a tweet is yours an input to it? An output?

Rooms not feeds

Instead of dynamically defining social contexts based on existing data, it might make more sense here to define contexts and then add data to them. This way it becomes more like defining chatrooms, which users can then submit messages it.

Inspo/Related

built with nextjs, mdx, and typescript view source