Where's the middle ground?
Like many gamers, I started off using Skype. It let me and my friends talk shit while playing Minecraft together. When I got into ArmA 3 in 2014, I was introduced to TeamSpeak 3. You'd join a server, find the channel your friends were in and get to gaming.
It was lightweight, didn't hog your system resources, and the voice quality was great. Communities would form in servers, groups of like-minded people coming together to play games. The downside? You have to pay for your server to be hosted somewhere, or host it yourself.
There was even a plugin ecosystem, adding soundboards or integration with game mods such as Task Force Radio or ACRE 2, turning your high quality TeamSpeak audio into in-game proximity chat.
In 2015, Discord was released. No download required, no need to pay for servers. It's all free! Juiced up on $8.2M of VC funding Discord was gearing up to take over the market. It was bulky, running in Electron which is essentially just a web browser, but it had features like embedding images in chat messages and eventually video calling and screen sharing too.
Jump forward to the pandemic, Discord usage exploded. With everyone stuck in their homes, Discord became the new Skype or FaceTime. Thousands of non-gaming users flocked in, using Discord to keep up with their pals.
Me and my friends became part of the flood onto Discord. Those extra features for image and screen sharing became worth it. The performance implication of having an electron app running alongside games was less of an issue as our PCs got better. We could shitpost harder and also, Discord's channel messages persisted. If you weren't online but your friend sent a banger, you could catch up on it when you got back. Something TeamSpeak doesn't have.
In 2024, Discord is still not profitable. They're still burning through that VC cash. Plenty of attempts have been made to increase their revenue:
They've helped to stem the flow of cash, but haven't stopped it. Discord announced layoffs in January 2024 and now there's the news that ads will be added to the client. To me, Discord is looking less and less appealing by the day.
Buy Nitro then?
It's a valid point. My issue with it is this: my TeamSpeak server is hosted on a $4 per month VPS that also hosts a bunch of websites for me. No-one connected to my TeamSpeak server gets ads. Nitro is $9.99, every single person in my server (over 50 people) would need to purchase Nitro. It also doesn't get over the issue of bloat in the client. Does anyone actually use activities?
Call me old-fashioned, but I quite like to have some ownership of my servers. I still self-host my TeamSpeak server, if I play Minecraft with my friends I self host that on a PC in my loft. At any point I can go and grab all the files uploaded to the server, reset it or just reboot the thing if I'm having issues.
Not everyone is like me, I get that, it's why Discord has become so popular. You can create your own server in 4 clicks. Discord manage the hardware, manage the setup, all of it. It's all part of Discord's centralised infrastructure.
The issue is, what happens if Discord don't manage to turn a profit? If the VC taps dry up? Your server disappears.
Plenty of my friends were able to set up TeamSpeak servers thanks to hosting companies that make it super easy.
If TeamSpeak as a company died tomorrow, my server would still be running. My client application might not receive any more updates, but I could keep using it. Same can't be said for Discord. If Discord Inc dies, everything dies with it.
Discord and TeamSpeak's positions are entrenched. Part of their appeal is their popularity. Everyone is on Discord. They spent a lot of VC money making that the case. Even if you come up with a great solution, unless you can convince people to switch it's dead in the water.
I'd be perfectly happy with TeamSpeak plus these features:
I have been made aware of a few alternatives to Discord, which seem promising.
This one's promising. Revolt is essentially a Discord clone, but it's open source and self-hostable.
It's currently missing a few key features, like video calling and screen sharing, but these features are planned. Self-hosting is available but requires a separate login as a "third party instance". This will be a big barrier for a lot of people. I can already see the inevitable message:
But why do I have to make a separate account for your server?
Element is a similar service. It's more focused on enterprise, built on the open source Matrix protocol. With features like Federation, this seems like it could be getting close. I don't think it has native game streaming though, thanks to it being aimed at those enterprise users.
The simplicity of TeamSpeak is its biggest asset. You enter an IP address and join a server. It just works.
To do this with my ideal application, you'd need something like federation, where instances can communicate with each other to draw account information. It's what powers platforms like Mastodon. The issue with that, is that if the instance you signed up on closes, you lose your account.
An acceptable middle-ground, for me, would be to have local accounts, where you can join a server directly with an account that only exists locally on your computer. This would let you join servers if you wanted to, but you wouldn't have a centralised identity.
Then, if you want to, you can sign up to a central account. This would then enable features like direct calling (which could just be P2P) and DMs. It could also synchronize your bookmarks to servers.
This would still have infrastructure cost for the company, but it would be largely reduced as the cost of hosting is mostly covered by the servers.
It's tempting to open up vscode and get working on it. I started work on a proof of concept a while back. I used LiveKit as the backend for calls. Nuxt for the frontend app and Laravel for the server API.
That said, it's probably far too much work for one man to handle, and it always comes down to money. I don't see the monetization path other than maybe providing hosting as a service or licensing it to hosting companies. Something that TeamSpeak does.
I don't know what the solution is, I'm just a bit dissatisfied with all the offerings out there currently.
email: harry [at] hjb [dot] dev
discord: indexgg