this post was submitted on 03 Oct 2024
486 points (97.8% liked)
Fediverse
28519 readers
732 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to [email protected]!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is a fantastic read. I wasnt around for the prime days of forums but I did experience them a bit.
I'm becoming extremely concerned about the number of topics and projects that are migrating to Discord. My main issue is that it is not and never will be publically indexed, and among other problems, is itself a corporate walled garden we consider to be "one of the good ones".
I really hope we find and establish a "low executive cost" solution before the next time Discord fumbles (which is inevitable) and we can claw some of that activity back.
But people are so used to seamless voice and video chat nowadays - and that's a technical hurdle that AFAIK, no open-source self-hostable projects have come close to solving.
this is unironically such a big problem, there are great voice chatting solutions, mumble, and the handful of other ones that exist out there.
There are basically 0 good usable video conferencing/sharing softwares out there. The same goes for desktop streaming. If we just focused like, a little bit more of our energy on these two things, i think the world would unironically get better. It's 2024, h264 runs on a CPU like nothing, why haven't we figured out how to do these things yet?
The ones that do exist are likely to be web based, and thus, webRTC, the dreaded behemoth of both web support and also, generally poor implementation. I just want mumble but with support for video streaming, how hard is it >:(
It's not about the hardware. (Not like it's that ubiquitous anyway; I'm daily driving a machine from 2017)
I'm going to guess part of it is because for the things that matter to the people who do end up having to code, test and distribute stuff, something like "seamless screen sharing" or "video conference" doesnt really matter.
And IMO, that's good if we want to Recover the Web.
The idea behind being in something like a jabber chatroom, or a web forum, is that I can pay attention to 12 channels (or whatever) at a time, read one or two, reply in three others, etc. Text is so un-invasive that I can just explore without bothering myself or anyone else.
In comparison, something like audio chat or video chat is more presence-encompassing. You can't really "push to talk" three different things to three chatrooms at about once, and you likely can but won't want to listen to three chatrooms full of people at the same time. For something like a videoconference you not only need a camera, but a good behind-you because not only who knows who or what will be showing back there.
In the end, something like a simple jabber-like chatroom is far easier and more productive to work on, even before we get to the coding part.
Not to mention: this is computer stuff. No one really likes to work on "debt", which is what "Foo has to have 'screen sharing' because Discord has it" ultimately boils down to.
this definitely makes sense in the OSS community, but i feel like someone should've already done it as a semi pet project already. I know i would've done it.
that's an interesting take, but personally i think the web should stick to pretty much static web pages, the browser is turning into a secondary operating system, which is being run on an operating system, which is just, stupid.
Personally i don't think any of this stuff should be done over the web, period.
yeah, my main complaint though is that we do have things like jabber, this is already incredibly accessible, there is almost no need for expanding the current landscape because it's been around for like 30 years now.
no but that's not the immediate use case either, something like mumble is really nice if you're playing games with other people and just want to VOIP so you don't have to use a text chat, you can talk and play video games at the same time pretty easily. It's also nice if you just want to casually hang around other people without having to be physically near them, or at a keyboard typing on it constantly.
i mean, you don't need a camera, maybe in a professional setting, but in a casual setting, screensharing something to show someone else for example, you don't even need a camera.
this is fair, and tbh i don't even really want a discord clone, you could very easily just adapt one of the many existing text chat protocols IRC being the most obvious, and VOIP is basically a solved problem, that's not hard either. Mumble has a pretty good low latency implementation of it, but you don't always need low latency. Video sharing/video conferencing is harder, but we have things like youtube and netflix, so the actual video streaming part isn't the hard thing. We have entire video manipulation libraries like FFMPEG as well, which will do everything you need it to do.
Mumble i think is the perfect example of a "minimalist" application, it does VOIP and it does it really well. I pretty much just want mumble but for video sharing and i'd be happy.
Pet project, yes; production-ready, that's a whole 'nother story.
Ultimately some things are too complex to deliver out on tem "just because". Such as web browsers, hence ATM there only exist about 2.
to be fair, linux was also a pet project, until it wasn't. I'm not expecting people to drop zoom2 electric boogaloo over this or anything.
web browsers i could see, because they fucking suck, though there are a few alt browser projects currently going on, so there is that.
but something like VOIP and video sharing i would imagine is probably going to be magnitudes easier than something like a web browser.
Matrix+elements is very easy to selfhost in any homelab. works well enough for goverments. Federated and easy end to end encryption. And one can easily set up a web archive bridge forvarchiveable rooms.
That beeing said i still think IRC is the best for pure text chat.
But neither have seamless voice chat/screen sharing, which is a staple of Discord that users are very used to.
I do not know what you talk about. I use screen sharing and voice chat daily on elements with our own hosted matrix server.
Edit: i felt wrong saying "voice chat" what even is that. I make regular calls and video calls with screen sharing in elements ;)
That is interesting, the last time i tried Element/matrix it did not have these features. Can I ask, is your screen sharing of a quality that you can stream videos and games at equivilant frame rates?
I have never tried that. We use it to share powerpoints in meetings or do troubleshooting together. Or I use it to do family video calls with the kids. Fps are never an issue. There are times where there are compression artifacts tho. Especially if someone have a bad or variable connection. On a buss or a train or similar.
What do you need screen sharing for? This comes up so, so rarely for me.
Besides the expensive Matrix option the parent suggested, IRC covers text fine. Mumble handles low-latency, low-resource voice chat with positional audio for games. XMPP uses more resources that IRC (but can have encryption) but a ton less resources than Matrix which makes it suitable for self-hosting—my partner & I do voice/video calls over my home server fine & Movim is working on group calls with a Web UI (tho it should be noted both Zoom & Jitsi use XMPP under the hood).
it's convenient, also it'd be nice if it had the feature capability.
Mumble is great, but if there was something like mumble, that implemented video sharing, that would be miles better, though a lot of people would probably still use mumble, as it's fine.
From what i've dug into, basically every video sharing capable setup is based on web technology, and i simply refuse to go near web technology unless i WANT to use a web browser. It's just, worse, in so many ways.
Well Discord, Slack, & others are web tech too so it’s not like avoiding it is easy. If I have to use these services, I would prefer it be in the browser’s sandbox.
Even still, almost all debug, troubleshoot, pairing session I have done in the last 4 years have been done over Upterm or Tmate, which is much, much lighter on bandwidth & not crushed by video compression.
yeah, and discord slack and basically everything based on electron is a fresh hell.
I love having three separate instances of chrome running the background while just using my computer, such that they all consume an entire gigabyte of ram for no particular reason.
TBF i wouldn't do much if any troubleshooting over RDP or anything similar, i use SSH for all that stuff lol. I'm just confused that nobody has put together a "relatively" functional version of this yet, it seems like it would be prime realestate.
That is why upterm & tmate exist… ephemeral shared SSH sessions. Biggest missing feature would be some sort of scoping since someone could raw dog your system—catting SSH keys, deleting config, force pushing a repo if unlocked keys are in memory.
if i wanted to share my terminal it's pretty trivial to do that. Unfortunately i use my computer outside of the terminal environment semi regularly, for most applications really.
The folks I collaborate have a policy now that if it doesn’t have a TUI or CLI version, it doesn’t exist 😂
based, i like those people. Unfortunately i can't exactly share a minecraft window over terminal, so...
Oh you could if so inclined run a Notcurses renderer for Minetest. https://l-m.dev/cs/hijacking-opengl-with-notcurses/
They already have a render for NEStopia + RetroArch lol
that would be rather funny, although i play technical minecraft primarily, so minetest isn't exactly a substitute here lol.
The VoxeLibre mod is a substitute
kind of, like i said i play technical minecraft so the kind of stuff i'm accustomed to are the fact that repeaters schedule power events on a priority system changing based on what it's powering or not.
I will probably end up playing mineclone2/voxelibre at some point though, it's just not really a substitute here unfortunately.
In what way are matrix expencive? You do not have to self host it. You can just make an account on any public matrix server.
Matrix servers chew up an order of magnitude more CPU/RAM which limits the places you can deploy it. The eventual consistency model makes storage balloon as every message, attachment, metadata must be copied to all nodes in a conversation which is resilient, but wasteful in duplicated content in practices which has historically caused many medium & larger servers to shut down due to the explosive just of storage (similar issues with Mastodon). That same model is why it takes on the order of minutes to just join a room or come back to a client that hasn’t been opened recently. Element X & new servers have to work so damn hard to work around asynchronously than fundamental decision to attempt to hide it from the sluggish UX but behind the scenes still too expensive. & since it is expensive to run in many vectors this causes folks to then move to the biggest servers that can handle the load which means the Matrix network is in actuality a small number of massive servers (most of which managed by Matrix.org) & a small number of tiny hobbyists running nodes of <10 users is practice. With so many users on Matrix.org-controlled instances (& again with eventual consistency), almost all data gets synced to their nodes make subpoenas a breeze.
A healthier network would have many fewer massive centralized nodes, medium-sized nodes, & the resource requirements would be low enough that more folks would be encouraged more often to run their own nodes they control so they aren’t required to trust an unknown serves operator. Meaning “just making an account on any public server” isn’t a great mode of operation for privacy—especially as with Matrix joining a medium-sized server will put them under a lot of strain causing them to throw in the tower & joining the few massive servers further exacerbating the centralization issue.
Copying the UX of Slack/Telegram/Discord in a decentralized manner is a fool's errand. Keeping the chat history for eternity is already a questionable call over using forums, but trying to distribute that out like a blockchain is so wasteful.
https://lukesmith.xyz/articles/matrix-vs-xmpp/ https://www.freie-messenger.de/en/systemvergleich/xmpp-matrix/ https://www.process-one.net/blog/matrix-and-xmpp-thoughts-on-improving-messaging-protocols-part-1/
Thank you for a detailed answer. We probably do not notice much of this problem yet, since we are in the low user count of 30-40 with mostly local channels.
It’s once you start federating do the prices start to soar, & most things can hold local channels fine… but that’s kind of the point if you are hitching your cart to say something is decentralized as a bullet point for privacy. But if it’s mostly local channels, wouldn’t IRCv3 cut it?
I do not know the in's and out of ircv3. But we use matrix/elements for videocalls. Groupcalls. Screen and videosharing etc as well; Not just text chats. Beeing able to quickly search all of your chat history across all your channels and dm's are very nice. Not requiering a irc bouncer to recieve messages is essential.
Atleast for us having another vm among the thousands we host in our dc is not a huge cost, but i understand that is not the same for everyone.
V3 has
chathistory
+ away status so the bouncer isn’t needed. Voice & video would be out of scope if trying to use a single tool, but the way these protocol operate is just to handshake & negotion for another protocol. My mates & I use Mumble (looking for alternative but everything kinda sucks & uses too many resources) for audio & share terminal sessions for other tasks where video is a massive liability for bandwidth & accessibility with video artifacts making text illegible.Even still none of this requires perpetual data replication—what it leads to is Alice joining Bob’s server instead of setting up her own server & joining that way since the cost of hosting all that data + CPU/RAM prohibit her sovereignty in the space. Our society has enough of that where you can’t own your own land or other resources, reliant solely on those in power. With tech we can give that power back to folks so they can run their own stuff if they want, but we can’t have that if the cost of running everything is too high due to bloated design.
Also this was hard ta read: Is your space bar broken? ’Cause a lot of words are stuck together… ins & outs*, DMs* …apostrophes don’t make words plural.
Terribly sorry. This is probably my norwegian shining thru. Where concatination of words are very common.