Eric (0:14) Hey there, and welcome to the office of the IT guy, the show where we celebrate the people and talk about the technology that's changing our world. (0:21) I am your host, Eric, the IT guy, Hendrix, and my mission here is to share a love for open source and help build a stronger community. (0:28) I'm so thankful that you tuned in because the office is now open. (0:49) Hey there, and welcome to the Office of the IT Guy episode one. (0:53) I am your host, apparently, Eric, the IT guy Hendrix. Eric (0:58) It is great to see you all here. (1:00) I'm really excited to to kick this off. (1:02) Any of you that know me know that I've been part of Linux unplugged, part of the Ask Noah show, then the sudo show, and a little bit of everything else, and then took some time off from the sudo show to do, RHEL presents and into the terminal with Red Hat. (1:18) So, you know, I've kind of been all over the place, but I'm really excited to kind of just sit back and hang out with y'all, kinda do my own thing a little bit. (1:25) So first off, I hope you'll love the intros and and the graphics. Eric (1:29) Thank you to Freehive, Freehive Agency. (1:31) They do a lot of graphic design, a lot of marketing work out there. (1:35) If you if you're familiar with, like, system seventy six marketing and and some other companies, they are very, very active. (1:44) They graciously helped me get all that put together. (1:47) It's it looks awesome. Eric (1:48) It feels awesome. (1:49) I'm really excited about it. (1:50) So with that being said, today, we've got an awesome episode. (1:53) I keep saying awesome, but I'm I'm excited. (1:56) We've been talking about this for for months now. Eric (1:58) And then, everything got put on hold with, with this little thing called Red Hat Summit and then Red Hat Enterprise Linux nine. (2:05) So now here we are, finally, office of the IT guy. (2:09) So thank you all for joining me. (2:10) I'm really excited. (2:11) See a couple of folks in chat already. Eric (2:14) So bear with me. (2:15) This is a new show where I'm I'm gonna try and get, get things kind of integrated and and, and and put together. (2:22) But to do that, I need a platform to to to build all this out of. (2:28) And, as you all know, I love open source. (2:32) I believe that open source is the way to build technology and the way to build community. Eric (2:36) So I can't think of any better way, any better place to to look for that platform, any better idea to to look for building a community than Element. (2:48) Element and the the the the Matrix protocol, was we Brandon and I in the pseudo show, we we took a chance, and we started building out a community on, on the the matrix.org instance using Element as the front end, and it worked out great. (3:05) So with this show, we're we're gonna follow in those footsteps. (3:09) So I can't think of anybody better to talk to about Element and Matrix than a friend of mine, Carl Abbott. (3:14) He is a product manager over at Element. Eric (3:16) So with that being said, let's give a warm, office, the IT guy. (3:21) Welcome to Carl Abbott. Karl (3:24) Thank you for having me on, Eric. (3:25) To Eric (3:26) I almost said the pseudo show. (3:27) Could Yeah. (3:28) Yeah. (3:28) Stumbled. Karl (3:31) No. (3:31) My name is Carl Abbott. (3:32) I am a product manager at Element. (3:34) I've been there for a little over four months now. (3:36) Previously, I worked with Eric at Red Hat, so that's how we got to know each other. Karl (3:40) And, yeah, he's right. (3:41) We've been talking about this for months. (3:42) We've been talking about talking about Element on a podcast of his own, for for quite some time. (3:48) And and it's definitely a topic that I'm I'm quite passionate about. (3:51) I mean, it's it's why I left a great company like Red Hat to go work at a place like Element is because I think there's a lot of exciting stuff that Element is doing. Karl (4:00) I find the Matrix protocol and the promise of Matrix to be, something that deeply aligns with my own ethos, and, so it's it's good stuff. (4:09) Happy to be be here on the show. Eric (4:11) Yeah. (4:12) Thank you for thank you, first off, for your patience because this it this has been a while in the making, and we we're gonna do this in April, and it's just like, nope. (4:20) I can't. (4:20) I've got, like, three summit sessions and a major release coming up. (4:24) It's like we just first off, thank you so much for your patience. Eric (4:27) Second of all, thank you for being, my guest today for our inaugural episode of Into the Terminal, or jeez. (4:33) Wow. Karl (4:35) For That's a different show. Eric (4:37) That is a completely different show. (4:39) Completely different topic. (4:40) But Karl (4:40) I just got out of the terminal to come on here. (4:43) But yeah. Eric (4:45) Oh, it's been a day. (4:47) Let me tell you. (4:47) But, yeah, we we had some fun on Into the Terminal this morning. (4:50) We had some terminal issues during terminal, Into the Terminal, so I think that's why that's on my brain. (4:54) But thank you for kicking helping me kick off, the Alpha City IT guy, series. Eric (5:00) So with that said, you you kinda mentioned that, that you you're a former Red Hatter. (5:06) And and based on based on your work history, you've you've been in IT pretty much your entire career and and very very much focused on open source. (5:14) So I gotta I gotta kinda ask for those that don't know you, what drew you to open source in the first place? Karl (5:20) Oh, man. (5:21) That's been so long ago. (5:23) You're asking me to remember something that's almost twenty years ago, at this point. (5:28) I was a college student, like, all of us have probably been at some point or maybe not. (5:34) Maybe you're going to be a college student. Karl (5:36) But, basically, I was there, and, you know, it was kind of the late nineties, early two thousands. (5:42) And software was generally proprietary, which meant that unless you were willing to steal it off the Internet, it was hard to come by. (5:49) You had to pay for it, and college students don't have a lot of money. (5:52) And I had seen and heard a lot about this thing called Linux, which was a completely free operating system with all this free software, and it's like, well, that actually sounds really cool. (6:01) I was in the computer science program down at University of Southern Mississippi, And I only had a dial up modem at the time. Karl (6:08) I didn't quite have cable, and it's like the idea of downloading these big ISOs was rather daunting. (6:12) So I went ahead and bought SUSE Linux seven dot two box set and got the DVD sent to me, and I got started with it. (6:21) And that just that began a very long period of playing around with Linux and seeing all the cool stuff you could do with it, getting things like CD burners to work because that was, that was a hard thing at first, and just getting all the drivers and this and that to get loaded up. (6:36) And, yeah, I mean, it just it ballooned from there. Eric (6:42) Yeah. (6:42) I can I can relate? (6:45) My early days in Linux were trying out this Ubuntu thing. (6:49) That was pretty cool. (6:51) Then I found this other thing that was kinda similar to what I was taking classes in. Eric (6:56) A lot of the classes I had were based on Red Hat Linux at the time. (7:01) And some folks may remember back before Fedora Linux was a thing, how it was Fedora Core. (7:10) Yeah. (7:10) Fedora yeah. (7:11) It was Yeah. Eric (7:11) It was Fedora Core. (7:12) Four. (7:12) I think Fedora four Fedora Core four, I think, might have been the first one I was Okay. (7:17) I tried using. (7:18) And wireless adapters were the bane of every every nerd's existence back in those days. Karl (7:26) Yeah. (7:26) I can remember sitting down PCMCIA card in the slot, source code working on compiling the kernel module to get that thing to load, then get on the Wi Fi. (7:36) And it was, like, eight zero two eleven b or something. Eric (7:39) Alright. Karl (7:40) So yeah. (7:41) That's a long time ago. Eric (7:42) We've come a long way, and and, you know, I kind of one one of the funny things about finding, Element, and we'll get into this little bit later when we talk about bridging, was one of my favorite applications back in the early days of getting started with Linux and open source was Pigeon. Karl (7:58) Mhmm. Eric (7:59) Pigeon was amazing for someone like me who's on just about every social media and instant messaging platform since, like, the day that I got my own laptop. (8:09) And up till now, I'm I'm everywhere. (8:12) And so Pigeon was was amazing because you could take your AIM, your AOL Instant Messenger, and IRC, and you could just bridge all these things into a single application. (8:26) ICQ. (8:26) Yep. Eric (8:27) Yep. (8:27) And and it was it was just it was so nice to have all those Karl (8:30) in one Yahoo, all those one at this point. (8:36) Yeah. (8:36) I had something on most all of those as well. (8:38) And it was nice to be able to have one application that you signed in, and it connected you to all these services, and then you could go talk to all the people on the different services. (8:46) Yeah. Karl (8:47) It was so nice. (8:47) Worked. Eric (8:49) It it it really did. (8:50) Considering what technology was like, you know, fifteen, twenty years ago, it's amazing that it worked. Karl (8:55) It wasn't that much different. (8:56) It just had different different names, different Persian numbers. (9:01) The It's same stuff. (9:02) We're still just trying to talk over computers. (9:04) And Eric (9:06) So so you you started out with with Linux. (9:09) You you got a computer science major. (9:11) You spent a long time at Red Hat. (9:13) And and so so what was about elements and matrix? (9:17) I mean, how did that transition happen? Karl (9:20) Yeah. (9:21) So I'll tell this story. (9:24) This is a fun story. (9:25) If you're listening out there, Ben Briard, I am gonna call tell a story real quick. (9:31) I joined the Red Hat Enterprise Linux product management team, back now in 2019, summer of nineteen, kinda spring. Karl (9:39) And then that summer, we had an on-site. (9:41) And I had just come out of technical account management in which I was using a Mac. (9:46) And Ben gave me a lot of crap about using a Mac as a product manager for Red Hat Enterprise Linux. (9:53) I was like, alright. (9:54) Fine. Karl (9:54) Fine. (9:55) I'll I'll go back to Linux. (9:57) I'll put Linux on my Mac, and I'll I'll figure it out. (10:00) But I was very deeply embedded in the iMessage ecosystem at the time. (10:04) I appreciate the end to end encrypted aspect of iMessage and the fact that I could use iMessage on my Mac. Karl (10:10) I could use it on my phone. (10:11) I could pretty much use it anywhere that I needed to, and that meant that I could talk to people if I'm on my computer. (10:17) You know, in this regard, I'm very old school. (10:19) I like my hard keyboard on my desk as opposed to the soft keyboard on my phone. (10:24) That thing drives me nuts, but give me a real keyboard and we're good. Karl (10:28) So being able to actually talk over the computer on this this network was was fascinating. (10:32) It was great. (10:33) So it's like, okay. (10:34) Well, in Linux, you can't connect to iMessage. (10:36) Yeah. Karl (10:36) That's just that's a mind blown problem. (10:39) You just can't Right. (10:40) Can't do that. (10:41) So what am I gonna do? (10:43) Well, I need something that's end to end encrypted because I don't wanna be just talking out in plain text. Karl (10:48) I do want that type of protection. (10:50) And as a result, you know, it's like, okay. (10:52) Let me go look at my options. (10:53) And signal was a very obvious option. (10:55) So I I tried signal at first, and I brought signal on. Karl (10:58) The problem with signal at the time was that it would disconnect the phone and the client application would disconnect every two to three days. (11:06) And you'd have to go back through the repairing process. (11:08) And I'm like, I'm not going to repair my phone to my computer every couple of days just to be able to chat. (11:13) And this is really ridiculous, especially since I don't think it notified you that that was the problem. (11:18) It's just you went to go use it and it's like, hey, I'm I'm disconnected now. Karl (11:21) Mhmm. (11:22) And so you'd missed messages and it was just like, this is a terrible experience. (11:25) I I can't deal with this. (11:27) And I had previously seen matrix.org, and I thought, well, that sounds really cool, but how do you get started with Matrix? (11:36) Because it wasn't super clear from the website. Karl (11:38) I mean, it's like, oh, there's all these different clients and everything can talk Matrix, and you can just, you know, just need a Matrix enabled client. (11:44) You go get an ID, and it's like, okay. (11:47) That sounds a little bit much. (11:48) So that's why I went to Signal first. (11:49) And, then I went back and I said, okay. Karl (11:52) I'm gonna figure this Matrix thing out. (11:54) At the time, the client was called riot.im. (11:57) It was not Element yet. (11:59) And things like cross signing that a lot of people, myself included, at this point take for granted today just did not exist. (12:05) So this was fun. Karl (12:07) I I said, okay. (12:08) You know, this this is actually gonna work because I can run this thing in a container on my computer, basically, what's now Element Web. (12:15) I was able to run it in a container. (12:17) And so I could get you know, I have my end to end encryption over the matrix communications protocol, and I had my phone able to be connected with the the mobile app. (12:27) And, basically, I'm like, yeah. Karl (12:28) This is great. (12:29) Except every single time you log in to something, it's a device in in the Matrix ecosystem, and that still holds true today. (12:37) But oh, yeah. (12:38) Absolutely. (12:39) And this wrapper was a godsend. Karl (12:40) That made things much, much easier. (12:43) But, you know, you've got everything as a device. (12:47) But before cross signing, you had to sign, you had to verify every single one of those devices. (12:51) So, like, the moment that I got on the moment that I brought my mobile phone into the picture, I had to say my mobile phone is good. (13:01) Because I use this to talk to my wife and I wanted an encrypted room with her, she also needed to say, yes, Carl's mobile phone is good. Karl (13:10) Yes, Carl's web browser is good. (13:12) Yes, my wife's web browser is good. (13:14) Yes, my wife's phone is good. (13:15) And we have to both sign all of these devices to then be able to say, okay. (13:21) We've got a verified end to end encrypted communication channel in place. Karl (13:26) Now once you get through the hassle that that was, everything worked and it was in place and you didn't touch it, you left it be. (13:32) Now with cross signing, it's great because if I add a new device, all I have to do is say, yeah, that's me. (13:38) I verified that device myself. (13:40) And then because of the fact that you trust me already, you don't have to verify that new device. (13:46) We we don't have to go through that process. Karl (13:48) So cross signing brought that the the barrier to entry way way down. (13:53) But, yeah, 2039 was a very different time in the matrix ecosystem, and things weren't quite as far along as they are now. (13:59) But that's what got me started down that platform. (14:01) And the more that I read about Matrix, the more that I read about Element, I watched a couple of the OpenTech will save us at the beginning of the pandemic, kinda early twenty twenty. (14:09) They kicked off this OpenTech will save us initiative, and they were talking about how, really, the only way forward away from basically a world of centralized big tech companies controlling everything about you is to go into decentralized technology and to have open technology. Karl (14:25) And so this this resonated with me because this is you know, it's it's definitely been a theme through open source, for quite some time. (14:31) And it's like, yeah. (14:32) You know, it's it's not just let's go kill the big guy. (14:35) It's, actually, no. (14:37) The the big centralized guy is out there taking all of our data and using it for their advantage at our disadvantage. Karl (14:43) So there's there's actually some some serious issues there. Eric (14:46) Right. (14:47) Well, and it sounds like you you came across, Matrix not, not too much sooner than I did, because it was it was still riot at the time, but cross signing was a thing because I I can't imagine because I've got, I've got a MacBook. (15:03) I've got an x one carbon. (15:05) I've got a custom built workstation. (15:06) I've got an iPhone, an iPad. Eric (15:08) I've got all these devices. (15:09) And even just in a desktop perspective, I'd I'd jump between Firefox, Chrome, and the the the installable desktop app. (15:19) And I I remember those early days. (15:21) Right right as cross signing was coming out, it was like Mhmm. (15:24) Oh, this is terrible because everyone has to approve all, like, six of my devices plus browsers. Eric (15:30) It's just like, no. (15:31) This this isn't Karl (15:31) It it was really hard to sell that idea to anybody outside of the nontechnical crowd. (15:36) Right. (15:37) It was definitely a barrier to entry. Eric (15:39) But, I mean, now it's now it's great. (15:41) I just I verify different devices against an already signed in device, and it's it's very easy. (15:46) It's very straightforward. (15:48) But we've we've kinda skirted around this issue. (15:51) Yep. Eric (15:51) And we've kinda talked about some of the, some of the benefits to it. (15:55) But other than the really awesome Matrix move or other than the really awesome movie with Keanu Reeves, what is The Matrix? (16:02) I figured I'd take that pun away before you could use it. Karl (16:05) You took that pun from me. (16:06) Okay. (16:06) Yeah. (16:07) No. (16:08) So Matrix is and this almost sounds marketish, but it is what it is. Karl (16:13) It's a real time communications platform. (16:17) And on that platform, you get what's called a Matrix ID. (16:20) That matrix ID is like your email address for real time communications. (16:25) What do we mean by real time communications? (16:27) Well, what we're doing right now is real time communications. Karl (16:30) So there's no reason we couldn't do all these things on matrix where we've got people chatting with us, you've got the video, you and me, we're talking. (16:37) You know, we we do actually have a matrix based video platform called Element Call where everything, the signaling layer, it's all done over matrix. (16:46) So I mean, it's WebRTC, but the signaling layer is matrix, which is really cool. (16:51) But that these are all forms of real time communications. (16:55) And that matrix ID is kinda like the modern email address because if you know my matrix ID, you can give me a voice call, you can give me a video call, we can get started on a call like this. Karl (17:04) You can reach me on matrix.org. (17:05) You can chat with me right now if you want. (17:07) I mean, it's you just had it up there. (17:09) It's at k abbott, k a b b o t t, colon matrix dot org. (17:13) If you are on matrix anywhere, any client that you're using, you can go say, hey. Karl (17:18) I wanna chat with this ID, and you can immediately pull that up. (17:21) And if your client supports video chat, you could give me a video call. (17:24) Please don't, but you could. (17:26) And then I'd have a video call right here with you and and, you know, it'd be be right there. (17:30) So the matrix protocol in and of itself allows for real time communications, but so do a lot of other things. Karl (17:38) You know, there's a lot of platforms out there that allow for real time communications. (17:41) So what makes Matrix different? (17:43) Well, first off, Matrix is an open communications platform based on the Matrix open standard. (17:50) And who says it's a standard? (17:51) We say it's a standard. Karl (17:54) We have certainly had discussions around should we go get a standards body to actually license the matrix standard and to say, hey. (18:00) This is an official standard. (18:02) But the very fact is if a bunch of people come together and they say, we've made a standard and this is how it's going to work, and everybody then applies by the rules of that standard, well, you effectively made a de facto standard. (18:13) So it's a standard, and it is an open standard. (18:17) And I I got every time I talk about standards, I can't help but think of that x k c d comic where they're like, oh, we've got 15 standards, and they're all broken. Karl (18:25) Let's make a new standard. (18:26) No. (18:27) This is a good standard. Eric (18:28) Three months later, we have 16 standards in your opinion. Karl (18:31) This has a lot of momentum behind it. (18:34) It has a lot of good people involved in it, and so we've made a good standard. (18:41) Alright. (18:42) And then other things that are different is that we're decentralized. (18:46) That's a really key part of the matrix communications platform because unlike platforms like Signal and WhatsApp and Teams and Slack, those are all centralized. Karl (18:56) And what we mean by centralized is that one entity controls the entire network. (19:01) So, like, if Slack goes down, Slack is down. (19:05) There is no way around that. (19:07) If signal goes down, signal's down. (19:09) There's no way you can talk on signal until that comes back up. Karl (19:13) In matrix, because it is decentralized, if a matrix server goes down, well, the users on that matrix server are completely out of luck. (19:19) They're down. (19:20) But there's many, many matrix servers. (19:22) So other people talking matrix that aren't talking to the people on this down server are fine, and they can keep talking matrix. (19:29) And that's one of the benefits of decentralization. Karl (19:32) The other benefit of decentralization is that we don't control it. (19:36) There's no one controlling entity. (19:39) You can run a matrix.org account that's provided for free by the Matrix Foundation, and you can go out there and get that free matrix.org account right now, today, and you can be up and running. (19:50) Very super easy to do. (19:51) In fact, I encourage everybody, if you're not on Matrix already, go do that and then explore and play around and see what it's all about. Karl (19:58) But if you go, you know, my Matrix Foundation, they're kinda squirrely. (20:02) I don't like them anymore. (20:04) Stand up your own home server because it's a simple open source piece of software that you can go stand up. (20:11) Yeah. (20:11) You've gotta maintain it, and you've gotta have a little bit of sysadmin know how to do that, but you get the thing set up, and you watch the updates and you keep applying the updates when necessary, you can go stand your own home server up and then you control everything. Karl (20:24) You control, like, access, you control what it's logging, you control how often it logs, how often it clears logs. (20:30) All those things that you would wanna do, you can do that. (20:33) So you can become your own chat provider, and you can still talk to everybody across the open federation on matrix.org or, you know, the IT guy eric.com. (20:42) You know, all these different home servers that are out there, you can go talk across that federation. (20:47) And so that's one of the key things about being decentralized is not only does it mean that not one entity controls it, but it means that anybody can decide how much control they want. Karl (20:57) And you can go all the way from the typical user interaction where, okay, I'm on matrix.org and I've got my free account to, I decided I'm gonna build my own home server and I'm gonna put it up there and I'm gonna host my own self on there and I'm gonna put all these experimental plugins that may break the whole thing tomorrow. (21:10) But you know what? (21:11) I'm having fun, and I can do it, and I can control it. (21:13) So decentralization really does bring us that. (21:16) And, yeah, also, we talk about federation. Karl (21:18) Federation is basically just allowing all these servers to talk to each other. (21:23) And one thing that's really cool about the matrix protocol is that you can define how much federation you want. (21:27) So, like, if you're a business and you don't wanna federate with anybody else, you're just like, we just want a chat server for our business, you can have a completely closed federation where effectively you have, maybe you only have one home server. (21:38) You know, you could do a one home server model where it's just closed and that's it. (21:42) But you could have multiple home servers for different regions, and you could allow them to have federation between them, but not to the greater, matrix world. Karl (21:50) But then you can also where you get your biggest bang for your buck is when you actually do open up your federation to the greater Matrix world because then you can have parts of your server where with spaces, which is a a Matrix spec feature that is available through Element, you can actually say, only people from my company should have access to the rooms in this space and should have access to this space. (22:12) So you can carve out your closed federation effectively. (22:15) And then you can have another space where you actually let, like, partners and customers come talk to you. (22:19) So you could actually bring other people in, and this could all happen on the same home server, you know, with users from the same home server. (22:25) Mhmm. Karl (22:25) So there's a lot of ways you can slice and dice that federation. (22:28) And while a typical business mind is, yeah, let's keep it closed, there are benefits to opening that and then using the security model that's in place to carve out who's gonna be allowed to go where. Eric (22:42) And and then there's crazy people like me that have a little bit of everything. (22:45) I have a matrix.org ID. (22:47) I have a the Fedora community hosts their own home server. (22:51) I've got an ID there. (22:52) I I pay the the $5 a month or whatever it is for for EMS, the the hosted solution for for Element, and then I stood up my own home server. Eric (23:02) So I've I've got IDs everywhere. Karl (23:07) I've got two right now. (23:08) I've got a work one and a personal one, but that's it. Eric (23:11) Well, and and being able to being able to categorize things and and put different groups into different spaces really helps me kind of separate out my day. (23:21) So, like, I've even got my Google Chat from work, bridged into, into my into my own home server. (23:29) So what's great is I can be talking to people, out in the community, talking talking in some of the different tech chats, like hashtag fedora or hashtag sent to a stream or something like that. (23:40) But then I can also get notified that, hey. (23:43) Google Chat just re received this message from your boss, and he wants to know, you know, why you're screwing around on on Sent To Us Streams IRC instead of, you know, partying. Eric (23:51) That hasn't happened, but, you know, it could. (23:53) Yep. (23:53) But it's it's really nice because like those days back in Pigeon, I've got all these bridges set up, and and we'll we'll kinda circle back to that here in a minute. (24:01) Mhmm. (24:01) But between, because I mean, you went the signal route. Eric (24:04) I went the telegram route. (24:05) Because when I when I started getting involved with with the open source community and some of the different podcast communities that were out there, telegram was all the rage. (24:14) Mhmm. (24:14) And so now today, I lean very heavily on my telegram on my telegram bridge. (24:20) I do I'm in I'm in a few different Slack communities. Eric (24:23) So that's not only can you set up federation and can you set up spaces that are private or public, but you can also if you're running a home server, you could also set up a number of different bridges. (24:35) And there's, like, 12 or 15 different community focused bridges. (24:40) So do you wanna talk tell us a little bit about the Yeah. Karl (24:42) We can talk about bridges. (24:44) So EMS one or Element one by EMS, Element Matrix Services, that's actually the team that I work on. (24:51) So I I work with those guys on a regular basis. (24:54) My job specifically at Element is to work on our on premise installer and getting a good on premise story for our enterprise customers, actually. (25:02) So that's why I'm in EMS is because EMS is providing the cloud experience, and now we're working on the the on premise experience. Karl (25:10) And we're working to unify that as not only for customer benefit to be able to have the same experience whether you're doing on prem or you're doing in the cloud. (25:19) Running your home server is is really what we're in the business of. (25:22) But also, so that as a company, we're we're doing things one way. (25:26) You know, we we kinda come up with the gold standard of how to build and orchestrate all these services that you would need to do. (25:32) But you're right. Karl (25:33) Bridging is an a very important part of the matrix ecosystem. (25:36) We have element one that you can buy from EMS that has, I think, three or four bridges. (25:40) And then if you buy element home, you get a few more bridges. (25:43) And it's all the common networks that you'd expect to see. (25:46) You've got things on there, like you've got signal, you've got a telegram bridge. Karl (25:50) There is a Microsoft Teams bridge, and it seems the Slack bridge is out there, the IRC bridge. (25:56) There may be one WhatsApp. (25:59) Yeah. (25:59) There's a WhatsApp bridge. (26:00) But there are all these different bridges. Karl (26:02) And effectively, what a bridge allows you to do is it allows you to identify yourself on the other network and then connect the two. (26:08) So effectively, if you've got a room on, say, Slack that you wanna monitor, because you gotta be in the Slack channel because somebody told you, yeah, you bet you need to be in the Slack channel. (26:19) You can create a matrix room, and you can then bridge that Slack channel into that matrix room. (26:24) And effectively, at that point, you can sit there and type all day long in that matrix room, and people on Slack see those messages as if you were on Slack. (26:33) And if you've got more people that need to be in that Slack room, you can just invite them to the same matrix room, and you only have to have the bridge across once, and then they can participate from there. Karl (26:41) And the bridge does all this really cool translation work. (26:44) Same story with Signal. (26:45) I mean, you can immediately connect your Signal account, and then, you just tell it what phone number you wanna message. (26:51) And before you know it, you've got a matrix room that's with that person on Signal, and so you can sit there and talk somebody. (26:56) So they're sitting there in their signal client, and you're sitting there in your element client, and you're talking to them, and they're talking to you, and and nobody's really the wiser there. Karl (27:04) I I mean, there's a few little interface details that tell you, yeah, this person's bridged. (27:08) But outside of a few little things like that, yeah, I mean, it really does bring it all into one interface so that really at the end of the day, you're looking at this interface that's got all this great stuff in it. (27:19) It's got all this connectivity to all these different chat platforms, and that's really exciting. (27:23) I mean, it's a it's a bridge, which is literally what it is. Eric (27:26) But Right. Karl (27:26) It is a bridge between this world where everybody's on a 100 different chat platforms and a world where everybody is on one where everybody is on one centralized standard, like Matrix. (27:41) Mhmm. (27:42) And then everything talks Matrix. (27:44) Because realistically, there's no reason WhatsApp couldn't talk Matrix. (27:48) There's no reason Signal couldn't talk matrix. Karl (27:50) There's no reason that these other platforms couldn't speak it. (27:53) It is an open standard. (27:55) And they could build their own, you know, customizations, reasons you should use our platform as opposed to everybody else's. (28:01) You can do all that. (28:02) You still have differentiation on top, but there is an open standard in matrix to be able to allow for real time communication. Karl (28:09) So if everybody uses that as a mechanism that they can talk, then we kinda get out of this idea that, okay. (28:17) I'm gonna go build a silo. (28:19) I'm gonna get everybody into my silo, and only my silo is gonna win. (28:23) And anybody who doesn't wanna talk on my silo by my rules, well, You know? (28:28) And and that's what happens when you've got this whole centralized world. Karl (28:31) I mean, people are really quick to go to the silo model because the silo model has shown in a lot of places where that's been applied that you can really get to a point where you have network effect and you build up very fast and you get, you know, once you get network effect, that's the scenario wherein, I get on this thing and I say, hey, Eric. (28:49) This is really cool. (28:50) You need to join. (28:51) And then you go tell 20 of your friends and they join and, you know, before you know it, the whole thing's ballooning and everybody's joining your platform. (28:57) That's when you start making a lot of money because you can turn around and tell your investors, look at how big our our platform is growing. Karl (29:01) It's up into the right, and it is just astronomical growth. (29:04) Look at this network effect taking off. (29:06) But, the dangers of that is that all of a sudden, you know, there is this one entity, this one nexus of control, and that if you're in that nexus of control, you can't talk to the people that are in some other silo. (29:17) I mean, if I'm on WhatsApp, I can't talk to people on Signal. (29:20) If I'm on Signal, I can't talk to people on Telegram. Karl (29:23) But if I'm on Matrix, I can talk to anybody on Matrix. (29:25) That means I could be on Element. (29:26) I could be on FluffyChat. (29:27) I could be on all these different clients that are in the Matrix ecosystem. (29:32) I could be on my own server. Karl (29:33) I could be on Eric's server. (29:34) I could be on the Matrix server. (29:36) I could be on all these different servers, and I could talk to people without having to deal with that. (29:43) So that's the bridges are a great spot for where we are today. (29:46) Mhmm. Karl (29:47) But at the end of the day, they kind of encumber where we wanna be, which is everybody on a matrix enabled client. (29:53) Because once you once everybody talks this open standard across the board, then it doesn't really matter what service we're going with, what client we're using. (30:02) We're all able to speak to each other. (30:04) And that really is kind of the goal of Matrix, is to have that as basically just this communications fabric that everybody uses. Eric (30:13) So we we actually had a comment in chat about how awesome bridges are, especially for communities because you you you get that you start to get that network effect. (30:23) But, in fact, the comment was that the first time that they ever had an IRC user answering a Slack user's question over a room that was bridged across multiple platforms was just mind blowing. (30:37) Yes. (30:38) It is. (30:38) I mean Karl (30:39) you don't even have to be on Matrix for that glue to work. (30:42) Because if you glue all these rooms in through the same place at Matrix, you can be over on IRC and respond to the person on Slack and have no idea you just did that. Eric (30:51) Well and and to me, that that is a salvation for some of some of the, some of my older sysadmin friends that Karl (30:58) Mhmm. Eric (30:59) Live and die by IRC, that they we will take their IRC handle out of their cold dead fingers. (31:04) I mean, they are that married to IRC. (31:06) It's like, we find We are Karl (31:08) a company of IRC lovers. (31:10) I I mean, all the people, our founders, everybody who's in the management ranks, they all grew up with IRC, and they all love IRC. (31:19) We wanna be the evolution of IRC, and we think we've achieved that. (31:24) But, yeah, there's there's a lot of IRC love within Element and Matrix. Eric (31:28) Yeah. (31:28) I mean, since I stood at my home server just a few weeks ago, I haven't been more active on IRC in years than I have been the last few weeks. (31:36) So I I can definitely relate to that. Karl (31:38) Yeah. (31:38) There's a silver blue channel on Matrix. (31:41) I'm not sure if it's wired into IRC or not. (31:43) If it is, I've been chatting on IRC a decent bit lately, but I have no idea where these people are coming from. (31:48) They just they're in the Silverblue Room on Matrix. Karl (31:50) I haven't dug in to see how is this thing wired. (31:54) Is it connected to anything else? (31:56) Silverblue colon fedoraproject.org and, you know Eric (31:59) I think I think all the fedoraproject.org rooms are matrix rooms that have then had, like, IRC rooms bridged down. Karl (32:07) Yeah. (32:07) I kinda wondered if they didn't have an IRC bridge. (32:09) This I I do think I do recall something about a rule on, like, the IRC bridge there that if you're not active for thirty days, they'll kick you off or something, and then you, like, lose half the room or something. (32:19) It's like, okay. (32:20) I'll make sure I type something every few days in this room so I don't get kicked. Karl (32:26) But that's a cool thing too. (32:27) I mean, like, you know, we're sitting here. (32:28) We're talking about all these different ways you can use it. (32:30) We're talking about all these different bridges. (32:31) You know, Element, the client. Karl (32:34) Let's let's talk about just kinda how this looks like from a client perspective because, you know, it's great to geek out on the server technology and what all's under the hood and what what's available. (32:42) But from an a client perspective, you know, Element looks very similar to a chat client like Slack, to be frank. (32:50) There's a lot of similarities in the interface there. (32:52) There are some differences. (32:53) But by and large, if you've used Slack before, you pop into Element, you're gonna kinda recognize what's going on. Karl (32:58) You know, on the left, you've got your spaces, and you've got your rooms, and all these different things that you can organize all your stuff with. (33:05) And then kind of in the middle, you've got chat, and there's a little panel you can pull up on the right hand side that shows you who's in a room, what widgets are in a room, what widgets are available, files that have been sent. (33:14) There's a whole lot of different things that you can get there. (33:17) But one thing that's really exciting about Element and Matrix as an ecosystem is, again, because it is basically plumbing and tooling to be able to talk to anybody anywhere. (33:26) You can sit there and have all these open source communities all day long, and you can be in these rooms talking to communities. Karl (33:31) But you can also add your family and friends as, like, one on one direct messages so that, you know, it's not a big room of everybody. (33:38) No. (33:38) It's literally a one to one scenario. (33:39) So, in the iMessage case where, you know, you're you're sitting there talking to somebody directly, it's the same thing. (33:46) And it works the exact same way. Karl (33:48) I mean, like, you you get down to the phone and you just go into the room that's for that one person, and it looks exactly like an iMessage chat between somebody else. (33:58) One thing that I do love a lot better than iMessage though, and, man, I wish I knew how to, like, communicate this message a little bit better though, is that, in the world of iMessage and SMS, which it's amazing that in 2022, we're still talking about SMS. (34:12) But in the iMessage SMS world, you can end up in these group chats. (34:18) Group chats are pretty awful because you you start getting 20 plus people in a group chat, and up at the top of the screen, you've got nine phone numbers or so plus 20 others. (34:28) Maybe there's a name or two here or there, but you don't have everybody in your contacts that's gotten added to this massive group chat. Karl (34:35) And everybody's just going back and forth, and the whole thing is just going ding ding ding ding the whole time. (34:40) And it's like, you know, this is a matrix room. (34:44) Because then you bring everybody into the matrix room, you set your notifications to only alert you when your name or keyword has been mentioned, and then it's not going ding ding ding, and you can come back and see where the chat was, and you can get it all in one place. (34:57) It's like that we gotta kick group chat to the curve. (35:01) That really ought to be a matrix room. Eric (35:04) That is the thing that has helped me keep my sanity with being a part of all these open source communities. (35:11) And I look at some of the matrix rooms that I'm in or bridge rooms that I'm in, and there's anywhere from 200 to 2,000 people in these rooms. (35:18) And it doesn't do you much good to just set no notifications on a room because then you don't know if someone's talking about your thing or if they're talking about you, and so you're kind of stuck in between here. (35:31) But with with with elements as as your client, you've gotten all these notifications. (35:35) You can set up to have it tag if someone says your name. Eric (35:38) Or in a lot of the rooms, I have things like RHEL and Red Hat Enterprise Linux marked. Karl (35:43) Yeah. (35:43) You can Eric (35:44) that's what they're my my products. (35:46) It's it's amazing. (35:48) Mhmm. Karl (35:49) Yeah. (35:49) So you get notified when you need to be notified and not not when you don't need to be notified just because everybody's saying plus one to this great idea in this group text. Eric (35:58) Right. Karl (35:58) But yeah. (35:59) Those can you tell I don't like getting into group text? (36:02) I'll I'll be sure to bring Eric (36:05) you into a few more. (36:06) Except they're they're all on matrix, so that Yeah. Karl (36:09) Well, yeah. (36:09) Matrix is not a problem. (36:11) It's it's just an issue with the old SMS platform and the fact that there's no idea of, a notification control. (36:16) I mean, it's either you get it or you don't. (36:18) You know? Karl (36:18) It's an all or nothing. (36:20) But that is another but, I mean and then, you know, we've got work. (36:24) So at Element, we work on Element. (36:26) No surprise. (36:27) We dog food our own product in that regard. Karl (36:29) We're constantly in Element rooms. (36:31) And what it does mean is that we don't really use email. (36:35) That was a culture shock. (36:36) Red Hat is an email powerhouse. (36:40) You you've gotta be an email power user to survive your first week at Red Hat. Eric (36:44) Oh, you're you're you're selling Red Hat short, man. (36:47) We're we love all the platforms. Karl (36:49) That that's another part of the problem. (36:54) Overabundance of platforms. (36:56) He's not wrong, and I don't wanna I I'm not trying to knock Red Hat, but Red Hat has a number of chat platforms in addition to email. (37:04) And that means that you've got, you know, five, six, seven places that you can look to see what in the world am I supposed to tackle next. (37:12) You know, who was talking to me? Karl (37:13) What's important? (37:14) And and it gets that's a lot that's a lot of places to have to go check for stuff. (37:19) And, Red Hat does love email. (37:22) There's there's no doubt about that. (37:24) And, what I found when I came over to Element was that my email box wasn't filling up hardly at all, that I just wasn't getting emails. Karl (37:34) Everything was a chat in a room. (37:38) And it makes sense because it's what Element's product is. Eric (37:43) Mhmm. Karl (37:44) And it makes sense that you would use your own product in that way. (37:49) And I expected to have heavy use of the Element product coming to Element, but it was a culture shock to go from being really good with email to no more email. (38:03) It's like, woah. (38:04) How do you do that? (38:06) Wow. Karl (38:06) And the answer is it actually works pretty well. (38:10) It's you have less places to check because now I just have to check my Element client. (38:15) Now am I in a bunch of rooms? (38:17) Yes. (38:17) And every morning that I come in, I probably got twenty, thirty rooms that I have to go look at. Karl (38:23) And some of those I read more than others. (38:25) Some of them I just read like last minute. (38:27) Okay. (38:27) Next. (38:28) Next. Karl (38:28) Some of them have people telling me I need to do things because it it is a European based company. (38:33) They're based out of London. (38:35) And so I'm based here in North Carolina on the East Coast Of The United States. (38:39) When I get up and get started, it's lunchtime back at headquarters. (38:43) So they've had half a day on me already. Karl (38:45) So, you know, I come in and I get to see what have people been been reading about. (38:49) Also, sometimes I leave messages before I leave for my day, hoping that the next day I come in, they'll be answered and I can make progress and that type of thing. (38:56) But yeah. (38:57) I mean, what happens in Element that's different from email is that an email client, you know, your your email client is gonna get all these replies in. (39:04) And depending on your client and depending on how you set it up, depends on how they're gonna display and how you're gonna get it. Karl (39:10) We've all seen that ungodly email thread where, you know, it's got like what, 20 arrows across and and you're trying to read this line that's been wrapped a couple of times and you're like, that's the bit I actually need to read, not all the stuff that's out here. (39:23) But I need to get this bit, or I need to understand this bit before I can do understand this, before I can understand this, before I can understand this. (39:31) And so you get into this idea of having to try and understand what in the world is going on in this email. (39:37) And there's no guarantee that everybody's gonna get the emails in the same order because I could reply to something that you replied to, but we replied at about the same time. (39:49) So now there's, like, two threads. Karl (39:50) And now somebody replies here, somebody replies here, and now you've gotta, like, put this back together in the morning, and that's painful. (39:57) In an Element room, it's a chat room, so it goes top to bottom. (40:03) And when you get in there and you see that, you're seeing that in the exact order that everybody else saw it Eric (40:07) in, Karl (40:08) and you're seeing it one time. (40:10) You're not having to, like, go, oh, that thing that was quoted all the way over here. (40:13) No. (40:13) You're seeing it exactly as it came through in the order that it came through, and you're seeing how people reacted to it, how they responded to it, and there's no question about how it gets put together. (40:22) I mean, it literally is. Karl (40:23) These are the events in the room, and here they are on the the screen for you. (40:26) That's exactly it. (40:27) And that is just so much easier to read than an email thread. (40:31) And plus, it's a little bit less likely to get lost because, well, I go to one place. Eric (40:36) Right. Karl (40:38) So and I can interact directly with it right there, and everybody sees my interaction at the exact moment that I interact with it. (40:45) I don't have to send that email out, and then it has to go get to all these different people, and then their clients have to refresh, and then finally, they get to it. (40:53) No. (40:53) They see it all right there. (40:55) Yes. Karl (40:55) And we do have threads now. (40:56) It is in beta. (40:57) There's still a few little bugs here and there that we're ironing out to get it out of beta. (41:01) It will be out of beta soon ish. (41:03) But, yeah, threads make this pretty nice too because if you're in a big room, you know, and we've got these network, we've got rooms, know, eighty, hundred people. Karl (41:13) Even if you've got 20 people in a room, sometimes you end up with, like, five different topics that need to run simultaneously and effectively Mhmm. (41:20) We could all do that, and we could all manage that, and the messages are going like this. (41:23) But sometimes it gets a little unwieldy. (41:25) So, yeah, being able to reply in a thread and then follow that thread on the side as a separate thing, and then, oh, yeah. (41:31) I wanna read also about that, and now I can follow all the messages about that. Karl (41:34) It's it's a nice organizational tool that helps helps with that problem. Eric (41:39) It's made life a lot easier, especially in some of these tech support rooms that Karl (41:43) Mhmm. Eric (41:44) You've got hundreds of people and you've got, like, five or six different active issues being troubleshooted. (41:48) You've got you've got threads on their way out. (41:50) You've got emoji reactions. (41:52) So if you got a bunch of people plus wanting something, it's not plus one plus one plus one all the way down the screen. (41:58) Instead, you get you get these little emoji reactions underneath, which Mhmm. Eric (42:02) There's so Karl (42:02) much you can do that. (42:03) The emoji reactions are fun. (42:05) We have a lot of fun with that. (42:06) And there's also is it colon to the what's the party popper? (42:12) If you make the party popper, it's just, like, the only thing that you put in the entire thing. Karl (42:16) It's colon to the enter, and then boom, confetti pops all across the element room, which is pretty cool. (42:23) We we like that. (42:25) And then I think if you call in fireworks and then you put a message, it'll put your message out there and fireworks interrupt in the room too at the same time. (42:32) There's a couple of little things like that that are in the interface that are kinda neat. (42:39) I don't know if they're element specific or if they're part of the spec. Karl (42:42) I'd have to go check. (42:43) But, yeah, you can do them in element. Eric (42:45) Yeah. (42:46) The the colon to die, just try it out in in our in in this show's matrix room, which Karl (42:51) Oh, yeah. Eric (42:52) If you haven't if you haven't joined it yet, go on over to hashtag office of the IT guy colonmatrix.org, and, and I got the fireworks as well. Karl (43:04) You could. (43:04) You you got the fireworks. (43:05) I didn't get the fireworks. (43:07) I'm sitting here trying to do it. Eric (43:08) I'm like, what did I do about the fireworks? (43:10) Yeah. (43:11) It's I think it's colon fireworks. (43:12) And I actually got the little Yeah. (43:14) The syntax box that tells me what it was. Eric (43:17) So Karl (43:18) Oh, there Eric (43:18) it is. Karl (43:18) Yeah. (43:18) You have to do oh. (43:23) Aw. (43:24) It it doesn't like me right now. (43:27) Oh, well. Karl (43:28) But Eric (43:29) and then Karl (43:30) Slash fireworks. (43:31) Yes. (43:31) Thank you. (43:32) That's it. (43:33) It's slash fireworks and slash Eric (43:35) Then we're then then the client's adding even more stuff. (43:38) Like, there's polls and Karl (43:40) Yeah. (43:40) We have polls already, which polls is great. (43:43) That's a a phenomenal function because you can, you can just pop in your thoughts. (43:48) You know, you've gotta make a decision in a room. (43:49) Hey, room. Karl (43:50) Here's three things. (43:51) Everybody vote. (43:53) So Which Eric (43:53) is even an even an advantage over, like, when I was at GitLab before Red Hat, we depended very heavily on on Slack. (44:02) Mhmm. (44:02) And so to do polls then, whoever whoever wrote the the question would then put a plus sign and a minus sign underneath underneath their question as an emoji, you just go in and and upvote the emojis. (44:14) But having having natural polls just makes it so much easier, especially on Well, location sharing. Karl (44:21) We've got Eric (44:22) Go ahead. Karl (44:23) Privacy centric locations sharing, which is like an oxymoron. Eric (44:29) Uh-huh. Karl (44:31) But it's in there, and it's actually like the first location sharing on any platform that I've been like, I could actually use that. (44:40) And the rationale behind it is what happens in a location sharing scenario? (44:44) Well, in a location sharing scenario, your location is embedded into a matrix message and that is in the room. (44:50) Because a room is end to end encrypted and because usually in a location sharing scenario I mean, you could be sharing it with a lot of people, but you're probably only sharing it with one or two people or maybe a few close friends. (45:01) You're gonna have a fairly limited scope room that you would be doing this in. Karl (45:05) I'm not gonna go into the Silver Blue project and share my location. (45:08) Know, that that would be a silly scenario. (45:10) You don't wanna do that. (45:11) I probably could, but you don't wanna do that. (45:13) So you're gonna be in one of these small rooms where you have a a level of trust with the people that you're sending this data to. Karl (45:18) Well, the only thing that actually goes across is that location data. (45:22) So basically, latitude, longitude of the point of where you're at. (45:26) You can then what happens to generate the map is it has to go to a map tiler service, which is a third party service. (45:35) But in this case, we actually have a privacy respecting map tiler service. (45:40) And if you don't like that, you can actually there's a way that you can edit the config JSON and the element client to use a different map tiler. Karl (45:48) So if you don't like our map tiler, you can go, I don't like your map tiler. (45:52) I'm gonna make my own map tiler, and I'm gonna do that myself. (45:54) You could do it. (45:55) Because the only thing that goes across a matrix is the actual location bit, and then the element client establishes a secure connection with that map, to be able to actually then bring you the the map. (46:08) So it's I I mean, you know, from a standpoint of, like, keeping this private and keeping this secure and keeping this out of the ant, it's really well done. Karl (46:16) And there was a whole blog about how they did that. (46:20) And it's it's pretty exciting stuff because that is another thing that's really a big piece of of matrix is that private privacy is a a fundamental human right. Eric (46:30) Mhmm. Karl (46:30) That's a a UN statement even, but it's that's a big thing. (46:34) And and so we wanted to design a a protocol that was open and allowed for open communications because that was really the key thing first. (46:44) But as part of that, you know, making it open and, putting in all these controls, it's also an excellent privacy protocol where where you can have private communications over that protocol. (47:01) Well, Tyler Brown could set up his own map, Tyler, And then configure element to use it. (47:07) Oh, Eric (47:09) please don't encourage him. (47:10) We have we have a naming problem as it is in the open source world. Karl (47:15) Oh, yes. (47:16) We do. (47:16) There's also fun names in the the open source world. (47:19) You're right. Eric (47:21) Yeah. (47:21) So, I mean, Carl has been an enabler for me in in good ways and in bad because when when I talked about doing the show, you know, I don't think I don't think Element Call was quite where what it what it is now. (47:36) So, you know, we're we're using a we're using a third party tool called Restream. (47:41) It's proprietary. (47:42) It's it's subscription based. Eric (47:44) But my hope is as the show progresses, it I mean, it looks great. (47:48) It gives me everything I need, but but the problem is it it's just us in the room, and I don't even have the I don't even have the the official matrix room bridge to to the show yet. (47:58) So I'm, like, having to copy and paste stuff between a couple of different platforms. (48:02) But as as the show progresses, I would love to set up a situation where folks that join a guest and myself live could all be in the same room. (48:13) We can all share the same chats, and then we could have, like, a post show where we open up the where we open up the rest of everybody's mics, and we can just kinda sit around and chat. Eric (48:22) I mean Karl (48:22) Well, on that post show, we just, we're starting video rooms. (48:26) Oh, there you go. (48:28) If you're familiar with Discord's video rooms, we've got a a copy of that in a sense. (48:32) We we're gonna have video rooms on on matrix, and Element has experimental support for it in Element Web. (48:38) I think if you're on develop.element.io, which is probably the fastest way to get on the nightly builds, Just go to develop.element.i0 and sign in with an open federation account. Karl (48:48) You'll be fine. (48:50) But if you're on there, you can enable labs. (48:53) And in labs, there's a way to enable that video room. (48:56) And effectively, it's pretty much you go to the I saw a demo of it. (49:00) I haven't actually played with it yet. Karl (49:01) But you go to the room, you get a preview of what the room looks like, you know, who's on the video. (49:06) So you can determine do I wanna join this or not, and then you click a button, and then bam, you're in. (49:10) And you can then, you know, like you're talking about your post show Hangout type thing, that that would be and when we do things like when we host POSIM on the matrix platform with Element as the front end, we definitely have rooms where people would get together. (49:23) They'd have to join a Jitsi conference. (49:25) You'd have to actually join in before you could see, is this a room I really wanna be in? Karl (49:28) Are these people I really wanna talk to? (49:30) But with the video room, you've got the ability to actually, you know, see that before you, make that join. (49:37) But, yeah, there were plenty of rooms where you could just go hang out with people and literally just sit on a Jitsi call and talk shop. (49:44) So it was it's really cool. (49:46) It's a really cool Eric (49:47) click on that really quick. (49:48) You you mentioned Fosdim. (49:49) I don't wanna blow past that. (49:52) Are you telling me that Element and Matrix are powerful enough to do a virtual conference? Karl (49:57) Oh, yeah. (49:58) Yeah. (49:58) We've we've done FOSDOM, and then there's one in the Pacific Northwest, Seattle Linux users. (50:04) I can't remember what the acronym is for that one. (50:07) But I do remember watching saying, yeah, there's actually a couple of talks I wanna go see in in that particular one, and hey, it's on matrix. Karl (50:14) So basically, just logged into their element, added the space to my account, then I went back to my element, and lo and behold, the space is there. (50:22) So I just go in and browse to the space, and then when you're ready to go to a talk, there's a particular room for the talk. (50:27) You go to the room for the talk. (50:29) You join the video widget that's in the room, and then you can sit there and chat to people while the talk goes on, and you can watch the talk. (50:36) So it's a pretty compelling platform for a conference standpoint. Karl (50:40) And they've got things like a hallway track, so there's a room where you can just go chat with people and see what's going on and see who else there. (50:46) And, you you do get some of that presence feeling on the platform, doing conferences like that, where you kinda feel like you are part of a group of people participating in the same thing. Eric (50:59) We we also kind of breeze by widgets, things like Yes. (51:03) Jitsi videos. (51:05) In fact, we're using gosh. (51:08) I forget what it's We're Karl (51:11) We're using the etherpad widget for our show notes right now. (51:14) Yep. Eric (51:14) Yep. (51:15) Yep. (51:15) And so, we've we've got a green room where we're guests of the show, and I have a a private room. (51:20) And and we've got, the Etherpad widget set up, and I've got show notes so Carl can drop links in it, and I could copy and paste it for the for the episode guide. (51:29) I mean, it's it's, it's really great. Karl (51:31) Mhmm. (51:32) Yeah. (51:33) And widgets are a fast expanding part of the the matrix ecosystem. (51:37) You know, what you can do with widgets. (51:38) We've got things like full, full screen widgets, you know, being able to maximize widget, take up more of the room, doing better things with the layouts. Karl (51:47) And there's a lot of work going on to replace the current Scalar integrations manager that's currently out there. (51:55) And if you're on matrix.org, you've been using Scalar. (51:57) If you go to add integrations, that's gonna be replaced with this thing called integrator, and that's going to give us the ability to have more graphical configurations for these things. (52:07) So there's gonna be a lot of nice improvements that are put into that part of the product over the next period of time. Eric (52:16) So I managed to collect a couple of questions for you. (52:21) First off is is from our buddy Tyler again. (52:23) And he was talking about one of the cool things he likes about Discord is the ability to have custom emojis, especially since they can sync to, to his Twitch channel as well. (52:33) Is that something that Matrix can or will support? Karl (52:38) I'm not familiar with that. (52:39) We have a lot of emojis. (52:41) We have all the emojis. (52:43) Have a lot of emojis. (52:46) You can react with an emoji. Karl (52:48) There is in the spec the ability to react with pretty much anything. (52:53) So you will see that clients like, FluffyChat actually allow you to react with words. (52:59) And if you can react with a word, you could react pretty much with any character sequence that would translate to an emoji map in a font somewhere. (53:07) So I have to think that they're if you put your custom emoji in that response on, like, fluffy chat, maybe that would work. (53:17) It'd be worth a try. Karl (53:18) But in Element, we've, we've restricted that. (53:21) Even though it's allowed via the spec, we only allow you to react with an emoji that's, you know, either from your iOS operating system, Android operating system, or if you're on Element Web through our custom emoji picker, which has a lot of them in there, but probably not all and certainly not custom emojis. (53:38) So, yeah, I don't know how much that is, and it's not something that I would say I I see coming. (53:44) But, again, I kinda work on the on premise side, so I work in getting home servers to work for people at their sites in a way that's repeatable and supportable. (53:55) And I don't work as much on the client side, so there there's definitely a little bit of a a divide there. Eric (54:02) Awesome. (54:03) Great great answer. (54:04) Then another question I pulled out of our official matrix room. (54:08) Do we have a timeline for Element Call to support more than eight users? Karl (54:12) Soon. (54:13) Soon. (54:17) Spoken like a true product manager. (54:18) Right? Eric (54:19) Right. (54:19) I got to use that a lot with RHEL nine up until about a week ago. (54:22) It's Karl (54:22) coming soon. (54:23) This is an excellent question. (54:25) You're absolutely right. (54:26) We do have an eight person call. (54:28) We don't really have an eight person call limit, but most people don't have a big enough rig to allow more than eight high quality direct video connections to somebody else. Karl (54:38) And that's really it's CPU and memory on your end and your other participants' ends that is the limiting factor. (54:45) How we get around this is we implement a piece of code called a selective forwarding unit or an SFU, and that is a very high priority item for our Element call team to tackle is the implementation of that SFU. (54:56) I don't have a realistic timeline on when we're going to get that SFU, but I can tell you it's an incredibly high priority item, and they are very much working on that quite a bit. (55:07) And so soon is right, but how soon? (55:09) I I I couldn't tell you on that, but it is coming. Karl (55:12) Definitely coming. (55:13) We we definitely recognize that that is something that we need to address. (55:16) And once we get the SFU, yes, element call should explode because at that point, you don't have an eight person limit anymore. Eric (55:25) Nice. (55:26) Yeah. (55:27) I I love the ability. (55:28) I mean, even just prepping for this episode, I mean, you and I took you and I did a couple of meetings ahead of time, and we did that in Element, sending files back and forth, sending you screenshots of of what some of the graphics were gonna look like. (55:41) I mean, it it was just so nice. Eric (55:43) I I had one place to go. (55:45) Even if we were using some of the widgets like the Etherpad for the for the show notes, I mean, it's just it was all built into one place. (55:51) And especially with show prep, we had a dedicated room for it. (55:54) I mean, you and I had our one on one chat that we're you and I chat multiple times a week. (55:58) But when it came down to specific show prep stuff, we could put it in this other room, and we could, you know, put a put a logo on it, give it a name, lock down the permissions, change notifications. Eric (56:10) It was just so it's it's so nice. (56:12) But, I mean, that's just you and I prepping for one one hour episode. (56:15) Mhmm. (56:16) I mean, blow that up to what you must work with on a daily basis when it comes to developing Element four enterprises. (56:23) So you're talking multi thousands of people that are trying to to market, sell, build, QA a thing, and get it out to get it out to customers. Karl (56:34) Yep. (56:35) Yeah. (56:36) We certainly use our communications platform for most of our communications. (56:40) We use GitLab, and we use GitHub. Eric (56:44) That's something we didn't talk about was you can actually integrate with things like Yes. (56:47) GitLab. Karl (56:49) Yeah. (56:49) You can. Eric (56:49) You can get notifications. Karl (56:51) There's this great widget called Hookshot, and you can get all this stuff to come in and out. (56:56) And, yeah, you can get triggers. (56:58) I set up Bookstack for Elements knowledge base, and Mhmm. (57:03) You know what? (57:05) I went in there and I went to add a a webhook. Karl (57:10) And I I do have a technical background. (57:12) It is way more in the systems world of things. (57:14) It's not as much in the website of things. (57:16) So I went to add this webhook. (57:18) I'm like, alright. Karl (57:19) What do I need to do to add a webhook? (57:21) And it's like, give me a URL from what you're trying to hook into. (57:24) I'm like, okay. (57:25) Hookshot. (57:26) Register this new thing. Karl (57:27) Give me a custom web URL thing. (57:30) It says, okay. (57:30) Here you go. (57:31) I said, alright. (57:31) Bookstack. Karl (57:32) Here you go. (57:33) The next thing I know, hit two buttons apply, and every time I update an article in Bookstack, it goes to this room and I get notified that that got updated. (57:40) And it's like, okay. (57:42) I didn't even really know a lot about how to wire these things together. (57:45) And I sat down and just click some buttons, and the next thing I know, this thing is chatting away in a room telling me when things are happening on this platform. Karl (57:53) And then somebody who knew a lot more about it came through and wrote some custom JavaScript to actually interpret the event a little bit nicer and make it prettier, which was really cool. (58:00) But, yeah, you can do a lot of neat stuff just with custom webhooks straight into an element or into a matrix room. (58:07) And being able to do that just really expands the the potential for the platform. Eric (58:12) Well, and and and something fun that I I heard or saw the other day that I meant to tell you about. (58:16) I think it was like a it might have been an element a matrix conversation, but someone has been working with Element and Home Assistant. (58:25) So they they have a room where they can send text commands and change the lights or change the temperature. (58:32) And I'm I'm curious if kinda one of the next steps is using Element's location service to tell your to tell your house that you're on your way home instead kick the air conditioner on or something. (58:43) I mean, the just the amount of integrations, the openness of You can Karl (58:47) do that. Eric (58:48) I mean, I'm because Karl (58:50) it is a communication protocol, but as long as you move messages back and forth, you know, yeah, you can do it. (58:56) And so if you can hook something that receives messages into a a matrix room, any messages that come across that it receives, it's it's gonna act on that. (59:05) So there's a lot of potential to do a lot of cool things there. Eric (59:09) Yeah. (59:09) I mean, it's the the possibilities are are really amazing. Karl (59:13) Well, we didn't even talk about, like, all the third room stuff that they're developing on top where there's gonna be, like, metaverse type experience in meta or in matrix rooms, and there's a lot going on there. Eric (59:24) Well, I I think I think you just gave me a hook. (59:26) I needed to to drag you back for a future episode. Karl (59:31) Yeah. (59:31) There's there's there's so much going on, and we didn't even talk peer to peer. Eric (59:36) This is true. Karl (59:37) Exciting as well. (59:39) Because at the point that you can just get rid of home servers because your home server runs on your local device and that we're just connecting through mesh networks with with folks, that's a a pretty exciting future too. (59:51) I believe are we p2pyet.com is the website to see how far away we are from peer to peer for Matrix. (59:58) So that's Eric (59:59) a There's some some pretty sizable blockers on that list, but Karl (1:00:02) There there are. Eric (1:00:03) A lot more green than a red. (1:00:05) Yeah. (1:00:05) I was I was excited. Karl (1:00:07) We'll get there. (1:00:08) We will get there. (1:00:09) Kinda like the SFU. (1:00:10) We will get there. (1:00:11) We will have an SFU. Karl (1:00:12) It's gonna be sooner. (1:00:15) I mean, it will be sooner rather than later. Eric (1:00:17) So any any closing thoughts you wanna share with folks? Karl (1:00:21) Matrix is cool. (1:00:25) No. (1:00:26) I mean, it's been good getting to come and chat with you. (1:00:28) I've I've definitely enjoyed that. (1:00:29) And, yeah. Karl (1:00:30) I mean, I like I said, I kinda stumbled into the Matrix ecosystem a few years back, and, it's it's been an exciting ride so far. (1:00:39) And I'm really looking forward to where we go just as as Element the company and then as Matrix, the the ecosystem governed by the foundation to see just how that continues to expand out. (1:00:50) There's a tremendous amount of exciting opportunities, with this technology. (1:00:54) So very much happy to be a part of it and looking forward to continuing to be a part of it for a while to come. Eric (1:01:00) Well, you and and your team are always welcome here in in the office. (1:01:05) I'm I'm gonna have to come up with all these office related puns. (1:01:08) You know, I've got office as the IT guy, and I I got the one good one in the in the intro video. (1:01:13) So I'll I'll have to come up with all kinds of puns. (1:01:15) But I guess, feel free to drop by the office anytime. Eric (1:01:18) I I'm a dad, so I can make dad jokes all day long. (1:01:20) I've I've got the I've got the the children to prove it. (1:01:23) But thank thank you so much, Carl, for for coming and helping me kick off the show and, letting me nerd out about Element. (1:01:30) I even learned a couple of things, just as we recorded today, so, some some features I hadn't heard about. (1:01:36) But, I'm I'm excited to see what's coming. Eric (1:01:38) And in fact, I I have a feeling this is going to be a biweekly, show. (1:01:44) I don't have a set time or set schedule yet. (1:01:46) So definitely go out to YouTube or Twitch and subscribe and share, and and that way you get notifications when we do schedule a new event. (1:01:57) I think I'm gonna be doing a combination of interview style, conversation style episodes like this, but also, like, some live some live terminal type stuff. (1:02:06) I've got a lot of projects in my home lab that I wanna do, so I might try and track down people in the community that know that very well, bring them on, and they can help me set things up and some online tech support. Eric (1:02:20) So for the next interview style episode, I actually have he goes by Tib Karl (1:02:26) Oh, yeah. (1:02:27) Tib's great. Eric (1:02:28) From from the Matrix Foundation has agreed to come on the show and talk a little bit about Matrix and and talk a little bit more high level. Karl (1:02:38) Then we also on the gnome board of directors as well. Eric (1:02:41) I I think so too. (1:02:43) Yeah. (1:02:44) And so a question in the chat. (1:02:46) I do plan to release this as an audio podcast as well. (1:02:49) I don't have those feeds set up yet, so they'll they'll lag behind a little bit. Eric (1:02:53) But I I fully plan on on having this I do fully plan on on having all the stuff in all the places. (1:03:02) Right now, it's just Twitch and YouTube, but I'll probably have this hosted out on my website and also have this hosted out on, like, PeerTube and some of the other of the other federated decentralized platforms as well because, I mean, I wouldn't be an open source advocate if I wasn't. (1:03:21) But, you know, for now, we just wanted to we wanted to record this. (1:03:24) We wanted to talk about matrix and elements and and kinda kick off the show. (1:03:28) So all of that will be coming. Eric (1:03:29) Definitely join me in the office of the IT guy Matrix Room. (1:03:34) You can catch Carl and myself in there as well as Tibbs in our room as well. (1:03:39) So poke him and ask questions. (1:03:42) I'm looking forward to having him on one of the next episodes of Office of the IT Guy. (1:03:48) But until then, thank you all very much for helping me, kick this off. Eric (1:03:52) Thank you so much for the questions and the engagement in the chat. (1:03:55) And once again, Carl, thank you so much for for joining me. (1:03:58) I really appreciate your time. Karl (1:03:59) Yeah. (1:03:59) Absolutely. (1:04:00) Thank you for having me, Eric. Eric (1:04:01) Definitely. (1:04:02) And with that said, we'll see you all in a few weeks. (1:04:04) Thank you so much.