Categories
scuttlebutt

A Decentralized Platform for Innovation

In what is scuttlebutt I discussed why Scuttlebutt can be a better social network than anything else out there. However, it can be so much more. It can be a decentralized platform that any application can be built on top of and immediately become peer-to-peer.

Under the hood, Scuttlebutt messages are just JSON data. Here’s what a normal text post looks like (simplified, additional metadata omitted for clarity):

{
    author: '@Py8stqMfjhdc4Ln92R4Lg+3jITszP94G3P5BNuH+lWY=.ed25519',
    content: {
        type: 'post',
        channel: 'new-people',
        text: 'Hello World!'
    }
}

And here’s what a vote looks like:

{
    author: '@Py8stqMfjhdc4Ln92R4Lg+3jITszP94G3P5BNuH+lWY=.ed25519',
    content: {
        type: 'vote',
        vote: {
            link: '%c7ZAvQXoDP/zXnXgTnkGatP1JSAV29V8G/+Hhk8lSWU=.sha256',
            value: 1,
            expression: 'Like'
        }
    }
}

Notice how the content sections of the post and vote are different? The only thing that is similar is the “type”, meaning the content section can be filled with anything you like. Different applications can send their own messages with their own ‘type’ and information, and clients that understand that type can display the information in a way that makes sense. 

For example, you could build a chess application which sends content like:

{
    author: '@Py8stqMfjhdc4Ln92R4Lg+3jITszP94G3P5BNuH+lWY=.ed25519',
    content: {
        type: 'chess_move',
        game: '%c7ZAvQXoRP/zXnXgTnkGatP1JSAV29V8G/+Hhk8lSWU=.sha256',
        move: 'Qe4'
    }
}

This data is then sent along the Scuttlebutt network where any of your friends who have a chess client that can read the type “chess_move” can see that you’ve made the move “Qe4” which in Portable Game Notation means you moved a queen to e4. You could even play games of chess with people with other chess applications, as long as they can process this “chess_move” type. In fact someone has already built a ssb-chess backend that runs on Scuttlebutt and you can play it today

Because everything is open source and you don’t need permission to join the network, you’re free to innovate as your heart desires. You can build any kind of application using Scuttlebutt as a network layer, and it’ll be decentralized and usable by anyone else on the network right out of the box. 

For instance, someone could build an Instagram-like application that connects to Scuttlebutt, and shows all content of type ‘image’. Someone else could build a Twitter-like application that only displays text posts of less than 280 characters. These applications will talk on the same network as Patchwork, Manyverse, Patchfox, etc., and you can interact with friends using different applications seamlessly. 

This means that you are free to choose the social application you use while still being able to connect to your friends on the same network. What if the developers of Patchwork do something you hate, like add sponsored content, rearrange the feed order, or make it neon orange and green for a real 90’s flair? Instead of being forced to “deal with it” like you are with Facebook or Twitter, you can simply download an alternative application like Manyverse or Patchfox and continue talking to all your friends with the same content. If you’re a programmer, you can even fork Patchwork, or create your own client from scratch just the way you like it. The application you use to view the world may constantly change, but the underlying data always remains the same. 

This would allow Scuttlebutt to live on for decades or even centuries. Social clients may evolve and change over time just as they do now. People will build applications which will grow and die on it. But the underlying data remains the same, and you’ll never need to take your entire social world with you when switching clients again. 

That’s what I love about the potential of Scuttlebutt. It’s not just freedom from corporate control, it’s freedom from anyone telling you what to do and how to interact with your friends. It’s freedom form the invisible hand nudging you to do things others want you to do, like clicking on ads or using their new live streaming product. 

Remember AOL versus the Internet back in the 90’s? Initially everyone loved AOL as it was this beautiful walled garden that gave them news and information and games. But then the internet came along with infinite possibilities; a decentralized world where anyone can create and share and build what they like! It provided so much more utility and freedom that everyone flocked to it. That’s how I see Scuttlebutt today, the free alternative to the social media companies that only seem to be tightening their grip on their user-base, building a bigger wall around their garden every day.