We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Building a social app on top of Matrix

00:00

Formal Metadata

Title
Building a social app on top of Matrix
Subtitle
Fighting surveillance capitalism for fun and profit
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
I wanted a secure and convenient way to share baby photos with friends and family, so I used Matrix to create an app with a social network interface and end-to-end encryption underneath. In this talk, I describe how we use Matrix rooms to represent human social structures, from loose disorganized circles of friends, to well-defined organized groups. I will talk about what worked well, where we found some pain points, and what we did to work around them. I wanted the security of Signal Private Messenger together with the convenience of Facebook. So I created an app called Circles that uses Matrix as its server. All posts are end-to-end encrypted, so even the server admins can't read what users post or look at their pictures. In Matrix, everything happens in a room. So Circles uses Matrix rooms to store all of its posts. We use Matrix rooms in two different ways to let users connect and share in an organic way. First, we can use a Matrix room to store one individual user's own posts, similar to their "wall" in Facebook. The user can invite other users to follow them by joining the room. Followers can also post emoji reactions and replies to the room owner's posts. In the app, a social "circle" consists of one such "wall" room belonging to the current user, plus similar "wall" rooms belonging to the user's friends. For example, Alice's "Friends" circle might consist of her own "Friends" room, her buddy Bob's "Friends" room, and their friend Carol's "Friends" room. The app hides most of the complexity of the multiple rooms and instead presents the user with a single unified timeline of posts collated from all the rooms in the circle. Second, we can use a single Matrix room to represent a social group (like a Facebook group) where everyone in the group knows each other. All that is required here is to render Matrix messages as a timeline of "social" posts rather than as chat messages. We estimate that building on Matrix saved us 18-24 months of development time for our first minimum viable prototype. Overall the experience has been very good. However, we did run into a few pain points. These include: 1. Decryption errors with the iOS SDK 2. Needing two passphrases to enable secure server-side storage, or hoping that the user never loses their first device 3. Problems with the 3rd party identity server that we initially used for email verification 4. No ability to post both text and media in the same message 5. No ability to give a new user access to the earliest encrypted posts in the room 6. Questions about server performance and scalability To address #2 and #3, we built a new authentication service using the Matrix user-interactive authentication API. We are looking forward to upcoming improvements in the Matrix spec, including extensible events, rooms as profiles, and sliding sync.
14
15
43
87
Thumbnail
26:29
146
Thumbnail
18:05
199
207
Thumbnail
22:17
264
278
Thumbnail
30:52
293
Thumbnail
15:53
341
Thumbnail
31:01
354
359
410
Game theoryReduction of orderInformation securityInformation privacyComputing platformMatrix (mathematics)GoogolDigital photographyFacebookServer (computing)Independence (probability theory)Message passingData integrityMobile appMatrix (mathematics)Internet service providerRow (database)Information privacyPhysical systemBitVideo gameMultiplication signGoogolRight anglePoint (geometry)Keyboard shortcutService (economics)Digital photographyConfluence (abstract rewriting)FamilyInteractive televisionInheritance (object-oriented programming)Projective planeReal numberWordOnline helpBoss CorporationAutomatic differentiationServer (computing)NumberProduct (business)Independence (probability theory)Roundness (object)Object (grammar)SpacetimeAxiom of choiceQuicksortSoftware engineeringException handlingInformation securityCentralizer and normalizerGame theoryFacebookGroup actionMessage passingTerm (mathematics)Descriptive statisticsData conversionWebsiteAmsterdam Ordnance DatumAlgorithmMyspaceEncryption2 (number)XMLUMLComputer animation
Focus (optics)Computer networkFacebookFamilyNormal (geometry)TheoryInternetworkingEmailReal numberComputer clusterVideo gameInformation privacyTheoryInternetworkingFamilyFacebookRandomizationTouch typingDigital photographyDevice driverNormal (geometry)User interfaceTerm (mathematics)Computer animation
Message passingSoftware testingGroup actionStandard deviationOpen setOpen sourceEncryptionVideo gameCentralizer and normalizerBitCodeService (economics)Standard deviationData structureOpen sourceUser interfaceN-spherePrototypeMatrix (mathematics)Mobile appMultiplication signDifferent (Kate Ryan album)Projective planeServer (computing)Encryption
Texture mappingData structureMatrix (mathematics)Surjective functionUsabilityInformation privacyChemical equationCloud computingGroup actionFocus (optics)Similarity (geometry)Element (mathematics)Multiplication signData structureInformation privacyMobile appAsynchronous Transfer ModeMappingGroup actionMatrix (mathematics)AuthenticationBitView (database)Ocean currentLimit (category theory)Installation artFacebookInformation securityOnline chatPhysical systemData storage deviceDifferent (Kate Ryan album)Type theoryCASE <Informatik>Element (mathematics)Line (geometry)Right angleProjective planeServer (computing)GoogolCuboidFitness functionOrder (biology)Bit rateRule of inferenceClient (computing)Computer animation
Group actionData structureAsynchronous Transfer ModeMatrix (mathematics)Local GroupClient (computing)Event horizonSurjective functionWechselseitige InformationException handlingMatrix (mathematics)Term (mathematics)Heat transferData structureData storage deviceDifferent (Kate Ryan album)Server (computing)Type theoryClient (computing)FamilyMobile appContent (media)PrototypeN-sphereGroup actionEncryptionMessage passingInternetworkingWechselseitige InformationTwitterElectronic visual displayFacebookDigital photographyInteractive televisionVenn diagramRepresentation (politics)Right anglePhysical systemGoodness of fitDiagramKey (cryptography)System callReal-time operating systemException handlingSlide ruleProfil (magazine)XMLUMLComputer animation
Menu (computing)CircleExecution unitComputer wormRaw image formatBeta functionMultiplication signRight angleoutputN-sphereGoodness of fitMobile appDescriptive statisticsError messageFeedbackComputer animation
Beta functionSoftware repositoryGoogolAndroid (robot)Mobile appCodeClient (computing)Uniform resource locatorCircleFingerprintFormal verificationRepository (publishing)Software testingGroup actionMatrix (mathematics)FamilyDigital photographySmith chartRepository (publishing)CodeGoogolAndroid (robot)Data storage deviceInformationQR codeGroup actionElectronic mailing listN-sphereFamilyDigital photographyMatrix (mathematics)Mobile appTwitterMedical imagingMessage passingFacebookRule of inferenceSpacetimeProfil (magazine)TouchscreenMoment (mathematics)Computer animation
Computing platformAndroid (robot)Constraint (mathematics)Element (mathematics)GoogolN-sphereFormal verificationSign (mathematics)Beta functionData storage deviceInformation privacyElement (mathematics)Matrix (mathematics)Product (business)SpacetimeAndroid (robot)Pay televisionRoundness (object)Vulnerability (computing)Mobile appTouch typingOnline helpProfil (magazine)Information securityGoogolReading (process)Server (computing)Software testingComputer animation
Gamma functionCodeRevision controlOpen sourceProjective planeSlide ruleMatrix (mathematics)Beta functionMobile appN-sphereAliasingRight angleQR codeAndroid (robot)Uniform resource locatoroutputComputer animation
Matrix (mathematics)Client (computing)WebsiteOpen sourceMultiplication signVideoconferencingN-sphereElement (mathematics)Information securityComputing platformGUI widgetPrototypeWeb 2.0Software developerBitRevision controlNP-hardPay televisionCAN busMobile appException handlingBuildingTerm (mathematics)Web pagePhysical systemDevice driverPlanningInformation privacyArithmetic meanRight anglePublic-key cryptographyWeb applicationBeta functionServer (computing)Focus (optics)Open setGoodness of fitProgram flowchartMeeting/Interview
WordInformation securityMobile appN-sphereGoogolVideoconferencingFamilyPlanningTouchscreenPay televisionStrategy gameShared memoryComputer configurationMatrix (mathematics)Expert systemSoftware bugLaptopLink (knot theory)Right angleAddress spaceGUI widgetCASE <Informatik>Error messageLevel (video gaming)Greatest elementQuicksortData storage deviceDoubling the cubeAverageBlogWater vaporTouch typingInternet forumMultiplication signHypermediaShift operatorProduct (business)Meeting/Interview
Meeting/InterviewComputer animation
Point cloudProgram flowchart
Transcript: English(auto-generated)
Hey everybody, I'm Charles, and I'm here to talk to you today about building a social app on top of Matrix. So a little bit about me before we get started. I'm a lead software engineer here at FUTO. I come to this world from a background of CS academic research.
I was a professor for about eight or nine years, and I worked in security and privacy. I was very interested in how do we build real encrypted systems that can protect our data from attackers who want to get at it. At the same time, like a lot of you, I've got a family at home,
and I got very interested at one point about how can I bring these two worlds together and build encrypted systems not only to protect corporate data or national security data, but to protect my data at home for my family and my kid. The company that I work for now is called FUTO. It's a relatively new company.
The current incarnation was founded, I think, in the beginning of 2021 by Aaron Wolf, our CEO, my boss, who was the creator of Yahoo Games back in the day. And our mission that we're working on now at FUTO is we want to empower users and help people to get away from, depending on, you know, the four or five or six major tech giants
that are controlling more and more of our lives and mediating more and more of our interactions that we have with each other nowadays. And so it's a really nice confluence of my own personal goals and then the company's goals, and I hope we're doing some cool things, starting with the project that I'm talking about today.
And so my motivation when I started this was I was a young security and privacy researcher. I had a cute new baby at home, and like all new parents, I wanted to send out these pictures to as many people as possible, right? But at the same time, I was reading in my work life and in the news constantly at that time
all these crazy things that these centralized companies were doing with the data that we give them. And so my wife and I decided very early on, our kid is not going on these centralized services at all, and that put us in kind of a bind because when we looked at the technology space of what we had for sharing photos
with grandmas, grandpas, aunts, uncles, friends, cousins, it really looked like we sort of had to make a choice between things that were convenient and easy for us to blast out those photos or to put them up where everybody could get them later at their leisure.
Or on the other hand, we could go and we could prioritize security and privacy, and there was some really exciting stuff coming out at the time like TextSecure and Signal and then Matrix added end-to-end encryption. But at the same time, all of those products were very focused on interactive chat,
and we tried using Signal with our friends and family for a while, and it worked okay, but it left a lot to be desired. And so we wanted something more, and that's what sent me down the path of working on this project. And I want to say this is not necessarily something that's limited only to parents of new babies.
Maybe you like to travel and you take a lot of cool pictures from your trips and you want to share these with your friends and your family, and you don't want big tech spying on every last move that you make and analyzing every object in the background of every photo that you upload. Maybe you want to run a book club and have interesting discussions with people
and not have every word that you say feed into some algorithm that's going to be used to feed a recommendation algorithm to sell ads to you, or any number of other things that you might want to do to keep up with the people that matter in your life without being spied on and without being reliant on three or four companies
that provide all of our digital life. For now, though, we'll use the baby photos as the motivating example. And so at some point, I sat down and I wrote down the goals of what I wanted, and it turns out they're pretty simple. First of all, I wanted most of the convenience of using something like a centralized service
like Facebook or Google Plus or Myspace or Friendster or any of these things that we all used 20 years ago and gave all of our data away to people that maybe now we regret giving it to. But why those services were successful is because they make life really easy.
I can very easily keep up with the number of people that a human interacts with in a typical human life, one, two, maybe three, 400 people, and probably a much smaller group that I really care about. I can very easily publish some updates and have that go out to everyone that I care about.
And the great thing about those sites is that it's explicitly asynchronous. So I can post whenever I want, and it doesn't bother my friends. And I can post as many times a day as I want, and it's not going to bother them, it's not going to ding their phone until they decide it's time to come and check and scroll through their timeline
and see what I've posted. The second major thing, or actually maybe the first major thing that I wanted being a security and privacy guy, was I wanted most of the protections that you can get right now with an app like Signal. So with Signal, or now with Matrix E2EE, you get confidentiality or secrecy.
So I can send a message to my friends, and only my friends who have been provided with the decryption key are the only people who can read what I said. Similarly, we can get what we call integrity. In very simple terms, it just means that nobody can inject junk into my conversation.
They can't have weird stealth ads, they can't try to steer me towards certain interests that they think I might like. What you see is what you get. And that's what we get from the cryptographic protections of the end-to-end encryption algorithms. And then finally, one thing that we want to do here at FUTO
and that Matrix makes really nice and easy is to get a little bit more independence from the big tech megacorps that are trying to take over the world. Because with Matrix, it's pretty straightforward for a user to run their own server, or if they don't want to run their own server,
at least they're not locked into the same four or five providers that control everything else. So, in a word, what I was looking for was a more secure and private social networking tool for enabling real human relationships between real human people. And this seems to be a pretty pressing need
when I've talked to other people, when I've talked to grandparents, I've talked to new moms, I've talked to middle-aged people. I've had this feeling for a while that Facebook has kind of become a ghost town. It turns out this theory has a name. It's called the dead internet theory. If you want to lose a couple hours of your life
going down a rabbit hole, you can do an internet search for that and find some crazy speculations out there. I won't go into all that right now. Look it up if you're interested. But what I've found is that because Facebook has become kind of a ghost town, and my own theory is that the lack of privacy
has been a major driver of that ghost town status, what you see when you talk to real people, the normals are out there stuck using tools from 20 years ago. People are still using SMS to keep in touch with their grandparents and their grandkids. People are still emailing photos to each other
like it's 2003 or 1999. That kind of sucks because at the same time, we're in this world where we have really slick, really powerful, really cool user interfaces that have been built by these big tech companies for interacting with random internet people that we've never even met.
We're using the coolest technology to keep up with the people who matter the least to us, and we're using the clunkiest, oldest technology to keep up with the people who matter the most. That's backwards, right? So we wanted to change that. So I took a sabbatical from my former academic life.
I watched some Apple tutorials and learned a little bit about making mobile apps, and I made a first prototype of this app that we call Circles. The user interface is designed to be very comfortable and convenient and familiar for users who have used the centralized big tech services,
but at the same time, on the back end, it's all matrix, and so Circles can talk to any standards compliant matrix server. You can host your own. You can connect with people on different servers from you, and we get all of the really cool benefits of matrix almost for free, right?
We get the end-to-end encryption. We get the federation. We get the open standards and the open source code, and it's very easy now for anybody to write a tool that's compatible with what we've got, and we're compatible with tons of other tools in the matrix ecosystem. So to make this a more technical talk, I'll talk a little bit about some of the challenges
that we faced when working on this project. The primary one that I'm going to talk about today is just the issue of trying to figure out, okay, how do we map human social structures that aren't really nice and neat and clean and fit into a nice little square box,
and how do we cram those into a square box, or how do we make those work with kind of a limited data structure that we have? Other work that we've done on the project recently that I won't talk too much about today is mostly around how do we balance protecting users' privacy and at the same time also making it easy
for them to use the app. So one thing that we're working on right now is trying to improve discoverability, right, making it easier for the users to find the friends that they have who are also in the system somewhere, and at the same time, we're kind of treading a fine line because we don't want to make it too easy for random strangers to find you.
That's bad for privacy. We've also done some work. In fact, we built a whole matrix authentication system to make it easier for users who only have a single device, who only want to remember a single password, and make it easier for them to do matrixes secure server-side storage.
But again, today let's talk mostly about the human social structures and the challenge of mapping that onto a system like matrix that was built to do chat rooms. So let's think about what we have right now for online social networks. The big type of relationship that they have, they have different names for it,
but it's a friendship-like relationship, right? On Facebook, it's called being a friend. On LinkedIn, I think it's your contacts. It's basically the same thing, right, somebody that you're connected with, and this is kind of a challenging thing with the current view of matrix as chat rooms
because it's not like I can just go and easily have one matrix room where I can talk to all the people that I care about. Most of them don't know each other, and if we were to try to cram everybody into one room, it gets kind of awkward. If chat rooms were a solution that solved everything,
then we wouldn't need to do anything new, right? I could just get all my friends to install Element or Signal or Telegram or whatever, and we could just have our chat rooms, and we would go from there, and we would all be happy. That's really what it seems like people are doing now, but I think we can do something
that's even easier and more convenient for a lot of use cases. So before we work up to how we're gonna do something better with matrix chat rooms on the backend, first let's take a look at kind of like the easy mode. So let's think about another online social network tool, which is Facebook Groups or Google Groups
or any other branded groups. So what's that look like? Well, with a group, you have really well-defined membership. It's really easy to know exactly who is in the group, who should see the posts that go into the group, and who shouldn't. Moreover, once you're a member of the group, you're connected to every other member of the group,
and it's pretty much exactly the same way. And so again, this is like easy mode, right? So what's the difference between, in terms of like data structures and how we're gonna store stuff on the servers and how we're gonna transfer that to the clients, how is that any different from a normal matrix chat room?
Really, it's only different in terms of the UI. It's just drawn and presented differently to the user. The actual data that we store on the server can be exactly the same. And so just like when we have one interactive chat room for interactive chat, we can have one matrix room for an asynchronous online social network
type of group discussion. So we create one matrix room. Everybody who's a member of the group gets added as a member of the room. And then when somebody posts into the room, everybody in the group can see it, and that's pretty much exactly what we wanted for a Facebook groups type of feature, right?
And so then the only difference between this and the traditional matrix real-time chat is just that the client needs to be different, and it just needs to render each post, not as a little chat bubble, but instead it needs to render it like a social post, right?
And then the convention that we've developed in the world is that a social post has the little profile photo. It's got the little user name, the display name, and maybe the user ID, and then it has the body of the post, and it's got this nice little border around it. And that's what users have been trained to expect
with Twitter and Facebook and G+, and everything else. And so that's pretty easy. We just need a slightly different matrix client with a different UI. Cool, we can do that. Okay, now that we have that, let's think about how we can extend this to represent friend relationships. So again, the tricky thing about friend relationships
is that it's asymmetric, right? If we make a really simple Venn diagram here of my friends and your friends, maybe you and I have some mutual friends, it's really obvious that not all of your friends are also my friends, and not all of my friends are also your friends. And so the insight that I think the internet
has taught us all over the last 10 or 20 years is that whatever you do, do not put everybody all into the same room. That is a recipe for drama and pain and strife. And so really, if we want to make people happy, well, your friends, they're here to see updates from you, right?
They don't know or care about me necessarily, so let's make one room where you can post your updates, all your friends can be members of that room, and then you're good. Also, if we're using Matrix's end-to-end encryption, then it also follows that nobody outside of the circle can read your posts at all.
Cool, that's good. Then we also have these people who are my friends. Well, okay, cool, let's make one room for me where I can post my updates, and all of my friends can be members of that room, and they can get the decryption keys, and they can see the stuff that I post. Cool. So then what if there's somebody
who's our mutual friend, right? They're my friend and they're your friend. Okay, well, no big deal. They just need to be a member of both rooms. And this structure generalizes, right? So for each user in the system, we give them their own room, and that's their room where they're going to post their updates, and then everybody who's their friend
or whatever the relationship is that we're capturing here, right? Maybe this is their room for their neighbors, their family members, their coworkers, whatever it is, right? Whoever it is that they've invited to follow them is a member of that room, and they get to see those posts. So we create one of these rooms for each user,
and then now when I want to see, hey, what have my friends been up to? My client goes out, and it fetches all the recent messages from all the rooms of all my friends, and it goes and it collates these into one nice unified timeline. And then I can scroll through this like I'm on Twitter, like I'm on Facebook, like I'm on any other traditional
centralized social network that is collecting all your data and spying on you. But again now, all of these posts came from matrix rooms that are doing end-to-end encryption, and so now the only people that can see that content are the people who are the members of those rooms.
The other cool thing to point out while we're here is that you're not limited to having only one copy of this structure that I'm showing on the slide here. So right here I've got a circle of three friends. Maybe these are my college friends. Maybe these are my high school friends. I could have six other circles that I'm a member of that would give me different timelines
that I could scroll through and see what that group of people is up to. So we have a prototype app built that does this. It's called Futos Circles. We originally built the app on iOS. We had a beta. We got some really good user feedback,
and then we had some decryption errors, and we're reworking some of the SDK layer right now. We're hoping to wrap that up by the time that FOSDEM happens, and so hopefully very soon after you see this talk, we'll have another beta on iOS ready for you to try out, but it's not quite there yet.
On Android, we have a current beta that's up and running. You can get that from the Google Play Store or from our own F-Droid repository where we have our beta releases. I've got the information here with the URL and the QR code. I'll give that again later too. I've got some screenshots for you. It's a pretty simple app.
It does what I talked about earlier. You can see a list of all of the social circles that you're a member of. You can see a list of all your groups. Once you tap on either of those, you can go and you can scroll through the posts, and again, we render matrix messages just like their Twitter posts or Facebook posts
or Google Plus posts, and you can scroll through your timelines, and the app takes care of all the work of figuring out which rooms are involved in which timelines, fetching the data, decrypting, and displaying it to you, and so again, the user doesn't have to worry too much about all of the underlying technology.
We also have on this screenshot on the right side photo, we can also do photo galleries. I didn't talk too much about that now, but it's pretty straightforward to imagine how we can have a matrix room full of image posts that represents a photo gallery. You can have those that are just for your own use. You can use that as an easy way to share photos
with your friends and family too. We have the apps right now. We're continuing to work on them and try to make them better. At the moment, we're working on improving our discoverability. We have some cool work working on profiles as matrix spaces.
This is inspired by a cool proposal from Henri who works on MindStricks. We're also working on notifications, and then in the rest of 2023, we're hoping to work towards eventually having a full production release on both iPhone and on Android.
The first step towards that, I think we're going to have another round of public beta tests, and then we need to make sure that we get support for MSC 3917. If you're not familiar with that one, that's the fixes for a lot of the security vulnerability that was released late last year. It's the cryptographic verification of all room membership events.
That will give us a really nice security and privacy story. With that, we will work on adding subscriptions via the Google Play Store and the Apple App Store so that then if you have friends who don't have their own matrix server, don't have a matrix account, but they want to connect with you on the Circles app,
we'll make it very easy for them to go in the app, tap a couple of buttons, sign up for a subscription, and we can host their account for hopefully very cheap, just a couple of dollars a month. Then once we get a production released, then we're hoping to try to grow this thing and try to reach normal people and help provide them with a more private
and secure way to stay in touch with the people that matter in their lives. Thanks for watching my talk. If you want to connect with us on Matrix, our main room for the project has the alias Circles on matrix.org. You can also find the code for the iOS and the Android version of the app.
Both of these are open source. They're available on our GitHub with the URLs shown on the slide. Again, you can try the Android beta if you have the Fdroid app. You can just scan this QR code that I'm showing on the slide right now. Once again, thanks and take care.
Okay, so I think we're available now for a Q&A for the talk on building a social app.
And if anybody has questions about Circles, I am around. Had a little bit of difficulty here with getting the upvoted questions widget working again,
but now it seems to be maybe a bit of lag. There we go. Hey, good. Okay, thanks, Julian.
It's a little bit hard to tell if it was working. Oh, no. And getting a little bit of issues with the widget. I saw some questions and then they went away. I don't know. Let's see. Can I? Cool.
Let's see if I can go into the dev room.
Let's see. I have too many widgets, too many things going on. Let's see if I can move this one so I can see.
Let's see. There's a question about the website and the, oh, there's a question about making a web version. It's tempting. It's kind of hard. Coming from a security and privacy background,
the idea of having a web app makes me nervous, right? The security story there is a little bit weaker. Originally, I was very, I guess, afraid of the idea of having all these very short-lived sessions, right? I don't know how much of the down-in-the-weeds details
people know about matrixes, end-to-end encryption, but every time you log in with a new session with a new device ID, you get a new key pair, and that creates a little bit more work for the E2E system to manage all these different public-private key pairs that you've had. It gets a bit messy, and I was very afraid of that as a new developer.
Now, with a little bit more familiarity with the way matrix works, for example, Element handles this really well. And most of the time, you can use Element Web with these little sessions that come and go, and it's totally fine. And so maybe in the future, if we can find a really great intern,
we could have a prototype of circles that runs in a web page or in a desktop thing similar to Element, and maybe that would be something we could try out. I guess personally, I'm coming around to the idea that it's probably going to be something that's going to be necessary,
especially because with the mobile platforms, we're just so locked in, and we're so dependent on these two companies to say yes or no, whether we can have an app at all. It's kind of the opposite of independence, right? So we don't have a web version right now.
We might in the future. I guess stay tuned. I think our focus for 2023 is definitely getting the mobile apps working. Let's see if I can...
And another question. So if it's paid subscription and open source, does this mean that the client is tied to the FUTO server? Not at all. The client right now, I think we have probably about as many users on the beta that are using their own servers as are using ours.
And so the goal is to have it always work with any matrix server, right? So you can stand up your own. The idea is to just make it... If you don't want to run your own server, we want to make it easy for you to get onto one. But we have one more minute. And Andreas asks about, do we have any plans for gaining growth?
In the short term, it's going to be going around and trying to recruit expert users, right? Going to security conferences, talking to matrix people, and then let you recommend to your friends. Let's see.
We're continuing here in the room for the talk. If you're still with us, I think we've been booted out of the matrix online dev room. Yeah, there we go.
So I just posted the address for this Q&A room into the matrix dev room in case anybody wants to come in here and chat. Let's see.
Juggling lots of widgets on a laptop screen here. All right. Sorry for the confusion earlier. I'm having a little trouble juggling it all. Let's see. I'll stick around for another couple of minutes.
And if nobody has any questions right here, you can feel free to ask. Let's see. I'll paste the link for... Oh, no, Andreas's question.
The answer got cut off. Oh, no, I was too slow. So this was about growth and monetization, I think. So the short answer is that once we get the apps
working reasonably well and the bugs ironed out, I think our first step to getting adoption is to go to basically the people like you, the people in this room, the people who go to Fosdom, the people who go to the academic security research conferences where I used to hang out
and sell the people who really know that this is good, right? And the people who can make an authoritative recommendation to their friends that, yeah, this thing is not a scam. Yes, the security of this is actually up to par. The protection of this is actually what you want and what you need. And if we can grow from there by getting kind of like the expert recommenders,
then they can tell their friends and by word of mouth, we can grow kind of family by family. And then eventually, we will have families where they're both on and then people can start to find their friends. But I think the growth strategy is probably one family at a time.
And we'll use things like Apple and Google provide these family subscription options where one person can pay and they can get accounts for like five or six of their people in there. I think Apple calls it family sharing. I forget the name of what Google calls it. So that's kind of the plan.
Let's see if I can catch up on any other questions that I missed. It was a little hard to see my video and the chat on the side at the same time. Maybe I need a bigger screen.
It's still difficult. Okay, okay, cool.
Well, thank you all for watching. Give the app a try. And let us know if you run into any difficulties or anything that feels weird that isn't easy or convenient. And we'll try to get it as good as we can make it this year before we do a public release. I'll hang out in the circles room over on circlesonmatrix.org
for a few more minutes if anybody wants to talk there. I check that every day. So if you have questions or ideas or anything else, let us know. Thanks again.