Welcome to today's episode of Solarcast!
Today we have Matthias Judd with us from call.
And call is a long-term running, mesh and peer-to-peer communication application.
And it has quite an interesting start of its story.
So with no further ado, let's dive in.
Awesome!
Hello Matthias!
Hello, Santa!
How are you?
We've been chatting away a little bit already, but I didn't actually ask you this yet.
Oh, I'm doing great.
Thank you, Salah.
I'm really happy to be here and talk to you, like always.
Likewise!
So, as mentioned, we've been chatting away quite a lot.
And before we dive into exciting stuff that's been happening recently, and you've been traveling a lot,
let's go back in time a little bit.
Because you are part of a project, a big part of a call, which is qal.net.
And it's one of the longest running offline-first mesh networking peer-to-peer communication apps in the scene.
And it has a very interesting start of its story.
So I'm curious if you could tell us a bit about why call started and when it started.
We've talked a bit about this in the past, but...
Yeah, I mean...
I'm a contemporary artist and we always ask ourselves how could we interconnect and how could we communicate.
And in 2011, when the spring was happening, these movements were often described as social media revolutions.
But at the same time, the internet was switched off.
So, to contradict this narrative and to explore our interconnection possibilities,
and to check how we can build our own networks and how we can build truly participatory communication options we created call.
And you're also mentioning something that I think is really interesting and some background story that I don't know if everyone knows about.
But you're a contemporary artist and you have done a very interesting project.
Was it called Spying Back on...
Do you want to tell us a little bit about it?
Yeah, it's called Can You Hear Me?
So...
Yeah, there is also a nice video recording about the entire story.
So, how to talk back to NSA.
But the story behind that is that we were invited as artists to the Swiss Embassy in 2014 to present our work.
And the Swiss Embassy is in the center of the government district in Berlin.
So, it's right next to the chancellery and to the German Parliament.
And when you look a bit further next to the German Parliament, there is the US Embassy and behind that the British Embassy.
And around this time we learned that from the roofs of this embassy, they were spying the entire government district.
So, even the cell phone of the then-chancellor Angela Merkel was spied upon.
And so, we suggested to the Swiss Embassy to actually also put antennas onto their roofs.
And so, but it was our own makeshift cannon-tenas and we did not.
Spying people, but we were kind of creating a participatory network in which everyone could freely send messages and talk to each other.
And one of the really interesting things about spying on people and listening to these frequencies is that when you spied on people,
then you also need to listen on what they are saying.
So, that's why we called this installation.
Can you hear me? And invited everyone to participate and people really did participate and over.
I don't remember how many thousand messages were written over these networks.
That's amazing and hilarious.
I also can't imagine, I would have loved to see the conversation between you and the Swiss Embassy.
Do you have them actually agree to do this project? It's brilliant.
And maybe I'll put the links to the project in the show notes so whoever's curious can have a deeper look.
And to not distract too much from the conversation that we initiated,
you mentioned that calls started during the Arab Spring.
I know that this has kind of had a long lasting impact on call as a project and also your engagement.
Because one thing that call has done a lot of, which not all projects do, unfortunately,
is actually engage with real communities and have these conversations about what's needed on the ground.
Do you want to talk a little bit about that process for you?
Yeah, I mean, as artists we mainly explore space and write experiments that everybody can participate in.
And for years we had been using Wi-Fi Mesh Networks and always thought the setup of it is really complicated.
And we always thought somebody should build a simple option to just interconnect and communicate.
No, that's really needed.
And as there was no project at the time, we then started it ourselves.
And it created with the first off-grid zero-conf user devised by the Wi-Fi Mesh Communication Tool.
And soon after releasing our first version, we got contacted by activists basically around the world who used call to communicate.
And quite a few were joining our team and our development.
And since then this project is ongoing.
Yeah. And now it's been 2011. Was that when it started?
Yeah, it's now 15 years.
That's amazing. You can have a little 15-year celebration.
But how I also remember that in one conversation we had at some point in the past, you had mentioned that you weren't quite like when you started this project, you didn't know that much about Mesh Communication Networks or technologies.
And now it's been 15 years of being in this field and learning and also networking.
And you have quite a vast network all over the place.
I'm not going to mention any specific countries unless you bring them up yourself.
So just a notice.
But in that regard, like where...
What do you see has been like a development from when you started in 2011 of the scene where as you mentioned there was no other project like this at the time.
I know Briar was maybe starting them, but they didn't release until 2018.
What's been the shift in the scene from 15 years ago until now?
I think there have been many shifts and I think they're still...
The development is not over.
So our goal was always to have an end user device to actively communicate with others.
And at that time, kind of Android was pretty new.
I think it was 2.4 or something where we wrote the first version on it and so on.
And also iPhone was not that.
And it was all nowadays.
So there was a specific mode that we were able to use, which was called IPSS mode, that was used by all the community networks to interconnect devices directly into a mesh network.
It was a hack.
One needs to say for the mobile platforms, because already then you did not have all the possibilities that you have on a laptop or on a normal computers.
You don't have administrative access.
And what we did is that we created a solution where people needed basically to route their Android device and to to jailbreak their iPhone in order to have access to the routing table and write our own kind of routing entries via the routing protocol.
And also to kind of have access to the Wi-Fi driver and start up this IPSS mesh network on iPhone.
We even used kind of private undocumented APIs.
So it was really hacky.
And this mode became basically not usable anymore, even not on the laptop.
So the modern chips, although it is an official Wi-Fi standard, the modern chips, many of them claim to still support it, but they don't.
The drivers are not there.
Google kind of actively removed it from the kernel.
So to be able to kind of do this hack, although they had been from the community, even patches to make this an official thing for that you don't need root access and so on.
And also, what do you think was the motivation to remove it from Google?
Well, there is the official talk is a battery saving and b security.
I think both are valid things.
But at the same time, there was also the talk in the community that the big providers kind of like the big mobile OS builders that are not there.
They are the biggest vendor of phones and these operating systems were the mobile network providers, which means they had, if you were not supported by them, you would not sell your phones.
And they were afraid that they could be less favored.
At least this was the talk in the community.
If there was an option to actually circumvent their minutes and data plans.
And as a direct peer-to-peer connection, obviously, it's so convinced that they were maybe afraid of that.
So I believe there is most probably some truth in that too.
Yeah.
Market incentives by big telecom companies.
But sorry, I interrupted you as my question.
You were mentioning that Google had removed the ability to access these APIs.
And it's okay, we can fast forward as well.
So we were on the topic of what's changed in the scene.
And I think one thing that's changed and very clearly in that regards is that now the EU is becoming more vested into digital sovereignty.
And that might also tie in with the sovereign phone operating systems and similar.
And actually, I'm getting a little bit ahead of myself because I want to talk a little bit about insights and two challenges.
But before we talk about that, just to map it out for whoever is listening and also for myself because this is not my expertise.
What are the contemporary building blocks for an application like call?
How do you get delay tolerant networking and meshing via Bluetooth and phone connections and applications to work?
Yeah, exactly.
I think this is also one of the changes that has happened.
So we need to find a new way to interconnect.
There is until today nothing that replaces this IBSS mode that have been Wi-Fi direct, which is cumbersome because you still need kind of a user, okay, to manual interaction to connect to someone.
You cannot really match them.
And there is now also kind of the so-called neighborhood of their networking, which is a new Wi-Fi standard but is not so widely supported and mostly on really expensive phones.
So maybe this will become a possibility to directly interconnect.
Our goal is to always use whatever there is to actually interconnect.
So we are using, for example, LAN mode where you can interconnect when you are in the same local area network, like in the same Wi-Fi network, for example, this can be over your home router or when you are in a coffee
or and connect to the Wi-Fi there or when you are in a wireless community network.
And of course you can also open the hotspot on your mobile phone and let people directly connect via phone.
We also use Bluetooth Low Energy, which also is an option to directly kind of interconnect to devices.
And we also have an internet overlay possibility for that you can interconnect communities.
The call app itself should really be installable for everyone on what every device you have.
So we built it for the five big operating systems like Android, iOS, Linux, Windows, Mac OS.
And there are also some command line binaries for that you can run it on headless devices such as servers or Raspberry Pi.
And the core of the app is written in Rust, for whom is interested.
This is one of the newer programming languages which was built for security and speed.
And we have a beautiful cross-platform graphic user interface which is written in Flutter.
That is also something that works on all of those devices.
Maybe some building blocks on going further is when you are interconnected kind of directly to someone, it's nice you can talk to them.
But we have a user discovery which means you see with whom you are actually connected.
And we also have our own routing protocol that is making sure that when you are interconnected to someone,
this someone is interconnected to someone else, you can talk to everyone somehow interconnected to someone.
And also we have a chat messenger so where we have fully and to end encrypted chats,
where you can have a one-to-one communication or a group chat communication with text chats, images, files and voice messages.
And on top of that we also have a public channel where you can send messages to everyone in the network.
It's amazing to hear this because this is so many projects in one in some ways,
because there's all these peer-to-peer networks and local-first networks that are building parts of these puzzles.
And I think that ties into a conversation that's been reoccurring here as well.
And that's the aspect of you as call have built so many parts of this puzzle.
How much are you building from scratch and how much are you interacting with pre-existing puzzle pieces?
And how modular is this design?
Because in conversations I've had with Breyer for example, there's been a call in Breyer often like grouped into the same kind of category, right?
You're both very early on doing these kind of offline-first communication networks or applications.
And with Bramble, their protocol, it's very intertwined.
How modular is the design and how much can you take different pieces of the puzzle and connect it to other parts,
like another kind of gossip in protocol maybe for networking or discovery or something like that?
So what we try to do is to provide the best overall solution for users.
As an off-the-grid messenger, this means of course many decisions on what you can do or how you do it actually.
We try to build as little as possible ourselves, however we end up building quite a few things.
For example, we have the transports in the background that we did not build ourselves most of them.
We have for example, Lipier to Pier as a transport for the local area, network connection and also for Internet overlay.
We built the Bluetooth Low Energy however because this did not exist completely ourselves.
And this is very modular at the moment.
So you can add new transports or we could add new transports in the future if we would love to.
We also need to say we have rewritten everything after 2019.
So it's now a day something completely different than what we had before.
And we also wrote our own mesh networking protocol because we saw that we have very specific needs
that kind of all the other mesh networking protocols that we used before did not have.
And also that nowadays we have of course self-souvern cryptographic identity.
So everybody, every user in the network has such a cryptographic identity.
This is needed to identify yourself in the network to do the routing but also as a possibility to directly encrypt something for someone else.
Self-souvern is the identity because there is no central registration.
You build it yourself. Nobody else knows that this identity is you.
So you then choose your username on top of it. You can also change your username.
And you have this possibility to build up this persona or several personas for this communication space.
Amazing. I'm sitting here thinking about a lot of different things I would like to ask.
But to start off, if we wind back a little bit, we talked a bit about those challenges that exist.
As you mentioned previously, some of these challenges.
And is it so that each phone has a different Bluetooth connection pathway or how does it work?
What makes it so challenging to do Bluetooth Low Energy connections?
You mentioned something about the vendors being different. What is it actually?
When doing Bluetooth Low Energy, you have many different variants on how to do it.
You have many different protocol versions.
And on top of that, you have different chip manufacturers.
You have different firmware, which cannot do stuff.
And you have then the mobile phone vendors, which allow you to do something or not.
And all of this gives you a strange subset of what you can do.
Sometimes also the mobile phones lie to you and claim to be able to do something, but then they can't.
So this makes it a bit difficult. The stacks were really for a long time, very unstable.
So it could be that the stack trashes and you need to reboot your phone in order to have access to Bluetooth again.
There are many things that can go wrong in this regard.
I would say we are there that we can master that.
And that we will have a stable communication.
So we are currently writing that. We have already an experimental thing, but soon, within the next month, we will have a very stable connection there.
And then Bluetooth Low Energy also gives you a different possibility to advertise a device, to connect to a device, to send stuff to a device to read from a device.
And all of this requires you to interact with this multiple possibilities, whatever you can do.
And to put this into a nice protocol where you need to have a lot of reflection of what you need to do when something is going wrong or is not happening the way you want to.
So I think we will see within the next month, the really stable implementation where you can well communicate.
But it's then also difficult to say how far this connection will go.
Also, this depends on your device class, which is often not that transparent to someone who buys it.
And unfortunately, usually the more expensive your device is, the better it is also, which is also a bit problematic because we try, of course, to make it work for the really cheap devices.
Yeah, that's often where it's the most needed, I would assume.
But increasingly, it's becoming more and more needed all over the place.
A authoritarian takeover of the West.
But you talk a bit about these challenges, and you also mentioned that you're now, it sounds like you're finding a bit of a solution.
And you'll soon have an experimental version coming out, or you have an experimental version already and a stable version in the making.
How are you navigating this challenge of because Bluetooth low energy sounds really complex to take on?
Well, call was for many years a grassroots open source project.
And so kind of only with volunteers who produce code for it.
And the requests from the communities through over the years.
A lot. And in 2018, our Syrian partners and friends wanted to use call in the IDP and refugee camps in Syria.
And we needed to change our development model.
So we created an association, which is in charge of the source code and organizes the funding and supervisors also the development.
And I would say this has made our development much more stable and predictable because now we can also invest a lot of time into specific solutions, which we are currently doing.
Needless to say, all the development is still open source and it's on GitHub and everyone can download call for freely.
And everyone is also invited to join our development.
That's awesome. I'll get to that at the end. That's always the last part of how people connect with you.
But in the meantime, what are the next steps? You mentioned the stable solution for Bluetooth low energy.
And what in general are you working on? What's in the pipeline for you all?
Well, we currently do a lot of testing for scalability.
We want call to work provably great on several thousand users.
We optimize our routing protocol for it.
We optimize all the transports and everything and make everything as stable as possible.
And also develop all the user features for the user interface that someone nowadays expects from such an application.
And so that's what we are currently really occupied with.
And it's really exciting actually to do all of that and see its scale and invest on that.
Definitely. I can't imagine.
I'm thinking here, since you're here and you have this long time engagement in the communities around offline first communication.
What do you prefer calling it? Because I've heard a lot of people being a bit conflicted about the offline first communication.
What do you prefer as a term?
I would say we either call it Internet independent communication or off-degree communication offline first.
It's also quite nice. Actually, the offline first term is coming from the IoT, so from the Internet of the Things.
And it helped a lot because for years when talking about direct communication between devices, people always say,
hey, well, I don't need it because we have the Internet and so on.
And with this Internet of the Things, our entire factories basically need to, the devices need to talk to each other.
They learned that because first everything was also connected to the Internet and they learned that when the Internet connection fails,
it's really bad because actually nothing works anymore.
So offline first also created a value for many more people and many more people are reflecting at the moment about solutions.
Yeah.
So a little add-on here.
Matthias remembered in hindsight that there's another term that is often used here, which is delay tolerant networking.
And it refers to a field in academia, but in general towards these networks that can function on their very low bandwidth,
but also function when the network is experiencing delays, unlike traditional Internet as we know it.
Awesome.
Now, what I started asking before, and what I'm curious about, but I also don't want to put you on the spot, but I do want answers.
So you can answer this as diplomatically as you'd like.
But I'm really curious because there's been a lot of talk about mesh core, mesh task, there's also a reticulum out now.
And I would love to hear your expert take on these different projects and the differences and how you would navigate engaging with them.
Could that be okay?
Yeah, of course. This is really a different domain, I would say.
So when you talk about mesh task, mesh core, these are both projects that build up on radio protocol, which is called LORA.
Long range.
And this is actually a really great protocol because it can interconnect you over kilometers.
And there is a really cheap hardware for that.
So for basically, I don't know how it is nowadays, but a year ago you could buy for 20 bucks a communication device.
And so the two projects you mentioned, they make use of these communication devices.
So it's a hardware device and they interconnect it with a mobile app, over which you can talk to your hardware device.
And you can send messages.
So saying this is that the messages over LORA, the message size is really, really small.
So it's about 140 bytes or something.
And so it's great for all the Internet of the things stuff.
So where you want to read, for example, the value of a little sensor somewhere.
So what is the temperature nowadays or whatever?
And it's not so great for otherwise if you think of, let's say, replacing Internet communication.
Because there we are used to much higher data traffic.
So I would say it's probably two different domains of communication.
So what we are doing with call, for example, is really high traffic where you send longer messages and with LORA, you are rather using very small messages.
So but you have a communication possibilities.
In there, the models are a bit different.
So with MeshTastic you have every device is the same.
And you can send messages to every device around.
However, the routing protocol, at least when we built up these networks here, we also tested it one and a half year ago.
There was not really a routing protocol.
It was just sending messages around and repeating them.
So not giving you real feedback.
So you didn't really knew whether the message arrived or not and so on.
So it was very confusing.
What were we saying then?
MeshTastic.
And MeshCore does it a bit better, but it has a different model.
It has the model that you have kind of relays and you have clients.
And a device cannot be both.
So basically the idea is that the device you run around with is your client and then you need your client needs to send something to a relay and this relays then kind of send the messages around.
So I think both models have their pros and cons with MeshCore.
You know better whether a message arrived and so on.
And it works generally better.
But I think thinking of Mesh networks, I would say it would be great if a device could do both.
So I think we will in the future see that.
And of course many other protocols also try to get into this Lara stuff.
You mentioned Reticulum for example.
And then there is always the thing, yeah, well we could bridge everything together.
I would say in theory yes.
In practice you then only can send very small messages for that it makes sense.
So I guess it would make sense just to bridge the Lara messages to the rest of the network.
That's also what Lara is for.
The idea is then that you take them up and you can use many projects for that.
Not only those mentioned and send them over the Internet and so on and spread them further.
It's a bit more problematic when you have high traffic content from the Internet.
The Internet which was not optimized for this protocol.
So you actually just created the segue for me because the next question I wanted to ask about is now that we're talking about projects.
And you mentioned that there are a lot of other projects out there.
Not only in this regard but if you want to mention in this regard as well.
But what are projects that are out there that are kind of exciting to you right now.
What are things that are happening that are inspiring from a community perspective or technological perspective.
What got your eyes to open up so to speak.
Well with call we are a messenger which is basically ready to communicate over community Wi-Fi networks.
And especially those Wi-Fi networks we saw them appear in the early 2000s.
Many of them maybe slept in here in Germany.
We have a huge community which is still doing it.
But nowadays we see a peer community Wi-Fi networks especially in the global south in numbers.
And that's really exciting because it can solve the problem of the last mile.
I'm also myself in this community mesh network community.
So I'm trying to push that.
We created a special interest group for community network infrastructure for example at the Internet Society that tries to support and interconnect.
And I hope and I'm looking forward to see many more community networks around the world and people building up their own infrastructure and interconnecting themselves over various means and measures.
Yeah definitely.
So looking ahead into the future if there was a genie in the bottle that swooshed in and said you have three wishes.
What would you like to solve for communication networks in your domain right now?
What would be like the biggest hurdles the biggest challenges that are currently facing the scene?
So one of the things I'm solving with other projects is for example the service discovery layer for community networks.
And I hope we will see good solutions within this year.
Another thing which is of course keeping us up at night for call net is that there should really be a good way to interconnect our end user devices with each other.
I mean stable connections with high traffic throughput which is not which we don't do not need to access in a hacky way but is already built in into our end user devices and which is cross operating system and cross platform compatible.
So I really hope that this will happen in the future.
I don't have high hopes I need to say but I hope this will be finally be built.
Yeah that's a complex one because as you mentioned before there's so many different factors to enable that.
But yeah we just handed in an application to the EU a month ago where we could have had one possible solution for that.
Shout out to the EU get us funded.
I wish a good luck.
Thank you very much.
But you have let's dive back and circle back to the beginning of this conversation because before we started the recording we talked a little bit.
You've been very active and you travel a lot almost every time we talk you're in a different place.
Whether it's Switzerland, visiting family or back in Berlin and recently you were also in Prague.
But what's going on and what's recent happenings that have have piqued your interests?
Or what's something that you recently visited or what's something that's recent coming up soon?
You mentioned there was a global gathering for example.
Yeah I mean there are many many many events around the world where people are meeting that are interested in the future.
But in building up their own communication, their community networks and reflecting on how we are communicating in our society and how we can build up tools.
I could not really select one thing over in Arthur here.
But if you will definitely be at a devep camp this summer so you can also meet me at global gathering.
In autumn there are many small community based conferences and conferences where I'm involved with for example the battle match where all the mass networking people meet.
Of course there are also many communities that don't have a technical focus but have a human interest in a community interest focus.
And as a society interest focus one thing maybe is the collapse camp which will be happening in about one and a half month near Berlin where people are meeting who reflect on how to get into a more sustainable society and what to do and how to keep up
if things are collapsing.
And of course there are many people from a mercipitorial movement who like to communicate and build up their own communication structures for their movements.
That's so amazing and I feel like it's a global kind of in Swedish it would be Sperdland.
But I'm not sure what the English word would be but it's bubbling everywhere and things are popping up in a lot of different places.
Local municipalities are picking up on the need for communication post collapse.
So it's very exciting times in some ways and also tragic but perhaps both can be at the same time.
But we're reaching the final stages of this conversation and I'm sure there will be many more to come.
I'll see you at D-web camp at least soon and we just planned a little session we're going to host there together.
So that's exciting.
And how does one engage with call or actually before we go there because that's the final question.
How is call funded because that's something I always ask because it's always a question for anyone who's doing open source.
Oh my gosh.
How do you navigate that as call?
Yeah, as I already quickly told before we created an association that is looking for funding for such projects.
And then also is running the development and is coordinating the development.
So we would say we have everything from community participation to also developers who luckily can get paid for bigger contributions to the network.
And this also lets us build exciting new features.
So for example, we will right now build multiple communication channels and also an enhanced community manageable network safety and span protection option.
This was for example one thing that was funded by a European founder called NLNet.
Shout out to NLNet.
Y'all have done a lot for the European open source communities but also globally.
This podcast is being released on castopod which was also funded by NLNet actually.
Which is federating with over activity pub which was also funded by NLNet and the European Union.
So I gotta say the EU has stepped up their game and they're really starting to deliver.
I hope they can keep it up because the momentum is on.
And speaking of momentum to tap into this momentum and all the activities that are happening with call, how does one connect with you?
Just saying that maybe then I should also mention some other founders.
So we have multiple luckily and a big founder is also the open technology fund from the US or the National Democratic Institute.
So and hopefully there will be more and we will see.
So to connect to our project there is a website which is call.net so qaul.net and on this website you can find all the links to download our projects and to access the information how to connect.
For example have a public matrix channel.
We have a GitHub repository of course and we have various documentation tutorials, user documentation, developer documentation and we also have a web-laid account for UI translation.
Because we have already many many different languages in which the user interface is in but there are always new possibilities for community to translate to UI.
Absolutely.
And thank you so much for joining today.
I am very curious about the upcoming releases and I can't wait to try out call again.
It's been a while since last time but I tried to try it out frequently and see what's up.
So super excited for that.
Let us know when the new releases and I can make a little shout out potentially.
That would be really nice.
And in general thank you for joining today and looking forward to seeing you in person again.
Yeah thanks a lot for inviting me and I'm really looking forward to meeting you again.
Likewise.
Take tea later.
Bye.