Manyverse for Android released, a decentral social network in your pocket

in #technology6 years ago (edited)

Today marks the release of the first public beta version of Manyverse, an Open Source Android app that allows you to connect to the Secure Scuttlebutt (SSB) decentralized network on the go, you can think of it as a social network like Facebook, just fully decentralized so you are in control not anyone else, but in reality it is so much more.

manyversews.png

manyversegp.png

Manyverse is still in it's early stages, so I suggest to also check out Patchwork, the main desktop app for SSB available for Linux, Windows and macOS.

patchwork.png

SSB is a protocol for decentralized applications with a builtin social graph. The name might seem a bit weird at first (and butt jokes can be easily found throughout the community), but Scuttlebutt is naval slang for gossip and that makes sense because SSB is a so called gossip protocal, an offline first decentral network where you write your data onto your own local device and then send it out to other people whenever you happen to see them, either locally over WiFi, or remotely via the internet.

This means that you can use apps developed for SSB even when your internet connection is bad, you are offline, or you don't have internet access at all and just use local peer to peer WiFi connections when meeting up with people in real life. This also means that the network is "eventually consistent", you might see new messages appear live if you have a live connection to the person who wrote it, or it could take days, weeks or months to see it.

At the core, SSB works like a social network graph. You can follow people and they can follow you. When you follow someone, all of their messages and those of their friends are downloaded to your device, either via the internet or when you are near each other so you can connect directly via WiFi without the internet.

Imagine a hypothetical situation where a whole village uses SSB, but nobody in that village has internet. All citizens write their messages, and then once a week, a visitor from another village comes and downloads all the village's messages automatically as soon as he is in range. He goes back home and now his own village downloads all the messages from the other village from his device. All of this happened without ever using the internet. This is extremely useful in the event of a catastrophe where the internet might be down for a prolonged amount of time, or in areas of the world where there just isn't internet yet. Facebook won't work during a Zombie apocalypse, SSB will. Maybe a Zombie apocalypse isn't likely, but war and natural disasters happen all the time and can leave people without internet for long periods of time.

Even without exchaning messages, having all the data available locally can already be a great help. Maybe you saw someone posting a survival or first aid tutorial a few months ago that you could really use right now. No problem with SSB, the message and all the pictures that came with it will still be stored on your device and accessible without internet.

SSB has been in development for years and works really well, it's available for Windows, macOS, Linux and now Android. Quite a few applications have been built on top of SSB already. Social Networks (the well designed and easy to use Patchwork app, the easy to extend but a bit more aimed at tech savy people Patchbay app and now the mobile Manyverse app), a Github like system for sharing source code (git-ssb), a decentral repository for Node.js packages (ssb-npm), a blogging platform (Ticktack), a chat (scat), a multiplayer chess game, a book review platform, a music store (currently defunct) and many more experimental things.

It's all open source, there is an easy to use JavaScript API and tons of libraries programmers can make use of, so anyone can build apps on top of the protocol or addons for the Patchbay social network app which is specifically made to make that easy. There are also multiple simple projects that can be used as a template to create your own very easily, like an example Electron app with the SSB server included and set up. There is lots and lots of documentation available that is of quite high quality, with pictures and diagrams of how everything about the protocol works and even some screencasts and live coding videos.

Due to the way SSB works, it is a fully decentralized network as opposed to a federated system like Mastodon or E-Mail where everyone can make a server that people can join, but those servers are in full control over you and your data. With SSB, you are your own server, you are in control. People can decide to block you or mute you, but they make that decision for themselves not for thousands of users, you cannot be censored.

Anonymity is not built into SSB, but it's compatible with Tor if you need to hide your IP address.

The downside to fully decentralized networks, and SSB is no exception there, is that you have to download and store a lot of data, so when you initially start an SSB app and follow one of the more popular users on the network, SSB has to download Gigabytes of messages. You only download data from people you follow (and their friends, and those people's friends, you can configure how deep SSB should go, the default is 3 levels deep) so you don't have to download everything ever posted, but since the network only has a few hundred active users and everyone has some connection to everyone else, you do end up downloading pretty much everything at the moment.

Right now that means about 3 GB of data I believe and can take quite a few hours to sync. It's like downloading a blockchain for a crypto currency. There is not just text, also pictures, sound files, videos and other file blobs that only get downloaded when you try to view them since they can be quite big of course so you wouldn't want to download just everything there is at once.

Now, if you know a bit about decentralized networks you might ask yourself how this works at scale. How do you find other peers, other people to talk with when there are no central servers in the network that do federation. The answer is simple, anyone can become a so called "pub". A pub has no special rights, so it's not a "super seed", it's just a SSB user that automatically follows you back so you exchange messages with them. By following one or more of these pubs, you can easily find every SSB user and exchange messages with them, completely decentralized without anyone having more power than yourself.

The way it works is that you go to a website where you will see an inviation code, a cryptographic hash. You paste that code into your SSB app, for example Patchwork, and then you automatically follow the pub and the pub follows you back and starts sending you all the messages it has stored, from people who follow that pub. This way you can easily find new users to follow, just check out some of the channels (hashtags) in Patchwork that interest you so you can find likeminded people.

All in all, the things I described here make SSB one of the most advanced decentralized networks out there right now, easy enough to use for mainstream adoption because it has well designed graphical apps that can be started with a double click on Windows, macOS and even Linux thanks to the AppImage format which makes Linux software run on every distribution without installation, no command line wizardry needed. It is also one of if not the most resilient decentralized networks. It's fully decentral, works without the internet and it has both a Github and an decentralized node package registry for Node.js packages so even the further development of the network is theoretically safe from even a powerful government trying to shut it down. All of the documentation is available in the decentralized git-ssb and on Github, so if Github goes down, you can still access all of it.

I recommend checking out the Getting started guide guide for Patchwork for your first foray into the SSB network since Patchwork is mature, stable and very easy to use. Then when you know how everything works, install the Manyverse beta on your phone, then you won't have any issues. And again, the first sync when you just joined a pub can take a while because lots of messages have to be downloaded, so you need a little patience.

Scuttlebutt Links

Scuttlebutt Apps (Mac, Win, Linux)

Social Network

Blogging

Chat

Development

Other

Scuttlebutt Apps (Android)

Social Network

Manyverse


Many more apps can be found on the Scuttlebutt website here.


If you want to follow me on SSB, here is my public id: @pcWEoTxwHQGYRkI+vn1ac6EEW5C9uelPokfd8ARKaJE=.ed25519

Sort:  

Hi @crypticwyrm, I'm @checky ! While checking the mentions made in this post I noticed that @pcweotxwhqgyrki doesn't exist on Steem. Maybe you made a typo ?

If you found this comment useful, consider upvoting it to help keep this bot running. You can see a list of all available commands by replying with !help.

I suggest changing the bot so it doesn't try to parse mentions in Markdown sections marked as code, in this case code surrounded with backticks ;)

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64386.10
ETH 3142.17
USDT 1.00
SBD 3.98