Isabelle: Hello everyone, welcome to the Voices Podcast. My name is Isabelle Santin and today, this month, we're going to be talking about a project of mine and a of chosen few software at large called Subverse IM. Very briefly, it's an instant messaging client that uses peer-to-peer technology and end-to-end encryption to create an anonymous and private experience for its users. And of course, as the lead developer of this project, I wanted to invite a few of the other project teammates onto the podcast and I will introduce them now. Hi Polly, hi Eli.
Eli: Hi.
Polly: Hello there!
Isabelle: So Polly here is our project advisor/testing lead and Eli, of course, is our accessibility champion and advocate. He basically helps me test out the app to make sure that it is usable for low vision users as he is a low vision/blind person himself.
Eli: Yeah, for all intents and purposes blind.
Isabelle: For sure, and Polly is very good at giving feedback and breaking the things that I make, [LAUGH]
Polly: It is my job to break things.
Isabelle: Precisely. So yeah, it's nice to have you both on the podcast and without further ado, we can get started.
Eli: Yeah
Isabelle: So first of all, what is Subverse IM? Well, I did already mention that it's a private anonymous peer-to-peer messaging platform, but it also is basically this mobile application. It's a mobile-first application that basically, if you think about how old Skype worked before Microsoft acquired it, it's basically that, but even more private and anonymous, and on mobile devices as well, as that was something that the original Skype lacked.
Eli: Yeah, because I think the thing that sort of separates Subverse from all other instant messaging applications or just messaging applications in general is, it's privacy because, you know, since it's completely end to end encrypted and it's since it's peer to peer, it's basically, you can basically have any kind of conversation like, no matter how intimate, no matter how like, you know, like basically, if you have a conversation that's very private and intimate, unless someone posts a screenshot of what transpired during the conversation on a public forum, you're not gonna get any of your information like exposed or stolen or anything like that, and I think that's very important.
Isabelle: Yeah, precisely.
Polly: Yeah, and I guess by the nature of Subverse being open source and self-host from the get-go and not like an afterthought, there isn't really any risk of losing security or anything because its going to be continuously updated. You don't have to necessarily rely on a big company to maintain it, because the community can maintain it or you could maintain it.
Isabelle: Yeah, precisely. And that's the other big thing about this project, is that we are dedicating all of its source code in entirety to the public domain. And I think that's important for two reasons. First of all, it means that anyone is free to redistribute the code, which is pretty important for a project like this because it means that it helps spread the word, but also it introduces redundancy within the community where we don't rely on a single point of failure or a single central place where people can get the source code. It's just kind of like this black market type deal, you know, I hate to draw that analogy, but it's kind of like, if you know, you know, and you can still get it even if the surveillance state attempts to take the network down.
Polly: Yeah, I mean, I guess just to put it in a better term than black market. It's unregulated from big media. There is no overbearing single owner or shareholder. There's no negative intentions behind it, because the intentions are literally whatever you want to add to it.
Isabelle: Yeah, precisely.
Polly: They're not appealing to any, they're not appealing or anyone's not appealing to any shareholders. They don't have any trends to catch up with. Literally it's just whatever you want it to be.
Eli: It's a, yeah, it's a community sort of managed network.
Isabelle: Yeah, and what's really important is that there's no one central authority either, everyone contributes the same amount to the network.
Eli: Yeah, exactly, because, you know, with the great big media corporations and sort of the set, this age we're living in with a very centralised Internet, it's very difficult to really feel like you're a part of a community when there's found to be some sort of larger hand sort of regulating what is said and what isn't said, what is posted, what's not posted. And it's very, it feels very intimidating. And I think that with Subverse, since it is completely community managed, there's really a sense of freedom and ability to be able to not only keep what you share, not only keep what you exchange private, But also make it a very positive community experience
Isabelle: Yeah definitely, because I think the other part of it is that it allows you and your friends to seize the means of communication. There's no external server that you're relying upon to be able to engage in a conversation using this app. It basically allows you to not only own your data, but own the means of communication itself. And I think that that's super important.
Polly: Yeah, I think a big thing in general is just trust. I think we put a lot of blind faith in tech companies to ensure that our data is safe, that it's not going to be leaked, that it's secure, that it's encrypted, that they aren't looking at it. So by having it be exposed in this way, the code, the platform, it allows people to make the decision for themselves. Whether or not they believe it's trustworthy, if it's secure enough, and if it's not, then they can always make it more secure.
Isabelle: Yeah, for sure. And that kind of is a good segue into sort of a architecture overview of the app. Basically, the way that Subverse IM works, there's three main components. There's OpenPGP encryption, there's the BitTorrent DHT, and then there's the Bootstrapper Web API. Essentially, OpenPGP encryption is an encryption standard that was made all the way back in the '90s. I know, such a long time ago, right? And essentially, what this model of encryption and sort of public key infrastructure standard promotes is that it's essentially a web of trust, is what it's called, where you can establish authenticity mutually via mutual authentication, which basically means if I can prove to you that I am who I say I am, and you can do the same for me, we can still be anonymous, but still trust each other and still communicate securely between each other. And so that's the big thing that OpenPGP as a standard contributes to the Subverse IM project. Outside of that, we also use the BitTorrent DHT. A DHT stands for Distributed Hash Table. Essentially, this is what we use in the Subverse network to associate people's public key identities or their Subverse peer IDs with their IP address. And you might say, "Whoa, hold on. People can see my IP address? That's a pretty big flaw, right? And actually, the thing that Subverse IM does to sort of be more private, even though we need to communicate directly with each other's IP addresses, is we essentially associate multiple IP addresses with a single peer ID. So even if someone were to sort of hack the system and try and see what your IP address is, they would instead get a list of IP addresses of all the people that you're talking to or are associated with, which means that they can't trace down any single one of them to you specifically. And so the final aspect of it is the Bootstrapper Web API, which is basically just a web server that keeps track of minimal information that basically allows all of the participating peers on the network to basically synchronise their routing information and figure out how to talk to each other directly. And so in this way, the Subverse network does have sort of more of a multi-server architecture, but it does so in a way that the core functionality still isn't dependent on those centralised servers.
Eli: Yeah, and I would add that basically all message and file information, if you send an attachment to someone, that stuff is stored locally on their machine. So it's completely peer to peer in that everything that is exchanged, whether it be information or files is stored locally on either end. And also, how services like Discord and stuff can allow you to edit messages. Subverse doesn't really allow that and I think that's a good thing because it sort of allows the user to preserve their chat history authentically. So that in case if something questionable is going on and it gets shared publicly, there's no kind of revisionist history going on.
Isabelle: Yeah, for sure. And so the other important aspect about these Bootstrapper web servers is that because Subverse IM is open source, anyone can roll their own one of these servers, and if they don't trust our server, just roll your own and use your own one. It's all totally customisable in that way.
Eli: Yeah.
Isabelle: And the final point that I want to sort of cover briefly here about Subverse IM is that it uses all of these sort of more standard technologies, including SIP, which is a signalling protocol for voice over IP technology. We use all of these more standard technologies in an effort to eventually become cross-compatible with other private messaging services, like perhaps Matrix or even Signal, for example.
Eli: Yeah
Isabelle: And moving on to sort of our next big segment here is why make this at all? And there's a few reasons why. Of course, as chosen few software, we believe in a world where software empowers its users, not the other way around. Because, you know, too often do we have like web services or like killer apps that don't respect their users for what they are. Users are kind of like the lifeblood of these technologies. And I'm kind of the way I think about it is, for example, ChatGPT. If you're a ChatGPT user, you are as much used as you are a user, right?
Eli: Because your input is basically used to mine data and train the neural network essentially
Isabelle: Precisely.
Polly: A lot of social medias and things like that, the way they view you is you are the product to them You are not the buyer, you are not the user, you are the product. Especially when it comes to data and having your data be sold on.
Eli: I think what's really great about chosen few software as like the basic philosophy of software should empower the user. Is like on the especially on the accessibility front. Having the ability to customise and also to be able to use any of the pieces of software that chosen few software makes especially Subverse. Being able to use those with having like some kind of physical disability that prevents these people from having an enjoyable or just practical practically effective experience is very important. Because, as Izzy said, far too often, software uses their users as much as users use their software. So when it comes to accessibility, that philosophy that is shared among the bigger centralised software packages is. It's basically closing off an entire demographic of people. And I think that it's very liberating that chosen few software cares enough about accessibility and treats it, software from an accessibility first standpoint. That basically, it's very liberating to know that people like me who are completely who are basically blind and can't use apps like Discord for precisely the reasons I specified It's very liberating to be able to still communicate and have connections with people online even though I have a major physical disability.
Isabelle: Yeah, for sure. And that brings us really nicely to our next point here, which is connecting people matters, right? I mean, especially across the internet, most of my friends most of my friends in my early adulthood were online friends including Polly, of course And so allowing this sort of kind of authentic way of connecting people in a way that is also private and safe, I think is extremely empowering for the people that we're serving here.
Eli: Yeah, exactly.
Polly: And say if any part of Subverse is not considered accessible to you outside of what we already do to make it accessible, Whether that be a physical accessibility need, a mental accessibility need, or even just wanting to access Subverse on an obscure device or something, the open source nature will allow you or anyone else to implement that So say for example, social media and stuff isn't exactly straight forward for older people but maybe you want to be more in touch with your older relatives, then Subverse could be developed for a more straight forward usage; simplify the UI, simplify the process of going to messages and such It could even be used to be deployed on something like uhh... I don't remember what they're called but like the Facebook Mirrors or something? Like the smart image like displays that you can use to video call people and stuff, it could be programmed for something like that as well
Isabelle: Yeah definitely Polly : And that helps connect everyone together a bit more
Eli: Yeah and like even go to the extreme, perhaps it, like I don't know how feasible this would be. But perhaps due to its open source nature people could make it compatible with like very old like devices and computers that not many people use these days. But like either people who use it as a novelty or in some cases use it on like on a daily basis. They might be able to still connect with those people on those older computers and devices that just aren't supported any more. Pollu: Yeah, it helps reduce the redundancy of older tech and more obscure tech. Reminds me a lot of how lots of people try to backport ideas to like homebrew and old consoles and stuff I watched a video the other day of someone trying to run Linux on an NES Eli : I think I may have seen that.
Polly: But if you could do something like that you could probably put Subverse on
Eli: Yeah, as long as it has the ability to connect to a local network.
Polly: Exactly
Isabelle: Yeah. And that's also what's really cool about. NET as a technology that we use for Subverse IM is that it's totally cross-platform and it's portable by design. And so if you can run Linux on an NES, you can pretty much run Subverse as well, albeit a probably very limited version of it due to the difference in computer architecture. I mean, an ENS has like, what, kilobytes of memory? I don't think even that, you know, like...
Polly: The physical constraints are definitely a tackle to get over, but it doesn't make anything impossible.
Eli: Yeah, the NES doesn't even have like an Ethernet or like an RJ11
Isabelle: And so you might be wondering, first of all, how do I get started with Subverse IM? We're talking all this good shit about it. Well, where can I get it? Where can I start using it? And you are in luck because open beta testing for Android devices via Google Play starts at the end of this month, at the end of February 2025. And so it's something that the entire team here at ChosenFewSoftware has been working very hard at and are super proud of to be able to present to everyone in the community. And we're looking forward to having our app be broken in many, many more ways than what we've already considered and so that we can fix it and make it better and make it the best experience that it can be. Additionally, we also have a closed beta for iOS available to VIPs and via vetted email approval. If you would like to participate in iOS closed beta testing for Subverse, please email us at root@Subverse. network and we can get you started on it. Apart from that, you can also, because Subverse IM is open source, you can sideload it on Android or iOS anytime by compiling the app yourself and using your own certificates. And of course you can contribute to the network at large and boost its redundancy by running your own bootstrapper node instances on web hosts and sharing them with others. So that's basically the big sell right? You can use it right now, it exists and it's ready to be tested at the very least. I wouldn't call it a robust experience by any means, it's still in very early stages of beta testing.
Eli: Yeah, and I think, and for the purpose of being able to improve the app, I think we should also encourage feedback from our user base, whether it be open beta or closed beta, or really anyone who's using the app. Because feedback, since we approach our software from a user first perspective, we always are looking for constructive feedback in ways that we can change or improve the app to suit the need of the users as they come.
Isabelle: Yeah, for sure. And I think that brings this, the meat of this podcast to a close. Before we send everyone off, I did want to just kind of make space for us to wrap up and maybe have each of us, have each of us share one thing we want listeners to take away from the podcast. So I'll go first. The one thing I want listeners to take away is that Subverse IM is our network. It's built by us for us. It's for the normies of the world. It's not for the data miners. It's not [LAUGH] for the shitty governments that want to spy on us. It's for us. And it's private, it's secure, it's anonymous. You can get started with pretty much no strings attached. It's very much zero risk. And so even if you try it just once with one friend, that would make a world of difference for us and allow us to continue building the experience to be the best it can be.
Polly: My one thing that I would like is that if you have ever felt frustrated at any social media at anything like an app, and you felt like I don't like this feature or I don't think that this company has got my best interests in mind or I don't want to have to pay for like a fancy cosmetic, then then just try out Subverse. Were not necessarily at a point where we can start competing with other people but, it will only get better from here but, it will only get better from here. It can never go down
Eli: Yeah, and the thing I think I want to have everyone take away from this is, intimacy, being able to have intimate conversations and being able to confide in your friends or your loved ones over the Internet, I think is very important because, and I think Subverse, if you want to be able to feel safe in confiding in your friends and loved ones over the Internet without risk of it being exposed or like having your privacy breached or having things that you don't want the general public to know, but you want your friends to know. I think that Subverse is the program for you because, it's rare in these times that anyone on the Internet can have a close friend or a close relationship without something leaking out to the public and sort of causing immense stress for the people involved. I think Subverse is a program that, out of all the programs available on the Internet right now, I think it's a program that permits intimacy and having private, important conversations and sharing important data with each other without necessarily being at risk of having your world turned upside down.
Isabelle: Yeah, for sure. And yeah, so thank you so much, both of you, for joining me on the podcast. I really think that Subverse IM has the potential to become the internet's next killer app And that's what's perhaps the most exciting prospect of all in working on this project. And I'm just so glad that we can share this with the community finally and share it with each other as well. It means a lot to me.
Eli: Yeah exactly. Thanks a lot for having us on.
Isabelle: Yeah, for sure. Thanks so much. Bye, everyone. Hell yeah.
Polly: Yeah, either change you want to see in the world.
Isabelle: Hell yeah! Bye bye!
Have a question? Don't know where to look? Try asking Mitzy in the search box below!