As someone with a sub250kb website (30.45KB), I can recommend to look into HTML templating things. Stuff like Jinja2 or the Go HTML templater. Then you write raw HTML with some CSS.
This also makes my ADHD want me to make a sub 1kB webpage out of what I have atm, though it might be hard considering it includes a 4KB image.
We’re talking 5000+ users, not a few hundreds. A community that has to constantly take attacks from 4chan and other vile places of the internet. I do not believe IRC would be the tool for managing this community not only coherently but as a unit.
Mumble solves audio chat, but not screencasting, which we often have in the game related channels. Audio chats routinely hold more than 20 users, with one or two people screencasting at 1080p30. Even if we used mumble, it would split the community from IRC as the people on Mumble can’t coherently interact with IRC in the same client.
It might be an unfair comparison, but the comparison I have to make because that is where a lot of communities are. If you want to replace Discord with IRC, I don’t think you’ll have much success. And the thread is about alternatives to Discord so the comparison is necessary.
Matrix might be harder to scale but it’s easier to get started in with all the tools just working because they’re integrated into the solution. That is worth the extra price of scalability issues down the line (which if Matrix would get it’s stuff together, would be easier to achieve too).
So why use IRC+Bouncer when I could setup something like Matrix (which granted is still not suitable)?
My issue is this is all client-side. If one user uses an older client or non-compatible client, I can do nothing about it and they will have a worse experience. It also still does not solve the issue of keeping multiple channels moderated at once, nor does it provide good moderation tools.
Part of the beauty of Discord (and Matrix I begrudgingly admit) is that there is integration. The protocol implements all these things, instead of having to be implemented on a half-working Layer 2 that some users might not adhere to.
I think you severely underestimate how hard it is to build up things like this. Especially when you’re a community that is under constant attack by internet trolls on a larger scale (can IRC moderation tools handle raiders sending 2k messages per second into a channel? Can the clients handle this workload even on mobile connections? Can I mass ban raiders easily from all channels? Is there even existing bots to handle anti-raid measures? Is there a coherent way for user PFPs across all clients? Can we set visible roles and channel access based on roles? This is all stuff that I don’t have to think about on Discord that’s why. Heck, is there even a way for me to just deliver a signed and trusted app to users with all settings and features preconfigured, including proxy for image previews? Atleast on Android and iOS I will have to pay dev fees and hope I never get banned. Is there webclients that are 100% feature parity with all this? Because the web-users will need to be able to do all of those things too, including bouncers. And if any of these settings or features isn’t working 100% I risk that users will be exposed to death threats or worse.
On IRC I have to worry about these things and make 20 different tools work together. Not exactly the UNIX experience when I need 20 tools to do one job and do it well; chatting in communities.
But on the other hand, why use lemmy or reddit when I could just dial into a BBS and get all the same features and more with just enough additional patchwork tools on top…
Why should my users need to install or use a bouncer to be able to enjoy a fundamental function like “chat backlog”?
And this still fixes none of the issues related to growing a cohesive community on IRC. As mentioned, I can’t enforce 2FA/Phone/Email for users/moderators last I checked, not without making them use 1 specific client, so why bother at all?
Heck, IRC doesn’t even support proxied previews of links posted, nearly all of the IRC clients that have it will leak your IP without some extra care taken. This is a risk for many users that they won’t understand without guidance as most of them aren’t technophiles. A lot of them will simply jump board to discord facing such issues, and then nothing it won at all.
Well, no, because IRC lacks communities like Discord has them (called Servers there). I can’t coherently organize a community over several channels. IRC also has issues with netsplits as it doesn’t really have support for HA architecture. There is no chatbacklog either. And moderation cannot delete previous messages. Atleast not out of the box and requiring client support. There is also no option to require people to have created an account X minutes ago to be able to join or that moderators must setup 2FA to be able to access the server.
IRC is the absolute minimum of what can be called a “chat”, it has no tools that fit what modern and safe communities need.
A few people have mentioned the issues with Matrix but I think a part of it is the severe lack of community moderation tools. Something like a mandatory pinned rules channel would help for communities (possibly announcements too, communities are a client convention atm so not very useful). There isn’t a good story for letting bots automod channels (useful when you get raids of about 2k to 4k messages per second), which also hangs on the server not being on the performance level to easily handle more massive servers if it gets raided for whatever reason.
So at the moment, there is no alternative that isn’t also a centralized single point of failure.
I’m just hoping one day someone writes some chat client that pivots over ActivityPub for discovery, sadly my ADHD will probably prevent me being that someone.