I advise not to waste any time/tokens building clients for 3rd party commercial platforms even if they claim to allow it (Discord doesn't and will ban you).
Twitter, Reddit, etc. are all infamous rug-pullers that should have taught everyone this lesson permanently.
Aside from the risk, I don't understand why you would put your time into it. They can change their stance any minute and your work is just down the drain. I guess you could do it for learning and experience? idk...
> kind is the missing Qt FOSS alternative.
Nah. What's missing is an alternative to discord itself, with enough pull behind it.
Instead of making it work with Discord, built it around xmpp with as many of the same niceties that discord offers and get yourself a working alternative on an open, powerful protocol, fully FOSS.
People want to get away from closed, centralised applications. The sentiment is the strongest it's ever been. But they don't have compelling and working enough alternatives to do so.
As others have said, you are only risking being banned. You would be better off putting that effort towards a discord alternative with all the same features that people can move to.
With their recent hostilities regarding age verification [1], there has been a lot of interest in alternatives.
The only problem is people are used to all the features discord provides, and alternatives [2] currently are nowhere near feature parity.
That all sounds good and all but I feel like this would be a major engineering effort for a centralised system that seems particularly vulnerable to regulation right now. A good example of that is Discord "servers" with NSWF channels now require you to submit your ID to Discord for verification to join the channel. As almost all servers have main channels marked NSFW (they need to because servers can be closed if NSFW content gets posted in regular channels) it effectively makes Discord require an ID.
Now, I don't know about you but I already gave more than enough info when I signed up for an Internet account. Discord and similar chat apps like this are going to end up having to do this stuff because they're essentially businesses. On the other hand, I feel if you were to build a Discord-like layer on top of IRC it would be genuinely quite interesting. But maybe not original (people I think have done this already.) You could see if their solution were as usable as Discords. Make it so no /commands were needed and host a system to spin up rooms and discover them with the same mechanics as Discord.
I share your concerns. kind is not the ideal solution. All my communities are on discord though, so it is the practical solution until a replacement for discord completely does away with the need to use it in the first place.
They seem to be most popular with the open source crowd. I think you could gain traction with the "normal" users by also including many of the gaming features that other native clients lack (game streaming, voice/video chat, soundboards, the lot). Also maybe consider actually supporting all of Discord's chat features, even the ones you don't personally use; things like forums, image boards, announcement channels, and all the other less-obvious Discord features are rarely implemented by third party clients and make for a pretty limited experience if you're in a server that uses them.
I don't think most people on Discord really care about the 2 second throbber on startup or the 500MiB of RAM that Discord wastes when all other applications on the system do the same. Discord isn't the fastest application and it's wasting resources, but it's not too slow. However, the same way Kunlun Tech Co., Ltd. has managed to sell Opera as a "gamer" browser with a non-insignificant market share, I think you could get traction by highlighting the performance aspects such a streamlined client permits.
FWIW Discord's TOS do not allow for third-party clients, and they have banned people using them (though usually only because the clients interacted with the APIs regarding friends, because those can be abused by spambots and scammers).
> So are Nitro features
I'd tread very carefully with supporting Nitro features in a custom client. If their API has endpoints for them I think you may be in the clear, but if there's even a remote chance that you'll be giving free users paid features, Discord will take notice quickly. Part of Discord's income is derived from spamming people with Discord Nitro promotions. If your alternative clients will get big enough without these, they'll probably notice.
For macOS, there is native SwiftUI Voxa[0]. By the looks of it, it has been unmaintained since the last time I tried it.
Honestly, after the story with Reddit and Apollo, building a third party client is a risk. TOS can change any moment, and if it is not the TOS, the API access can get metered or monetized.
I built QuickMailBites in Flutter for similar reasons — wanted a native desktop email client that wasn't Electron. Flutter for desktop on Linux is actually quite solid now, and the performance difference from Electron is noticeable. The main limitation I hit was just the ecosystem — fewer desktop-focused libraries than Qt has. But for CRUD-heavy apps (like an email client) it works great.
You could maybe rearchitect the backend to be provider-agnostic and sell this as a native client for users of Discord, Matrix, Zulip, Stoat, etc. That way you can capture a larger market and you're fine even if Discord kicks you out for ToS violations. Although, I suspect there's a bunch of complexity in papering over each platform especially when you factor in voice/streaming.
Discord bans 3rd party clients, but that doesn't mean there's no audience.
The reason why Discord is so strict is because the platform was super insecure back in 2015 and third party clients could ban people/destroy servers/etc.
That isn't true anymore yet the ban is still in place.
Not everyone uses software the same way. I've had Discord and used it on at least on a weekly basis since 2017-2018 sometime, and can't remember I've used the voice chat a single time since then, I couldn't even tell you where to find it in the UI unless I'd look it up.
As an Unreal game dev what I’ve wanted to remake in QT is the Epic Games Launcher.
I think Epic may be underway on this now but if you did a good enough job I feel like there may still be a window to pitch them on acquiring your work.
I would as a Windows user if it works as advertised. The official client has been going downhill. I have to restart it about once a day because it gets into some weird stuck state where it struggles to load chat rooms.
37 comments
Twitter, Reddit, etc. are all infamous rug-pullers that should have taught everyone this lesson permanently.
There's already clients like dissent, dorion, abaddon and previously ripcord (RIP my fav)
Ripcord and discordo were my favorites amongst the alternatives.
kind is the missing Qt FOSS alternative.
>While I can't argue against the risk, all these third party clients continue to be allowed to exist.
Reddit allowed it for a while too until they smelt sweet IPO money.
All it takes is some revenue generating idea that the third party client doesn't support and it's curtains.
> kind is the missing Qt FOSS alternative.
Nah. What's missing is an alternative to discord itself, with enough pull behind it.
People want to get away from closed, centralised applications. The sentiment is the strongest it's ever been. But they don't have compelling and working enough alternatives to do so.
With their recent hostilities regarding age verification [1], there has been a lot of interest in alternatives.
The only problem is people are used to all the features discord provides, and alternatives [2] currently are nowhere near feature parity.
[1] https://discord.com/press-releases/discord-launches-teen-by-...
[2] https://www.teamspeak.com/
> you listed
That seems like an assumption in this case
I have a lot of experience with Qt and QML, I've created a block editor[1] and an LLM chat client[2] and many other projects.
[1] https://rubymamistvalove.com/block-editor
[2] https://www.get-vox.com/
And I made a website for it shortly after I made this post:
https://kind.ihavea.quest
Now, I don't know about you but I already gave more than enough info when I signed up for an Internet account. Discord and similar chat apps like this are going to end up having to do this stuff because they're essentially businesses. On the other hand, I feel if you were to build a Discord-like layer on top of IRC it would be genuinely quite interesting. But maybe not original (people I think have done this already.) You could see if their solution were as usable as Discords. Make it so no /commands were needed and host a system to spin up rooms and discover them with the same mechanics as Discord.
They seem to be most popular with the open source crowd. I think you could gain traction with the "normal" users by also including many of the gaming features that other native clients lack (game streaming, voice/video chat, soundboards, the lot). Also maybe consider actually supporting all of Discord's chat features, even the ones you don't personally use; things like forums, image boards, announcement channels, and all the other less-obvious Discord features are rarely implemented by third party clients and make for a pretty limited experience if you're in a server that uses them.
I don't think most people on Discord really care about the 2 second throbber on startup or the 500MiB of RAM that Discord wastes when all other applications on the system do the same. Discord isn't the fastest application and it's wasting resources, but it's not too slow. However, the same way Kunlun Tech Co., Ltd. has managed to sell Opera as a "gamer" browser with a non-insignificant market share, I think you could get traction by highlighting the performance aspects such a streamlined client permits.
FWIW Discord's TOS do not allow for third-party clients, and they have banned people using them (though usually only because the clients interacted with the APIs regarding friends, because those can be abused by spambots and scammers).
> So are Nitro features
I'd tread very carefully with supporting Nitro features in a custom client. If their API has endpoints for them I think you may be in the clear, but if there's even a remote chance that you'll be giving free users paid features, Discord will take notice quickly. Part of Discord's income is derived from spamming people with Discord Nitro promotions. If your alternative clients will get big enough without these, they'll probably notice.
Everything you listed will be worked on after initial release. It's in the works.
Nitro features will be for Nitro users only, except things that non Nitro users can see anyway.
Honestly, after the story with Reddit and Apollo, building a third party client is a risk. TOS can change any moment, and if it is not the TOS, the API access can get metered or monetized.
[0]: https://github.com/voxa-org/Voxa
The reason why Discord is so strict is because the platform was super insecure back in 2015 and third party clients could ban people/destroy servers/etc.
That isn't true anymore yet the ban is still in place.
The language is not a feature!
I'm a C++ programmer, and even I don't care what language the applications I use are written in.
"Fast" is a feature, not that it's in C++
As an Unreal game dev what I’ve wanted to remake in QT is the Epic Games Launcher.
I think Epic may be underway on this now but if you did a good enough job I feel like there may still be a window to pitch them on acquiring your work.
Too many posts on HN now are just nasty liars like this OP looking to bullshit others.
EDIT: Code is live.