Changelog Interviews – Episode #346
Off the grid social networking with Manyverse
featuring André Staltz
We’re talking with Andre Staltz, creator of Manyverse — a social network off the grid. It’s open source and free in every sense of the word. We talked through the backstory, how a user’s network gets formed, how data is stored and shared, why off-grid is so important to Andre, and what type of user uses an “off-the-grid” social network.
Featuring
Sponsors
DigitalOcean – Check out DigitalOcean’s dedicated vCPU Droplets with dedicated vCPU threads. Get started for free with a $50 credit. Learn more at do.co/changelog.
GoCD + Kubernetes – With GoCD running on Kubernetes, you define your build workflow and let GoCD provision and scale build infrastructure on the fly. GoCD installs as a Kubernetes native application. Scale your build infrastructure elastically. Learn more at gocd.org/kubernetes
GitPrime – Download GitPrime’s 20 Patterns book, a field guide to help engineering managers recognize achievement, spot bottlenecks, and debug development processes with data.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Notes & Links
- Manyverse - A social network off the grid. Scuttlebutt for mobile.
- Manyverse roadmap
- Early days in the Manyverse
- Manyverse bluetooth sync
- Scuttlebutt.nz
- Manyverse on Open Collective
- Cycle.js - A functional and reactive JavaScript framework for predictable code
- The Changelog #326: The insider perspective on the event-stream compromise with Dominic Tarr
- License Zero - gainful open software development
Transcript
Play the audio to listen along while you enjoy the transcript. 🎧
A listener of the show, Yuri Oliviera, was listening to our episode on Mastodon, and said he would love to hear one about Manyverse, with André Staltz; and P.S, his birthday is this month. Now, that was April, so Yuri, happy belated birthday… And we were very happy to oblige. After the show with Dominic Tarr, where we mentioned Scuttlebutt, I said “We’ve gotta get a show about this soon.” André, you’re a natural fellow to talk about it, so thanks so much for joining us.
Thanks for inviting me. It’s really nice to be here.
Should we actually sing happy birthday, or should we just let that go by?
Let’s not sing it…
Let’s not do that… [laughter]
Hard pass, I’ll have to say it. Happy birthday, Yuri.
Happy birthday.
We hope you enjoy this show. André, on your homepage it says you’re an open source freelancer. That caught Adam’s eye, it caught my eye a little bit… Not too many people call themselves that. Is that a special designation that you have for yourself, or you just couldn’t think of something to say?
It’s actually quite hard to find a title for what I do, and I didn’t wanna use very esoteric titles that just make people even more confused. I just tried to use terms that people use. Freelancers - you usually think of them as self-employed people who do contract work, and then they do it from home. I am a person who’s self-employed, and I do work from home, but mostly what I do is open source.
For instance, my sources of revenue are open source donations, so I run a Cycle.js Open Collective. Cycle.js is a framework for JavaScript, and it has donations sometimes from backers, sometimes from companies. I do a little bit of development on that, and I get donations.
Then there’s the Manyverse Open Collective; I’m sure we’re gonna talk about Manyverse. And that’s been also receiving donations. Then donations in total don’t give me a living, so I also do workshops to teach programming libraries, and stuff like that. Those workshops give me income. Also, online training through different kinds of teaching portals. All of these things - the common theme is always some kind of open source, so I think the title is quite okay…
Yeah, it works.
You’re primarily trying to do open source, but you’re also a freelancer in the open source world. Does that mean you actually take on some client work, too?
[04:01] Yeah, I’ve done that. I think last year I did it twice, if I’m not mistaken… But it’s been client needs - specific bug-fixing where they need specifically me, because it’s a unique case. The other case was they wanted to get some projects started, and they wanted to have a nice project template, a nice documentation set up… So I basically was helping kickstart the project.
I do these things maximum one month or two months. I try to not take very long projects, because then it’s, of course, time away from all these other things. And honestly, I try to make a small enough income so that – like, I could try to maximize for money and buying stuff, but I try to just maximize for my savings, so that I can have enough time to work on these open source things that don’t give money or revenue or anything like that.
Absolutely. It sounds like you have other interests. One of those interest is, as I mentioned before, Scuttlebutt; you “scuttlebutt solarpunk” on your Twitter bio, and Manyverse is a – do you call it a Scuttlebutt client? We’re gonna get into all of the nitty-gritty here…
Yeah, absolutely. It’s a Scuttlebutt client. Some people like to talk about Scuttlebutt as a place, a social media platform, but I really think it’s like a protocol. Just as you have email as a protocol, then of course you need some kind of email app. It used to be Thunderbird, but of course now we have web apps… There’s so many other protocols out there, and Scuttlebutt is one protocol, and you need, of course, apps to make it work.
I love the way that you described Manyverse on the homepage, when you say “Free forever.” You have this pyramid or triangle of things that it doesn’t have, which is a very interesting way of pitching something. “No ads. No paywall. No data centers. No cloud. No cookies. No company. No investors. No token. No ICO.” I’ll run out of breath saying all the things this doesn’t have. I think it gets more interesting… “No tracking. No spying. No analytics.”
No blockchain.
A real minimalism pitch here, and definitely setting apart from the big corporate social networks that we’re all using on a day-to-day basis.
Yeah. Often when people read these things, decentralized or something, there’s some kind of catch in it, like you need to have the tokens in order to buy views to your content, and then that token you actually end up buying it from the company that’s running the thing, and then you’re like “Oh, now I see what’s the deal here.”
And of course, making money out of the thing is sometimes fundamental for sustainability. I’m not saying that I don’t make money whatsoever, because obviously there’s a Donate page, and there’s obviously people helping this project with donations…
So if we wanna go deep into why all of this free stuff - I’ve been sharing a sort of theory with some people that… I still wanna share this as a blog post, but we can do this as a podcast as well.
Yes!
Let’s do it.
I believe that open source is the next frontier for disruption in software. And when you look at the big disruptions that happened in software in the recent decades - for instance, we had at some point Microsoft being the dominant player, and they sold software; they sold Windows, or they sold Microsoft Office literally in a box that you would buy physically. That would cost you something like $400 per edition. In 2003 there was a Microsoft Office, and that cost $400 a box. Then the next version was 2007. So that’s like $400 for four years, so it’s essentially $100 per year.
[08:04] The thing that came after that, that disrupted all of this, was of course the internet and the web, and that growing so much. Then came players like Google, and other SaaS players; I don’t necessarily mention just – you know, let’s imagine like Dropbox, or Spotify, or Facebook, all these other things… Those sold software, in a sense, where they gave software, now not in a box; so you have the benefits of not having all of those logistic problems, right? And essentially, the revenue that they get per user, per year, is something around $10 per year, or $20, or something like that.
The first bit, if you’re paying subscriptions, let’s say Netflix or Spotify, then you might end up actually paying $100 per year, which is still kind of the same level as what Microsoft had, because – it’s kind of crazy when you think about it, that people are willing to pay $9 per month, but when you put it as in, “Are you willing to pay $400 every four years?”, then it’s kind of scarier… But it’s kind of the same thing.
Plus you don’t have to necessarily upgrade that old Office version. You can buy it and just say, “I don’t need 2007. I’m gonna run this for ten years”, and it might still work ten years later.
Yeah. But I think my point here is that we went from software as a product, or software as a boxed product, in a box, to software as an advertisement-sustained service. And that big shift happened with a 10x reduction in price for users.
A lot of people use Google Docs today, which is exactly the use case for Microsoft Office.
Right.
So there is a big benefit here for users that, “Of course, I pay much less.” And that’s actually the real reason why people are so interested in Google, is that, “It’s free.” From their perspective, it’s free. And then, of course, when I say that it costs $10 per user per year, people are paying that still; not in the form of dollars, but in the form of privacy, because obviously, Google is getting that money because users exist. So people are paying still something, but with their privacy. And not everybody is comfortable paying that.
So I think that in order to disrupt that, you have to be ten times cheaper… So you really need to reduce that cost of going from $10 per user per year to something like $1 per user per year, and you need to do that in a way that they don’t need to pay with their privacy -So how are you gonna do that?
I actually did the calculations, and what I receive now for Manyverse through donations - out of thousands of users, there’s 53 backers. So it’s something like one out of one hundred users becomes a backer. Those backers donate approximately $5 or $6 per month. If you do the math carefully, it’s roughly meaning that each user represents through some backer $1 per year. So you kind of reach that 10x reduction, but it has to be through the value proposition that you don’t have to pay anymore through your privacy.
These things are actually sustainable in the sense that if you have 10x less revenue, well then it means that all your costs should be like 10x smaller, 20x smaller. You can do that with a smaller team of developers, of course. You’re not gonna have hundreds or thousands, you’re gonna have dozens maybe, at scale. It also means that you shouldn’t have costs such as infrastructure, like servers… So those things are also consistent with the Manyverse situation that we don’t have servers running, we don’t have that kind of cost, and we just have developers - basically just me now - and it’s still not sustainable. I don’t have that kind of sustainability to have myself funded, and I’m the only developer so far…
[12:12] But the point is that at scale, these things are sustainable; if there’s $1 per user per year, then you do the math and with a million users you’re probably gonna have some kind of yearly millionaire revenue, which means like a team of a dozen people, or something like that. The case for scale becomes even more important once you’re going down with these costs. I think that’s the big gist of it.
It’s not a business because donations don’t have that kind of return on investment (you don’t have investors), and I think that’s the real key to the problem - donation-driven software, if it would be investment-driven, it would actually be much bigger, because investors would make it big. But that’s not the case.
Yeah. It would be interesting to go beyond Manyverse, and maybe go out to other Open Collectives, and see if you can do that same math on the number of users versus the number of dollars per capita, and see if you still get to that one out of a hundred, basically.
I do have a hint that that’s kind of what’s happening. If you look at bigger Open Collectives, there’s Babel and Webpack, and those have – Webpack has something like 100k right now in their Open Collective, and Babel has something around the same scale.
I do believe that last time I calculated, Cycle.js, which is my framework, is a couple thousand times smaller than Babel, for instance, in terms of npm downloads.
Right.
It takes a certain kind of person though to forego, as you said before, some – or to have your outlook on life in terms of income. Some people wanna maximize income, and it seems like you’ve got some personal – I don’t wanna say they’re morals, but just direction in life that makes it easier for you to forego income and gain other things in relation to that… Because some people might wanna maximize.
Or maybe not easier, but more important.
Yeah, exactly. Your priority, your level of importance, is strive towards this way of life, whereas somebody else may not be that way.
You’re talking about way of life as in not having privacy violations, or privacy costs?
Maximizing for income, and the way you’ve been able to situate your income flow, I suppose. You know, the fact that we’re talking about open source software as it relates to donations, and being able to be an open source freelancer like you are, creating open source backed by a community.
Yeah. Obviously, I am not driven by maximizing money, because otherwise I’d be doing different things, because it’s much easier to do it in other things… And also, I’m not living in countries where I would need to maximize my income. For instance, I’m from Brazil and I know that there you really need to find your own way, because there’s not this kind of welfare state which is in Finland, and I also know that United States is roughly the same… You have to actually look for a lot of money, because that’s how life is.
So I do think that it helps that even if I don’t try to maximize money, I’m still gonna have public healthcare, I’m gonna be fine. I think that kind of safety really plays a big role in what I’m doing.
And then you start thinking, “Okay, what is actually meaningful in life?” and then I see all these problems out there, and I see like “Well, I could just sit down and program this kind of stuff, and maybe that would be helpful for people.”
That’s a little bit why I’m doing this, but… What I was trying to say before is that I do think that there’s a big potential in a new wave of software, that is 10x cheaper. This is still an early exploration of ideas, but I think that it doesn’t need to be necessarily MIT-licensed. There’s different experiments in licenses with open source, or barely open source, or debatably open source… One of them is called License Zero. Have you heard of that?
[16:15] Yup.
License Zero is essentially that, you know, depending if you’re a business or not – if you’re an individual, then you’re gonna have a license that you can use the software forever, free and open source; but if you’re a business, you have to buy a license. So it’s kind of like a business, even though the code is always open. I think that’s very interesting. I think there should be a lot more experiments in licenses.
Something like community donations or open source donations - it’s essentially like out of 100 users, one of them will pay, voluntarily. That means that essentially those 100 people are abstractly sort of getting together and paying it collectively. That’s not what they do as an actual dynamics, but from your perspective, if you reach thousands, then those thousands will pay you back.
I think there’s a potential of all kinds of creative licenses here. I’m not implying something specific, I’m just implying a big field of innovation that could happen in licenses. You could do something like, for instance, in your city - people in this city are not allowed to use this software unless the city buys a license for that software, and then everybody in that city could use that software. So then you have incentives for the city to get together and sort of chip in out of their public income, the government will pay for this license, so people in that city can have that software. The alternative would be, “Well, you can still use it, but it would be illegal.”
This kind of things worked, for instance, with Sublime Text, the IDE. You could use it for free, but it would just nag you all the time then. You’re actually not paying, right? And it sort of works, when at scale. That’s the key - at scale, enough people are gonna understand that “Okay, what I’m doing is wrong. I should actually pay for this.” Then they pay, and then it’s actually a business.
Right. It’s interesting, because there’s parallels there with the startup world, where you have a founder, an entrepreneur who’s willing to forego – like, they could make more money getting a 9-to-5; they’re willing to forego that, because when they are successful at scale, there’s a much larger financial upside in that case. And it seems like what you’re saying here is these new-style, not just social networks, but potentially all sorts of software, where you’re providing it in this way to communities, and a subset of that community is going to represent them financially - in the small it’s not really going to work out for an individual, or especially a team, but at scale it starts to make more sense. Maybe it’s not at the same levels as a for-profit business, but it’s sustainable.
Yeah. It’s sustainable, and I think the difficulties with becoming sustainable are mostly related to initial capital, and that kind of stuff… Because of course, a typical software as a service startup that has no investors - they will have a very hard time. They will have a hard time. So it’s the same case with donation-driven open source software; they just have a hard time similarly, because of this lack of investment. But these are things that we can solve in different ways; maybe legally, maybe in other ways… But what I’m trying to also point towards is that once you build something open source, or once you build something from this next wave of software, then you won’t go back to the previous one.
[19:58] For instance, once you’re using Google Docs and you’re sharing your basic documents with your friends and you’re not actually paying physical dollars, you’re not gonna go back to Microsoft Office and pay $100 per year for a box; you’re not gonna do that. I think that an obvious next step is also happening gradually, with open source. For instance, a lot of people use the VLC (VideoLAN) Media Player, and that’s open source. And you’re not gonna go back to paying a similar proprietary software for that. So I think the situation is that once you build something open source and high-quality, which has finances, it has funds, and it can maintain itself constantly, you basically win.
It’s disruptive, yeah.
I mean, that’s it. It’s disruptive. So I think that is probably going to happen in many cases. It’s very difficult, but given enough people try, and enough different countries and life situations and whatever, at some point we’re gonna start open sourcing all these different kind of use cases. For instance, Mastodon is a very interesting success case, because the main developer, as far as I understand, is full-time funded to do it, and it has this wave going on… So it could be the case that maybe ten years from now no one’s gonna go back to Twitter, because obviously, there’s this thing Mastodon. It could be, I’m not necessarily implying that – I’m just saying that there is a tendency that once you make something even cheaper, like you don’t need to pay in privacy, or whatever, then you’re not gonna go back to the previous thing.
I think there is an education – I don’t know, not roadblock, but… There’s education that has to happen, because for many people the Google Docs version of the software is free. People don’t value their privacy in dollar terms. They just don’t value it. I think we’re getting to where we’re having enough friction with corporations running these free services, especially with Twitter and Facebook, when you have all sorts of situations going there, with free speech situations, of course privacy, with all sorts of hacks happening and whatnot - people are starting to see the blowback of that, but I think a lot of people think that stuff already is free, so that 10x cost reduction requires a lot of education for them to realize “No, this isn’t free. You think it’s free, but it’s not free. Here’s something that is actually free.”
Yeah.
And I think that might take a while to ramp up.
And on the flipside of that too, here’s something that is actually free, but is it really…? It’s the subtext, the behind-the-scenes thoughts that someone’s thinking. It’s like, “Sure, I trusted Facebook, or Twitter. Could I also trust Manyverse?” or something like that. They’re gonna always think “But is it really?”
Yeah. Well, on the privacy note, on one hand I do agree with you; a lot of people don’t seem to value their privacy. On the other hand, if they wouldn’t actually value their privacy, then Facebook would not have changed their mission to be privacy-centered, and Google would not have done that as well, like with the recent Google I/O.
Yeah.
I don’t know if I agree with that though, because there’s so many people that continue to use Facebook, that I talk to, and I’m like “You realize they’re selling your data, right?”. “Yeah, I don’t care.” I think the reason why you see this change is because there’s so much media around the change. The fact that Zuckerberg went to Congress, and was briefed, and all that good stuff; that’s probably why those changes are happening, not because users are like “Hey, I want my privacy.” It’s a small subset that’s asking for it. Not many demanding it by leaving in droves.
[23:45] But the people who are aware and loud and consistently talking about these things tend to be the influencers who will move the general public over time. It’s just that you kind of have that wave of adoption even, where you have the early adopters, and then here comes the masses. Well, the masses don’t care. They care, but not like the early adopters do. They just kind of follow behind… So I agree with André that there are things that we’re seeing which are indicating that privacy is becoming and will continue to become something that people care about more…
That it matters.
We just think that we’ve had free lunch for the last 10-15 years, and we haven’t.
Yeah. These things also take a long time. For instance, Microsoft was quite dominant for a long time. They didn’t change their message for a very long time, and after a while they did. And you know, on one hand I really do agree that people don’t actually value privacy, and I don’t think that I should engage in that much education, in the sense that – these people know those things already, they’re already educated; they just choose to not care.
The thing with privacy is that it’s not a thing in itself; it’s when the lack of privacy expresses itself in other ways, then you start actually caring. Like if my passwords got stolen, or my company details were abused, or I’m seeing ads about this thing that I really, really don’t want anyone to know… When everybody’s privacy is violated, then the person abusing the privacy - they are in a unique position to have more power.
We could arguably say that Zuckerberg is already the president of the world, and then you have all kinds of other – Western societies, Europe and United States, they’re sort of asking Zuckerberg to be accountable for their politics, which is a crazy idea. So it’s not anymore privacy, it’s about politics.
Yeah, it is.
I don’t think privacy in itself is a compelling thing. It’s more like if you don’t have it, it expresses itself as a problem in other ways. But I’m still not that strong on defending privacy. I don’t think that’s my thing. And that might sound a little bit inconsistent… But the thing that I’m really looking for with Manyverse, which confuses people quite often, or just makes them wonder, is the focus on off-grid. That to me is the biggest thing. I’m not building a social network that’s more private, I’m building a social network that’s off the grid.
So why is off-grid so important to you?
Off-grid is a strategy to get somewhere. Basically, the internet and how it works is kind of broken; it’s not the best of what it should be. When they created the internet, of course, they had this idea to allow computers to talk to each other in an end-to-end fashion. Then they didn’t have enough IP addresses, and for security reasons they also wanted to have a bridge layer between a local area network and the whole internet, so they created this thing call NAT, which does address translation; that means that you can share an IP address with many other computers.
It turns out that it would be very nice if the internet would have one unique IP address for each computer, that doesn’t change no matter where you are, because then it could work like phone numbers. Of course, you can just call people with phone numbers; that’s really easy… We don’t have that for the internet, which is mind-blowingly weird. It’s sad. And it actually turns out that we can’t build a lot of applications because of that, so we turn to centralized services that give us something like that.
Let’s say your username on Twitter is essentially like a phone number…
A look-up, yeah.
It’s like a combination of letters that doesn’t change, and you can always reach that person with that thing… So we reached out to those platforms, so they can give us that capability. And IPv6 came along and we’re trying to fix the internet, but I don’t think we’re gonna get that… So how does off-grid fit into all this? Essentially, we need to put back most of these network capabilities, or sort of like – the end-to-end principle means that all of the important software is actually in the endpoints, so it’s actually on the end devices and the end software. By doing that, we can sort of start building a new internet… But it starts with the applications.
One of the things that they’ve tried to do many times is sort of like “Okay, let’s make a new protocol for the internet, and then after that let’s just hope that everybody builds apps and uses it.” And that hasn’t worked. There’s a couple protocols, I think; one of them that I read was – I can’t remember the name, I’m sorry… But there’s these sort of very alternative architectures for the internet. But if you build something that works entirely on the app, on the end device, then you can start building different transport layers. So you can use the old internet, the current internet as we know it to transfer data - in quirky ways, but you can get it done - or you can use different protocols… Let’s say Bluetooth to transfer data from A to B. And Bluetooth is not necessarily the internet; it’s just one type of transport that works from device to device. You can also use local area networking.
All of these things are not that compelling for people in developed nations, such as United States and America, because we have internet most of the time or all of the time…
Right.
But there’s actually a lot of people who don’t have that, and it’s in the number of billions. These people are just waiting to have good internet connections, so they can use these apps. So there’s a compelling case for those people if they would have an app that looks like what we have today, but doesn’t require internet connection; then they can use Bluetooth, they can use Wi-Fi to replace the use case for the internet.
Of course it’s more quirky, but the point is that if you can get that use case of, let’s say, social networking, and you can make it self-sufficient in the end user device and in the app, then you can have the internet connection as like an optional thing. If you have it, it’s great, you can use it, but then you can have alternative sort of other transports. You can have the new internet, you can have Bluetooth… And in this way you can sort of start to transfer this use case from the old internet to the new internet in a very gradual way. So you can still support both the old internet and the new internet.
[32:11] All of this is tied to sort of reaching the under-connected world, because they actually have a big potential to start using the social networking app, while in the developed world we don’t actually have a big desire to switch. Switching is actually the very difficult thing.
Right.
I actually don’t have hope that people would switch on the basis of privacy. I really don’t have any hope that people would do that. But I do have a big hope that people will start using something that they’ve always wanted to use, but they haven’t had internet. So then we’re talking actually about millions of people in Africa, in the Amazon rainforest in Brazil, for instance, that would really be interested in using this. Then you have a very fast growth vector. This thing could grow and become big at scale, and then we’re talking about an alternative internet maybe growing there.
That’s the big plan with off-grid. It has to work without the internet, so that we can support alternative internets. That’s essentially it in a nutshell.
Gotcha. So admittedly, Adam and I are in the highly on-grid bubble, because when we talk about this, we’re like “Those seem like cool ideas”, but it’s not super-compelling to us because it’s like “Well, I’m always online…” So offline-first or off-grid – we’re just in that bubble where we don’t know what that life is like… So it’s definitely interesting to hear. I mean, I only go offline if I’m in a subway or in an airplane, and they’re fixing those problems… I don’t know with the subways, but they’re fixing the airplane problem. But obviously, there’s millions–
Yeah, the Wi-Fis in the airplanes.
Yeah, exactly. There’s millions of people who aren’t in this circumstance. And like you said, they aren’t going to switch; they’re going to finally use something they’ve wanted to, but they haven’t been able to because of their lack of connection or unreliable connection… So it’s very interesting.
Is the alternate internets more interesting to a developer like you making it, or to the end user? Because I think most people are blind to what the internet really is, and how data gets to their phone. For example, I connected a couple of devices that I have here locally that are just Bluetooth, but I get that, and general users may not really understand or care…
Well, obviously, most of the people don’t understand how things work… But the more you know how things work, the more you know the potential for a mis-user, or corruption, or things like that. I think that the more we build our society on these technologies, the more we’re allowing very dystopian use cases to come up. And maybe not in 10-20 years… Maybe actually Zuckerberg might be still a nice enough guy, but what if when he dies someone horrible comes along?
In U.S.A. you had pretty okay presidents, but now you have this – I don’t know, this dude… And that’s the point - at some point these technologies that we’re using might go into the hands of people that we really don’t trust and really don’t want to touch it. And if the entire society is doing that, then I think they’re gonna be surprised in a very negative way.
Having the new internet is also sort of like a political thing; I don’t know what you call it… But I think there’s a lot of aspects to it that are quite tangible. For instance, people use a decentralized way with photos already; when they take a picture, it’s always local, and it’s in your Gallery app, and then you can share it however way you want… So it gives a sense to people that “Of course, this is my picture. If I don’t post it anywhere, it won’t reach anywhere. I can choose who I share it with.”
[36:11] I think that metaphor or that use case is quite – obviously, people can do that with photos, but they can’t do it with text, which is really weird. I mean, why can you do something with the richer media, but you can’t do it with text? Well, you could take a picture of text, but the point is that it’s not that common to have textual content or messages shared in this fashion. And I think people would understand it if they would just compare it with the use case that they use now, with pictures.
So there’s a lot of arguments that the internet – and then of course, from a developer’s perspective, you can also see a lot of new use cases that you can build with this kind of decentralized stuff that you can build today with the current internet. I’m just trying to come up with some ideas here, but… Yeah, I can’t find one right now.
This is built on top of Scuttlebutt, right? So you’ve got this underlying protocol, this is a client… How does the network form? You talked about a world where phone numbers and IP addresses could be unique to a device… Talk about how the network actually develops. Is it one giant network, and you incrementally add people to yourself? Just describe that for me; I’m kind of lost on how this network actually is formed.
Scuttlebutt is a local database, where you increment your database with new content that you post… And then the question of how to share that data with others is, you know, you form networks; they could either be ephemeral networks - let’s say if you join some Wi-Fi, and that Wi-Fi has other devices connected to it, then you can exchange data with those other devices… But that is a connection that’s ephemeral, because you’re not always connected to that Wi-Fi, and those other devices are not always there. But that’s one legitimate way of sharing data in Scuttlebutt - with these ephemeral connections.
The less ephemeral ones are through the internet, and we use intermediate servers called pubs. A lot of people think that pubs are very central to Scuttlebutt; I don’t believe in that, because I’m also devising some other forms of servers… But it’s just enough to know that pubs are just one way how you can exchange data between Alice and Bob. The way that it works is sort of like a pub is mirroring your data, and it’s also mirroring Bob’s and Alice’s data… So it’s sort of like a hub that replicates what all these devices have.
And then once you connect to that pub, you will get the most recent data from all of those users. It doesn’t need to be a massive amount of users; it could just be a couple friends that share one pub, and they post constantly on there.
Then you could have a constellation of many pubs, and depending on who you connect to, you’re gonna get their updates… But the important thing is that if a pub goes down, then no data is lost, because it was just mirroring what everybody had. So you connect to another pub, that gives you a path to your other friends, and then you can get the data from that other server.
So it’s not a network that is made permanent. It’s a network that depends on who you want to connect to. The core idea in Scuttlebutt is that you define who are the people that you’re interested in, or that are your friends, and then you can get data from them through whatever means are possible, such as ephemeral connections, or pubs.
[39:54] There’s also new ways… I’m building one of these through a distributed hash table. A distributed hash table is what BitTorrent uses, and what Dat uses. It’s essentially like a big look-up that is spread around multiple computers, and they just bounce the request back and forth until it reaches the right destination. You could also get updates from your friend through a distributed hash table.
It’s really about choosing who you want to connect to, and then getting their updates through whatever means work, essentially.
Let’s say that I want to connect with you. All I know is André is a cool guy, I like to Scuttlebutt with him - or what do you guys call it? You Manyverse…? I like to just hang out with him on this thing.
Yeah.
Where do I start? What do I do? Do I have to have your name, do I need a device ID? Do I go to a pub? What does it look like for a user?
The use case for Scuttlebutt is to connect friends with friends, so it’s not so well-suited for connecting strangers through friends… For instance, on Twitter you can look up a person and follow them. As an email, you could just toss an email to a random strangers; these things work.
Right.
The downside of those is that you can also get messages from people you really don’t want to get messages from. In a decentralized system, without moderation, you can get actually very undesired messages. Essentially, email spam is very, very undesired messages.
Yes.
Scuttlebutt sort of shields you from that by only focusing on friends that you have opt-in. Essentially, your friends and your friends of friends. You sort of opt-in to semi-strangers, which are friends that are friends with yours, and those are allowed to send messages to you. But that said, it’s also technically possible to build a way where users could get my messages, even if they’re complete strangers.
One of the things I experimented with recently was I built a type of server that mirrors only my data, no one else’s data. And then you could just literally go to that server and request an invite code, and the server would always give you an invite code, no matter who you are, and then you would get my data. It’s essentially like an RSS feed, and it’s set up right now, as we speak; the server is there. If I would give you the address, or if you would know the address by yourself, then you could get my data, and that’s it. But the downside is that I would not get your data, which means that I would not see your comments. I would just broadcast messages, but I wouldn’t get yours… Unless I would literally opt-in to get your data. So Scuttlebutt is really not suited for getting messages from strangers, such as email. But it’s also the same mechanics that sort of shields you from these stranger interactions.
When you think about someone who’s really famous on Twitter, their mentions are probably a nightmare. How could even filter that thing? It doesn’t even have a spam filter, or something like that. Well, maybe to some extent; nowadays they do have filters, but anyway, it’s probably still a nightmare, right? That’s not the use case for Scuttlebutt, and I think what Scuttlebutt is trying to achieve is this so-called trust graph - a network of trusted peers.
There’s a lot of peer-to-peer protocols that allow you to essentially connect with any peer, as long as they have this piece of content. Let’s say BitTorrent - you want this content, and you just connect to any peer that has that. But Scuttlebutt is a bit the opposite - you don’t want to connect to any peer, but you want a specific peer (let’s say your friend), and you’re actually happy with any content that they give you.
[43:52] So it’s sort of the opposite. Instead of specific content from any peer, it’s specific peer, any content. It’s really good for that. It’s really good for a network of people that you’re interested in, and you’re fine with getting any of their content. And having enough of these that you’re subscribing too, then you’re gonna actually get an interesting database, and it’s gonna be meaningful to you, essentially. You’re not gonna have these stranger interactions.
In a practical sense, having friends of friends is actually a lot of strangers. For instance, right now I have 12,000 accounts on my computer, available offline. I don’t know 12,000 people, but they are somewhat connected to me… And it’s still a reasonable amount of data, in the sense that it’s not too much that it blows up my computer storage, but its’ not too little that it’s just my friends.
Let’s talk about the user type, because I’m sitting back here, thinking about this movie called Boiler Room…
Great movie.
…where Ben Affleck is famous for saying this. He says “We don’t hire brokers, we train new ones.” And it’s almost like you’re not interested in, as you said before, the mass movement of away from X, whatever that X might be; it might be Facebook, Instagram, Twitter, whatever… To Manyverse. But you’re thinking like “Hey, who is this user type? Who’s wanting to use this?”, because as we’ve said before, Jerod and I are both connected people, so it’s less interesting to us in terms of usage, but as you can tell (you’re on the show) it’s interesting as technology and the idea of it, so… Who’s using this?
Yeah. One of the things that I already notice here is that there’s an idea of building a service for some people, but the reality is that Scuttlebutt is built by people in Scuttlebutt. It’s a community of people who make their own things. Most of them are actually quite connected to the internet. The inventor of Scuttlebutt, Dominic - he himself lives on a boat, and he doesn’t have actually stable internet, and that’s what kind of led him into researching offline-related protocols.
But what I’m trying to say is that there isn’t a lot of corporate looks to the things that we build, because they are not built by corporate stuff. If you imagine a very corporate picture, an actual photograph, it will look quite like stock pictures - sort of bland, generic, and politically correct, right?
Yeah.
So Scuttlebutt is not that. It’s like a photograph created by real dirty people, and it’s more human, it’s more authentic, it’s more poor than what we typically put on display. We put very shiny things on display, and iPhones, iPads and Airpods, or whatever those are called… But then the actual human things are less shiny. Scuttlebutt doesn’t have investors, it doesn’t have cryptocurrencies behind it… It’s literally just a couple people building some stuff that they find is nice. It usually looks a bit ugly, and there’s a lot of open source that looks like that; it just looks kind of ugly.
[48:09] What I’m building with Manyverse - it does have an aesthetic that is a bit closer to the shiny stuff that we usually see, these services and startups that come up… And a lot of people actually within Scuttlebutt are quite anti-capitalists, and they’re a little bit concerned that Manyverse is going to become some kind of business, just because it has this taste of shiny startup type of thing… I can talk about that as well, but yeah.
The community is literally a lot of maker people, and also activists and artivists… Sorry, that word does not exist. Artists…
I thought maybe I was out of the loop on a new word… I’m like, “Oh, no! I don’t even know what an artivist is…!”
Artivists…
I’m so out of it…
Well, that’s actually a good word, artivist.
Not bad, yeah.
I like it.
It’s not bad. People who are activists through art. That’s pretty nice.
I mean, they’re out there, so now you’ve just coined the phrase.
Yeah. The reason why Manyverse looks a bit more shiny is just that I’m trying to replicate the look and feel of mainstream social networks. And just like Mastodon is replicating a little bit the feel of Twitter, I’m just doing that as well with something that looks like Facebook, or LinkedIn, or whatever… Just to ease the user experience.
If you enter a new app and it looks and feels like something that you already know, then you don’t need to deal with learning, you don’t need to do any cognitive effort… So that’s what I’m after. I’m after this ease of use, and that’s why it looks like mainstream social network.
But yeah, the people who use it are very interesting. I learned a lot from them, and I changed a lot of my thinking, and aligned a little bit of my ideology, because I really got impressed and convinced over time.
One thing for Jerod and I though - we’re in that camp also of iPhone users, and from what I understand, we’re also locking ourselves out of your usage spectrum. At least for now.
Get it on Google Play. Get it on F-Droid.
You’re not dirty humans.
We’re not dirty enough. We have clean iPhones. [laughs]
What is F-Droid?
F-Droid is like a Play Store, but for free and open source on Android. You don’t have other alternative app stores on iOS, unfortunately. That’s a big drawback of iOS. Huge drawback…
Yeah, for sure.
I mean, of course, if you have Windows, you can install whatever soft that you want; you don’t need to go through the store… It’s just crazy. It’s crazy that there’s only one app store. But ever F-Droid is hard to install if you don’t know a little bit of technical things. That’s one of the reasons why I’m aiming Android, besides the coverage of developing countries.
It says “Not yet on iOS”, so there is still hope for us. And let me just say that this part of the conversation here - we talked about how we’re not necessarily your primary users because of our connectedness; that being said, I think maybe just the opportunity of being part of something that’s different than you, and maybe a little weird, and like you said, “dirty human”, authentic… A social network that isn’t a Facebook or a Twitter, or even a Mastodon, which maybe has more similarity in terms of the users - maybe that’s a good enough reason to give it a try, even if you’re not interested necessarily in all the off-grid aspects of it, because you’re always on the grid… That is at least, I think, a good reason to check this out.
I think the other aspect of this though is also size of group for users, and not just describing who might be interested… Because theoretically, I might be interested in it if one of the core usages is to create a small, tight-knit network. That might just be me, my wife, family, or very close people, and that might replace, for example on iOS, iMessages, or something like that… Which is great, but there’s some drawbacks obviously around privacy, potentially. I kind of trust Apple a little bit more than others maybe… And I say “maybe” in quotes because hey, you never know…
[52:18] Yeah.
We don’t know what isn’t out there yet. So my point is that the user type - sure, we can’t use it because it’s not on iOS yet, but at some point it may, or whatever, but the user might be somebody who’s interested in, say, small, close-knit friends… And there’s other competing applications, but not the same principles, like GroupMe, for example; with GroupMe you can create a small group… There’s others that are like it, but the point I’m trying to make is that if the point is to have relationships that mimic more true real-world human relationships, then it might be those that are really close to you, rather than those that are very distant from you, in terms of acquaintances or connections.
Yeah. One of the interesting things that you guys mentioned was how authentic the relationships can be on this social network, and I think it’s interesting to contrast that with Instagram, where the point is to show off as much as you can…
Yeah.
And I think once you sort of remove companies and for-profit efforts from a space like a social network, it’s more a given that you will get in more natural human experiences. For instance, you’re not gonna have advertisement in the middle of your Thanksgiving dinner. I suppose that’s one of the cases in America, where you still don’t have a lot of companies interfering in that specific moment, right?
They wait until midnight, and then they get us on Black Friday. That’s when they get us. [laughter]
Well, yeah… What I’m trying to say is that with for-profit interference in human relationships, human relationships are getting damaged with artificial behaviors, such as showing off, looking for likes and the counter of followers, or something like that.
Once you build a space that’s very neutral, you’re literally just building sort of like a living room, or somewhere that is neutral and you allow people to be themselves.
One of the things I also like to mention is that if you use this network for your family and your close relatives, the nice benefit is that it’s a really good archival for all of your photos and all of your things… Because the concern with centralized services like Google Photos, or whatever, is that okay, it’s really nice to categorize your pictures, but then it’s still a service that’s being run over time, and they could shut it down at some point, and Google loves to discontinue products… And it gives you a feeling of “Oh, at some point I would need to download all of these pictures and have it on my computer.” That’s the immediate reaction.
Scuttlebutt is already downloaded on your computer. By design, it’s always like that. So it would actually be a really good archival system, let’s say for a diary of all of the baby pictures, or something. It also would be tagged with timestamps, you could have comments… And that would serve forever, and it would be there forever. It would be a good format.
What happens when I drop my phone in the toilet?
Then it’s backed up by all of your friends. For instance, everything that I said is also stored in my friends’ computers. So it’s just enough that one of us has that data still. We call it not a cloud backup, but a crowd backup.
Nice.
Even private messages are also stored on my friend’s computer, encrypted, so that they can’t understand it.
I’m going to the domain services right now and I’m buying icrowd.com. [laughter]
[56:04] That’s actually a good one.
That reminds me of some of the technologies – I don’t know if they’re still out there… But five or ten years ago, where you would set up a Drobo, or some sort of hard drive at your friend’s house, and you’d have yours at your house, and you’d set them up to basically be your – instead of having a Backblaze or some sort of third-party service, you’d back up your stuff to their house, and they’d back up their stuff to your house, on some sort of a software, and that would be your little iCrowd right there.
It’s so funny that you say that, because when we have this backstage networking conversation, eventually that’s what my neighbor and I were talking about, because we live close enough that I could just run some fiber to his house, and we can have our own little LAN, basically, and I can back up to him and he can back up to me… But the bad thing is we’re literally direct neighbors, so my fire might be his fire at some point, if there ever is one…
Yeah… Also, the active backing up is annoying. It’s just a thing that you do in case things go bad… But just the day-to-day use of Scuttlebutt is backup, so you don’t have to ever think like “Oh yeah, I have to back up my Scuttlebutt”, it’s just keep on using it and have some friends that use it as well.
This has actually happened… A couple of have – let’s say their computer has died, or something… They just need to have their private key stored somewhere, and we’re investigating ways how we can store that nicely. One of them is just by having a big seed, sort of like twelve words that you write down or memorize, and that’s enough to recover your account or your private and public key.
There’s different ways of backing that up. Another one would be also through your friends, which is essentially splitting your crypto identity into (let’s say) five parts, and then giving one part to each close friend. Then once you wanna recover your private and public key, then you just ask three of those five, some kind of quorum of your friends, and then they get together and they can restore your account. So you could literally have no passwords; it would be enough to just have your friends.
Let’s talk a little bit as we close up here about the technologies, maybe even specific, inside of Manyverse. It’s an Android app… Are you using stock Android stuff? Are you using web technologies? Maybe give us a peek underneath the covers of how you’re building this, and maybe even some of the ways that you’re implementing the Scuttlebutt protocol.
The big challenge was actually to run a server on the phone. Essentially, with a peer-to-peer protocol, every app or every node is a client and a server. Of course, running servers on phones are not a typical thing to do. Also, there was a lot of Node.js libraries in Scuttlebutt that were useful and that were working, and I wanted to use those Node.js libraries on mobile. So I’m talking about running Node.js on mobile, and that was a big question mark for me at the beginning. But eventually I found some libraries… Well, first I built my own library for running Node.js on React Native, because Manyverse is React Native-based. Then I found a better library called Node.js Mobile, which allows you to run Node.js on both Android and iOS.
It’s really interesting actually the things you could build with servers on phones. It’s actually quite exciting. One small example - I built a very simple (let’s say) app store or installer of apps called Dat Installer, which essentially sort of seeds the apps that you can install. Kind of seeds and leeches, kind of like in a torrent, and then you can get updates through that. It’s also one way how I publish the new versions of Manyverse. You can install it through Dat Installer, or the Play Store.
[01:00:12.21] That’s kind of what’s going on in Manyverse. There’s a server running there, and it talks to other phones, which are also servers. There’s a lot more details going on there, but that’s the heart of the technology. The UI is React Native, and my own framework called Cycle.js.
Very cool. We will link up the repo. I’m looking through your package.json as we speak, and I guess I could have answered the question myself - React Native there, under the hood, and lots of Cycle projects, as you mentioned…
Interestingly - I guess this is maybe noteworthy, or maybe not - hosted on GitLab. Is this an ideological decision, or just a convenience? What’s your thoughts around GitLab here?
Well, a little bit of both. I try to sometimes spread out things, so instead of putting all my eggs in one basket… I use GitLab, sometimes I use GitHub; I don’t have a structure, when do I use which… But in this case I actually explicitly wanted to have the GitLab boards, and also Service Desk… It’s quite useful.
For instance, the bug reports that we get right now, they come as emails. People send an email to an address GitLab provides, and then it reaches this thing called Service Desk, which becomes essentially confidential issues. So I can answer those issues, and it’s confidential. I don’t think GitHub has confidential issues that come through email. It’s quite nice.
GitLab just has a bit more features, and I like it. It’s also a bit more future-proof, in the sense that I could also self-host my GitLab instance if I wanted to. I don’t think I can do that with GitHub. I think it’s also open source, to a big degree… Yeah, that’s essentially the motivation behind that.
That’s a cool feature. Is that email address integrated into the app? Can you submit those things through the app in the emails, or do you just pop up a MailTo? How do they actually get those issues sent in?
Yeah, it would pop up a MailTo. One of the difficulties of not having analytics in the app as well. Sometimes you need to know what’s going on, sometimes when bugs happen.
Yeah.
And because there’s a big focus - maybe not primary, but a big focus - on privacy, people who want to use this app, they would be concerned of analytics. So I think it’s just more respectful that, of course, as an email, users are explicitly their data as a message.
Like consent, basically.
Yeah, yeah.
Explicit consent, yeah. Very good, André. Hey, any questions that we forgot to ask, or things you’ve been waiting, like “Why have they not asked me this yet?” and you wanna get out there, about Manyverse, or Scuttlebutt, or anything else that’s on your mind?
Well, nothing that can be answered in ten minutes.
[laughs] Okay, well that sounds like we’ve gotta have you come back for some more deep conversations around these things, because I know you have lots of thoughts… I think actually I’m looking back through the Stories link on Scuttlebutt website, the different use cases, and people writing about it, and I think actually your post a year or so ago was my introduction to it… So you definitely have influenced many through your writings.
What’s good places for people to keep up with you? If they don’t know you personally, can’t catch you on Manyverse, because they don’t know you personally, but maybe you’re on Twitter, it seems… Do you write around the web? Do you have a homepage we can send people to?
Yeah. My web page is staltz.com, and I do tweet quite often, but I do post a lot of my personal insights and personal stories on Scuttlebutt, so there’s more that you can learn about me on Scuttlebutt. I wish I could mention a Scuttlebutt server that’s open to get my data, so any stranger could get my data on Scuttlebutt, I just don’t wanna do that publicly yet…
[01:04:09.22] Fair enough.
…because there are some technical details to solve with this kind of server, that – you know, if it would go viral, it would probably make life more difficult. But what I’m trying to say is that at some point it will be very easy for any stranger to get my data on Scuttlebutt.
Well, one thing you said earlier was that you’re doing this - from what I can understand - solo, but you do have the opportunity to become a backer, which is donating either money to buy the project and/or you more time (as you mentioned Open Collective earlier on the call), but also the option to contribute. Are you looking for contributions to this? Where are some of the project’s needs? If someone’s listening to this, where could you use additional help on certain things?
Oh, absolutely. There are some issues that I tagged as “Contributions are welcome”, or something like that. I think the difficulty is that the technical stack is quite advanced. It has React Native, it has Android, it has Node.js on Mobile, it has TypeScript, and Cycle.js… It’s such a unique combination that it’s not easy to get started with, but I definitely do value contributions.
I was actually expecting that people would have been sending PRs already, but that hasn’t been the case, actually. I haven’t gotten that many PRs, so I’d definitely welcome such contributions, especially if they’re small and easy to review and merge.
Also, I do explicitly mention that once (let’s say) I am fully funded, then I would start welcoming these contributions on a paid basis, and then once the donations are big enough, then possibly hiring another team worker. That’s definitely where I wanna go next, and it would be possible if we get some bigger grants. We’re sending some grant applications once in a while.
Is this accurate then on your Open Collective, where you’ve got the budget laid out? I love this about Open Collective, by the way, where you can say – for example, there’s like a budget timeline, so to speak, from left to right; there’s a green portion which is your estimated annual budget. It seems to be in pounds - is that correct? Is that euros or pounds?
That’s euros.
Euros. Sorry about that. Obviously, there’s 36,000 euros to have you full-time per year, plus contract, 50,000 per year… But there’s quite a distance between left (green) to right (blue) if you’re looking at the Open Collective.
Yeah.
So hey, if you’re listening to this and you wanna contribute, one way is through donations through Open Collective, or contributions via open source… Pick your flavor, right? Or both, why not.
Yeah. And just tweeting about it also helps.
Yeah. Oddly enough, that’s on the grid.
Yeah…
I love how there’s always these ideas to go off the grid, but there’s never a complete disconnection. As you mentioned, you tweet quite a bit, too.
Yeah, and it’s actually not about rejecting the grid, it’s more about complementing it.
Right.
Yeah, options.
Yeah, yeah. André, thank you so much for your time today. It was awesome talking through Scuttlebutt, the off-grid notions, as we just mentioned… Great, big ideas you have, especially around open source. I love that… So thank you for your time.
Yeah, and thanks a lot for inviting me. I think Changelog is a really good podcast for this. It’s great.
Thank you.
Awesome, thank you very much.
Our transcripts are open source on GitHub. Improvements are welcome. 💚