Building a social app on top of Matrix
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
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 | 10.5446/61461 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2023317 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
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
06:45
Focus (optics)Computer networkFacebookFamilyNormal (geometry)TheoryInternetworkingEmailReal numberComputer clusterVideo gameInformation privacyTheoryInternetworkingFamilyFacebookRandomizationTouch typingDigital photographyDevice driverNormal (geometry)User interfaceTerm (mathematics)Computer animation
08:34
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
09:38
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
13:06
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
18:09
Menu (computing)CircleExecution unitComputer wormRaw image formatBeta functionMultiplication signRight angleoutputN-sphereGoodness of fitMobile appDescriptive statisticsError messageFeedbackComputer animation
18:41
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
20:05
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
21:47
Gamma functionCodeRevision controlOpen sourceProjective planeSlide ruleMatrix (mathematics)Beta functionMobile appN-sphereAliasingRight angleQR codeAndroid (robot)Uniform resource locatoroutputComputer animation
22:20
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
27:55
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
33:19
Meeting/InterviewComputer animation
33:58
Point cloudProgram flowchart
Transcript: English(auto-generated)
00:06
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.
00:23
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,
00:42
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.
01:01
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
01:22
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.
01:41
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
02:05
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
02:24
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.
02:42
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,
03:02
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.
03:23
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
03:42
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
04:04
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
04:24
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.
04:42
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.
05:04
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
05:22
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.
05:43
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.
06:02
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
06:24
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,
06:40
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
07:02
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
07:20
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
07:41
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
08:00
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.
08:21
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.
08:40
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,
09:01
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?
09:21
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
09:40
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,
10:02
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
10:22
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.
10:41
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.
11:01
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,
11:21
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
11:44
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,
12:01
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
12:20
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
12:42
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,
13:01
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?
13:22
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
13:42
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?
14:02
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?
14:21
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
14:40
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
15:02
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
15:21
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?
15:40
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.
16:02
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
16:21
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
16:42
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,
17:02
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
17:22
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.
17:41
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
18:01
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,
18:21
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.
18:41
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.
19:00
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
19:21
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.
19:40
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
20:01
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.
20:21
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.
20:40
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.
21:01
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,
21:21
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
21:42
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.
22:03
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.
22:30
Okay, so I think we're available now for a Q&A for the talk on building a social app.
22:40
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,
23:01
but now it seems to be maybe a bit of lag. There we go. Hey, good. Okay, thanks, Julian.
23:21
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.
23:49
Let's see if I can go into the dev room.
24:07
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.
24:23
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,
24:41
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
25:01
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.
25:24
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,
25:43
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,
26:01
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.
26:21
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...
26:45
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.
27:00
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?
27:21
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.
27:46
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.
29:31
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.
29:42
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.
30:02
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.
30:27
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
30:43
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
31:02
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,
31:24
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.
31:42
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.
32:05
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.
32:25
It's still difficult. Okay, okay, cool.
32:40
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
33:03
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.