Indie Social

Indie Social on GitHub

Social networks are the biggest marketing machines ever created. They are slot machines where the coin is people’s attention. They know the vulnerabilities of human beings, and came up with stories and products to make us seek out weak an superficial connections, and constant approval from the people around us.

Our actions and feelings became the response to thoughtfully designed marketing strategies that we are, most of the time, not aware of. Every like, view, retweet, or comment that we get in our publications, is an addictive dompanine boost that feels insanely good. Our brains no longer have the space to feel bored, to get comfortable with the uncomfortable, to get through difficulties and get stronger. Social networks, as they are designed, helped us patch what we don't like from our lives, and create a version of ourselves that people like. The worst psychological consequences of this are yet to manifest, so we need to do something about it.

We need to regain the control of what being social on the Internet means. We need to be in control of our time, attention, feelings, and be social mindfully.

Since we can't change the exploitable nature of social networks like Facebook, or Twitter, we can leverage the web and become the owners of our social content under our personal websites. A content that is free of approvals, and any feature that is inspired by the so-damaging attention economy.

What

Indie Social is a specification for the structure and format social content, and the configuration of statically generated websites.

Why

The specification makes it possible to build clients to generate social content. People can use the client of their choice or even build their one. Moreover, it makes it possible to develop plugins for existing static website generators such as Gatsby, Jekyll, or Hugo, to easily add social content that meets the specification.

Who are you?

I’m a software enthusiast a bit fed up of what social networks did to the Internet, and eager to change things for the better. I believe we can be social on the Internet as we are in the real life: without becoming addicted, deciding what interacting with others means, without the harm of getting our vulnerabilities exploited.

Internet has all the building blocks to make this possible, so let's use them.

Design guidelines

This section describes some principles that we followed to came up with the specification:

  • The structure of the content should reduce the likelihood of conflicts when publishing new content. That makes it possible for the clients to add content to the git repository that contains the project without having to deal with conflicts.
  • The format should adhere to industry standards for which most programming languages have libraries and tools.

Specification

Configuration

Content

Journal

The journal is a chronological sequence of thoughts, entries, that are akin to tweets. They are located under social/journal, where every folder represents an entry. The name of the folder is the unix timestamp of the date when the entry is published.

social/
  journal/
    1579950876/
      entry.md
  journal/
    1579950880/
      entry.md

Each folder contains an entry.md file with the following format. The definition of the tags is optional. Moreover, assets referred from the entry such as images, need to be in the same directory as the entry.md file.

---
tags: ["social", "indie", "surveillance"]
---
This is the content of the entry

Lenses

Plugins

There are no plugins available yet.

Clients

This section includes a list of clients that can be used to publish content that follows the Indie Social convention on statically generated websites:

  • Bohemian: App for iOS & Android built with React Native. The app is still work in progress.

How can I help?

  • Spread the word: Everyone can put a grain of salt towards bringing more awareness and help others regain control on the social sphere. Share Indie Social with others and help them set up their websites to publish content using existing clients.
  • Build a plugin: Are you familiar with a static website generator that doesn't have an Indie Social plugin yet? You can be the first one building it. You just need to provide an API to integrate content that conforms the Indie Social specification into the website. How the content integrates depends on the architecture and language of the generator. For instance, the integration for Gatsby is as easy as importing and using a React component.
  • Build a client: Make publishing new content convenient for the platform of your choice. Would love to have a share extension for iOS that allows you to publish content from any other app? Go ahead and build it, and please, don't forget to send a PR to this website to list the client.

Books on the topic