Scuttlebutt

- Reading time: 15 minutes -

Foreword

Forever
free
No ads.
No pay wall.
No data centers.
No cloud. No cookies.
No company. No investors.
No token. No ICO. No blockchain.
No tracking. No spying. No analytics.
No tedious registration. No premium costs.
No annoying notifications, emails, and banners.

… aptly put.

General

A social network with messenger, which is designed to work offline, via WLAN, Bluetooth or even USB memory stick. Of course, this is not for instant messaging, as it is generally known - but it is interesting, if you have no internet access (on the ship, longer power/network failure, e.g. like during the flood). You don’t miss anything, because it synchronizes as soon as you have access again, or someone is on the same WLAN who had access.

For really critical communication (journalists, dissidents, whistleblowers, …) Briar is of course the better choice. Briar is similar - only the other one has to be online at the same time. Scuttlebutt, however, is offline capable and thus connection independent. This makes it especially exciting.

An opinion about SSB:
I understood the idea in such a way that one consciously goes online and afterwards turns off again - thus a Bierli with friends in the Pub, and then home. In the garden I can then read what has happened with the others. Closed groups may not be the primary use case for ‘social’ things. On the other hand, they are already very popular on Facebook. I would see Scuttlebutt more as a Twitter replacement and also find it a bit problematic that your social graph (who you are connected to) is visible.

Hybrid instead of pure P2P.

It was developed by someone who is sailing in New Zealand and there is simply no Internet there. In port, he synchronizes while he is busy. Then, when there is time again, they read and write - because pure P2P is simply impractical, since you can only send/receive messages when the other person is online. In the end, you just want hybrid models instead of pure P2P: Just like with the wireless holes and the “surfing pleasure” while traveling by train or when you are on vacation on the alpine pasture … that requires “hybrid”:

So: P2P if possible, server where necessary!

In the classic so-called “social” media, every fool can shout out what bothers him. And the algorithm flushes it into the timeline whenever you look in. “Freedom of Speech” is the name of the game. The Internet has become noisy - constant notifications, always and everywhere, constantly some garbage that upsets you.

Scuttlebutt gives you the “Freedom of Listening”.

At Scuttlebutt you can only participate if you are invited. Either to a “pub” (social gathering), a room (“room”) or directly from another person. You can block users from whom and with whom there will be no exchange of messages. And: You only get in touch with other users you trust.

Conceptual

As much as you might like the chat standard (XMPP), you are dependent on servers there again - even if it is your own. The disadvantage of server-based systems is that all content and messages stand and fall with the database of the provider: If this fails, everything is gone and that’s not thrilling.

Scuttlebutt is more than a messenger - it’s more like a social network, which XMPP can only do to a limited extent (Libervia and Movim are the first approaches there, which are also very exciting) and roughly comparable to a local Git repo, which is synchronized with others.

Scuttlebutt has pull notifications! This sounds strange in a world that supposedly doesn’t work without push notifications, because push notifications correspond to “freedom to speak “. Anyone can speak anytime, anywhere, and shout their spiel to the world. And everyone gets it. Constantly the smartphone rings or something jingles on the desktop … ah, new message - and you’re distracted again.

Pull notifications, on the other hand, correspond to the “freedom to listen “. Let everyone take out his garbage when and where he wants - but you yourself decide when you want to listen to it. And if.

An opinion on the active retrieval (“pull”) of messages using the example of telephony:_. Since the introduction of mobile telephony in my circle of friends/acquaintances, my fellow human beings suffer from the fact that I rarely pick up the phone. Sure, it doesn’t always make it easy. But since I have had a cell phone (for over 20 years), I’ve consistently continued to do it the way I did when I had a landline (without an answering machine, mind you! voicemail disabled). If I’m not at home, I can’t even hear you calling. If it’s really important, call again. And if I’m in the bathroom, I don’t pick up the phone. And I don’t like to talk on the phone on the train either, because it’s nobody’s business what I talk to you about. And I don’t pick up the phone in the supermarket either. The only thing I’m interested in is: Did someone call and who, and maybe when? Then I can call back, and get the info (pull) you had for me. Maybe that’s why I like Scuttlebutt so much. :)


Functionality

Basic

Public meeting places

There are public meeting places (“pubs”) - i.e. public in the sense that anyone can register/join (multiple times) without explicit invitation (with public invitation code). The system is indeed likeable and “cool” - especially the way of exchanging offline messages. You write on your device and if the internet connection is down, you can’t post anything or read anything new - neither on Facebook, nor on Mastodon, nor on Friendica. But by this conception one has at least the possibility to cultivate more closed communities.

The exchange between two devices is direct if both are in the same network, i.e. both are logged into the same WLAN or connected via Bluetooth. If you want to communicate via the worldwide network, you have to go to a so-called “pub” or room (“room”). Just like I can chat with my wife at home, but have to meet with my friend in the “pub”.

So you can enter public pubs that are quasi always online. These have an identifier, which contains the publicly reachable address (domain or IP+port) and the public key (public key) for encryption. To communicate with others, I need an invitation code with this information - so you can only get in by “invitation”. And you can only communicate directly with contacts who are also in this pub. You decide for yourself if and when you go to the pub, communicate there, and when you go home again.

It is also relatively easy to open your own pub and send your friends an invitation code for it. In this case you can decide who you let in - you have the right of the house.

Larger files like pictures, videos, audio files etc. can apparently be safely deleted from your own device to save space.

Rooms instead of pubs.

There are pub servers that keep the history of all users connected to them, and of course represent them on the Internet - as an alternative, there are also “room servers “ that enable exchanges with currently connected users over the Internet (and thus the matching of mutual friends), but do not keep any conversation/user data.

Replication range

The ingenious part of Scuttlebutt is the adjustable replication range: If a contact you are currently connected to has an updated message history of a mutual contact of ours, but who is currently not online, you can get their updates via our mutual friend. So one is indirectly kept up to date.

If a device is lost, broken or stolen, you only need your private secret key (that is the file ~/.ssb/secure) and transfer it to the new device. Then, for example, the Android app Manyverse retrieves your personal history from your friends (you are automatically authenticated with the secret key). So the backup (the “backup”) is friends you trust.

Since the entire history of all contacts is stored on one’s own mobile phone/laptop/PC, one should automatically also make sure to really only have contact with people whom one 1. trusts and who 2. are really worth keeping in touch with. With the replication range you can set how many connections you use to download messages (and thus how much data). Nevertheless you can only read what is intended for you.

Your scuttlebutt app is interested in the people you follow, and the people they follow (2 hops out). It won’t show those more distant people to you in most screens of the app, but it will try to download their posts in case you try to look at them.

Source: https://scuttlebutt.nz/docs/introduction/detailed-start/

Blocking

Now, if someone misbehaves, you can block them. If many people do this, the person is then lonely pretty quickly. In order for them to be able to join in again, they would have to get themselves a new (Scuttlebutt) identity - but since you are usually only invited if someone trusts you, trust is also quickly lost for a re-entry. This is quite different from Facebook or Twitter, where anyone can register many times, annoy others or spread untruths.

Blocking a user therefore means that he or she has one less access to the community. If a user is blocked by many, he is eventually cut off - and alone. That and the fact that you will keep your own community small because of the storage space on your smartphone will probably automatically lead to the fact that the ungood, douchebags, agitators, hate spreaders, trolls, etc. won’t feel comfortable in the community for long. Or remain alone in their own segregated hater community, unable to prosecute the rest. This could possibly “solve” the “troll problem” in public forums for the first time …

Difference to Movim

With Movim, you have an account with a provider where you can store your own entries (“postings”) on a public service that others subscribe to. So you choose a Movim pod where you want to maintain your social network. No matter which pod you are on, you always have your own posts with you - but not those of others.

Yes the Movim architecture is confusing: A “pod” is a Movim instance, PHP code running on a web server. This PHP code is a pure XMPP chat client, so the interaction is “cross-pod” just like any other XMPP communication is “cross-client”.

So the main difference is that with Movim(XMPP) you have a chat account with a provider and with Scuttlebut you are totally independent from any provider.


Usage details

Again on replication range:

‘Connections’ will show a handful of pubs that are friends with scuttlebutt.com. In the ‘Public Area’, all (public) posts should show up from all other users who are/were connected to the pubs you are currently syncing with. Set the ‘depth’ of acquaintances displayed in the settings. It is preset to “2”. That means you can see your own friends (better: direct contacts) with whom you are actively friends and their friends with whom they are friends. The higher the number, the more you see. So if you have a pub with 1.200 people, you should have at least 1.200 people synchronized and get their updates.

Clients

There are several clients. On Android there is “Manyverse”; the desktop clients “Patchwork” and “Patchbay”, for example, have an even greater range of functions. On the desktop computer, it doesn’t matter whether you use Patchwork or Patchbay - both access the same database. Beginner friendly or function monster? -> Just have a look here and then test it: https://scuttlebutt.nz/get-started/ (external)

Identifier/ID

The identifier is the public key of an ed25519 key pair…: @xlJXm+xuEcf8EDH0rBajDnFrTWR+xMdrT+x5JBAaXAD/U8k=.ed25519

Each device has its own identifier. If you use the secret key on several devices at the same time, the other devices will be blocked automatically, which you don’t want. That’s why it’s a good idea to distinguish them into e.g. ““myname :pc:” and “myname :mobile:“.

Rooms

Rooms can be created by simply writing a hashtag.
Innovations (“Rooms 2.0”): https://m.youtube.com/watch?v=W5p0y_MWwDE (external)

Special knowledge

Also interesting about Scuttlebutt is the connection to Git:


Advantages

  • Complete independence from providers. So not only in the sense that you can communicate (as with Mastodon or XMPP) with users (and the software) of other providers. But also in the sense that the account (better the device for access) is not bound to a provider
  • Easy move to new/different devices, because of distributed “backup” for contacts
  • Specialization on offline functionality

Disadvantages

  • Initially you have to download very large amounts of data (depending on replication depth several GB!)
  • Maximum 7 participants in “closed groups” which corresponds to direct messages to multiple (max. 7) recipients. (is this description correct?)
  • Not multi-device capable. True multi-device capability without vendor dependency (without authoritative server instance to manage the data) is certainly not easy either
  • High battery consumption. Because of the synchronization over several layers Manyverse uses more battery than Briar
  • A lot of memory (keeping as much data as possible locally maximizes the chance that offline usage works)
  • But it does have technical aspects that may be seen negatively like “ad-hoc JSON spec, Node.js server, …

Questions

  • How many resources does it need to work well?
  • Somehow there seems to be a “basic account” on a server … ?

Conclusion

**Scuttlebut doesn’t seem to be suitable for the masses (yet) - but with an own pub/room-server very well suitable for families and also for real friends!


Informations

Project page: https://scuttlebutt.nz (external) Wiki: https://github.com/ssbc/ssb-server/wiki/#ssbrooms (external)
Manyverse client: https://www.manyver.se (external)
Infos about Manyverse: https://gitlab.com/staltz/manyverse/-/wikis/roadmap (external)
Developer of Maniverse: https://staltz.com (external)

SSB Logo