August 2019 update

Published on August 5, 2019 by Andre Staltz

A social network off the grid

Dear backers, thank you for your donations to this project, I'm glad to report that July was a quite productive month! I put in 116 hours of work and fixed a lot of issues in the app. Last month, I put out two releases that improved the app, mostly related to establishing network connections:

  • Improved the look and feel of the connections tab v0.1907.16
  • Fixed some crashes related to Wi-Fi networks v0.1907.16
  • Improved privacy of peer discovery in Wi-Fi networks v0.1907.26
  • Fixed profile picture edits, and internet P2P connections v0.1907.26

Many of you have reported crash reports, and I'm happy to say they were very useful to identify the source of the crashes. Thank you for hitting 'Send'! It turned out that in many Wi-Fi networks, the phones were receiving an IPv6 address, and a core module in the SSB stack wasn't handling them correctly, so I fixed it with a pull request to multiserver. This fixes Manyverse, but also any other SSB app based on Node.js.

Also related to the wider SSB ecosystem, I pioneered a rewrite of the module that discovers other peers in the same local area network, ssb-lan. This rewrite broadcasts encrypted UDP packets, for better privacy and security. This means that in case an SSB app uses an alternative "network identifier" meant for private communication, other apps won't understand know how to interact with it unless they possess the same network identifier.

All of these changes related to connections were made much easier by SSB CONN, which now has a well written Readme. However, I spent most of my time last month working on the new server type, which I have mentioned in previous newsletters too. It's coming along really well, in fact it is basically ready and working in a development version of Manyverse. I'm now fixing corner cases here and there, and finishing the UI in Manyverse to support these new servers.

Some of you have contacted me to test out the new server type when it's available, and I think we could have more testing volunteers, so if you're interested, send me an email. A next version of Manyverse will support these servers under the hood, and I will send instructions to volunteers on how to unlock connections for the new server type. The reason for this is that in case we find important problems with this approach, it's easier to deprecate. Decentralized software development is hard because you often cannot "undeploy", so it's wise to plan carefully. Part of this work is also helping other SSB apps (such as Patchbay) update to SSB CONN, so that once the new server type is ready, it works not just in Manyverse, but in other apps too.

Last month, Dominic Tarr visited me in Helsinki, and we had a great time! We discussed topics both technical and philosophical. Dominic helped me out with some of the issues I wrote above, about ssb-lan and the new server type. Below is a picture of us sailing on a rented boat for one day, along with Teemu Paivinen too (from left to right: Teemu, Dominic, and Andre):

Two more small news before I finish: you can read these newsletters now also on our website's blog, and Scuttlebutt / Manyverse were mentioned in this article as alternative technologies to centralized platforms.

Have a great August, and see you soon!

– @andrestaltz