7 ms·
This would be very useful if it wasn't for Discord: > Note: Using an unofficial client at all is against Discord's Terms of Service and may cause your account
by AlbertoGP 3y ago
This would be very useful if it wasn't for Discord:
> Note: Using an unofficial client at all is against Discord's Terms of Service and may cause your account to be banned! Use at your own risk!
- amiantos 3y agoI know that we all work on what we want to work on for reasons even we do not understand sometimes, but I do wish people motivated to work on projects like this would dedicate that time elsewhere, somewhere they are wanted. Why not make a great Matrix client or improve that ecosystem somehow otherwise? Why make a Discord client when Discord literally does not want you to?
- jszymborski 3y agoWhile I agree with the sentiment, there is no lack of Matrix client side-projects.
- tymscar 3y agoI wholeheartedly agree but working on something you can use is much more fun, and the chances this person uses discord are much higher than of them using matrix
- Ezhik 3y agoWhat's a dev to do when their friends are on Discord?
- creesch 3y ago> somewhere they are wanted. While Discord might officially not allow it, a lot of folks do want the option of using different clients. There are a few out there and generally speaking it does like discord doesn't crack down on it unless they see odd api usage. *DISCLAIMER:* Still very much use at your own risk. I am not responsible for banned accounts. > Why not make a great Matrix client or improve that ecosystem somehow otherwise? Likely for the same reason there are still relatively few feature complete matrix clients out there. Don't get me wrong, there are a ton of clients out there with some functionality. But few that support all functionality. For the longest time it was just Element. A large reason for that has to do with how complex the Matrix protocol is to deal with. To be fair, the discord API also has become a hot mess with all the features tagged on over the years. But the basic API for just chat is fairly straightforward. Not to mention that there are multiple wrapper libraries for various languages out there that make things even easier. Also, people work on projects they benefit from themselves. Or at least the ones they are motivated to do. If someone isn't on Matrix why should they invest the time and effort to get effectively nothing in return?
- tcfhgj 3y agoWhat's complex about the Matrix Protocol?
- yungporko 3y agonobody cares what discord wants, their client sucks and lots of people want an alternative.
- Dalewyn 3y ago>Why make a Discord client when Discord literally does not want you to? Discord's hostility is irrelevant if you desire to write a client. Kind of like climbing a mountain because it's there; who cares if the mountain will probably kill you. >I do wish people motivated to work on projects like this would dedicate that time elsewhere, somewhere they are wanted. If that desire was expressed in the form of compensation, more devs would probably start lining up. I realize the very concept of compensation is heresy for FOSS, though.
- 0x073 3y agoAt the time when yim,icq,msnm had their primetime no company behind it wanted third party clients. "Why make a Discord client when Discord literally does not want you to?" Why make another X when you could improve Y. Because most of the time if they wouldn't build X they wouldn't improve Y. This is no company that balance human resources.
- jeroenhd 3y ago> Why not make a great Matrix client or improve that ecosystem somehow otherwise? From my dabbling, I would say Discord's API is a lot easier and better documented. Matrix has a billion different standards, a complex message format, and encryption to deal with. There are libraries, but they're not easy to use, sometimes incomplete, and are rarely documented beyond "this is how you send a ping bot". Also, people actually use Discord a lot. Matrix is big, but not Discord big. In practice, Discord rarely ever bans anyone for using alternative clients either. I don't like the way Discord is now the standard for communities, but I'm not too surprised about it either. At least open source projects seem to use Matrix, but I wouldn't recommend it to my gaming buddies because of how odd the clients generally are.
- githubalphapapa 3y ago> Matrix has a billion different standards There is one specification, available on the official site. It isn't, and never will be, required to implement all of it. > a complex message format It is a very simple format. Here's an example message (as sent by a client; additional fields are added by the server, such as server-side timestamp): { "content": { "body": "Hello, world.", "msgtype": "m.text" }, "type": "m.room.message", } > and encryption to deal with This is also optional. If you want to talk in unencrypted public rooms, for example, you needn't bother with it. The spec is so simple that you can send a Matrix message from a shell with curl. It's just JSON over HTTP.
- jeroenhd 3y agoThe official spec is a combination of hundreds of tiny specs and extensions, akin to XMPP. There may be one single reference, but it's constantly evolving. > It is a very simple format. In a best case scenario, sure. The Discord version of your example would just be "Hello, world" without any of the other JSON. In practice, you need to deal with a whole range of message types with various references and slight variations. Inner Matrix message bodies are essentially freeform, which makes Matrix quite powerful but also difficult to deal with compared to the "different HTTP endpoint per request type" approach Discord takes. > This is also optional. If you want to talk in unencrypted public rooms, for example, you needn't bother with it. Sure, if you accept having your users install two different apps, one for encrypted chat and one for group chats.
- diamondburned 3y agoHi, developer here! I have worked on a Matrix client before (diamondburned/gotktrix)! I abandoned it because I couldn't be bothered to handle E2EE or rewrite it in a different Matrix library, but Fractal is also fairly stable now and it scratches the same itch, so I didn't see a point.
- Nextgrid 3y agoEveryone says "Discord bad" (and I agree, it has issues) but few bother to understand and learn about what makes it successful and makes people use it (even in spite of its badness). Alternatives bring in their own set of issues and generally focus on technicalities rather than delivering a good Discord/etc competitor, so nobody uses them. Do you want to chat with people or do you want to waste time dealing with protocol fragmentation, half-baked clients (or no clients at all), fundamental protocol-level flaws (that can't be fixed without effectively starting from scratch on a new protocol), etc? Most people pick the first option and then tolerate the badness of Discord as a necessary evil.
- fulafel 3y agoI wonder if there are open source Discord server impls around that could help making a switch from the walled garden? maybe this: https://github.com/spacebarchat/spacebarchat https://github.com/spacebarchat/spacebarchat
- creesch 3y agoIn that case you might as well use other options like Mattermost, Rocket.chat or of course the Matrix route.
- gsich 3y agoNo sane voice support.
- umbra07 3y agowhy do you need voice support? & is there no lower-level solution? IE why do you need your discord client to do voice transcription?
- mixedCase 3y agoBecause people like to talk to each other sometimes. And voice channels are a convenient feature people prefer rather than handling yet another tool with its own idiosyncrasies. And voice is not enough, it also needs video and screen sharing. It all needs to be "free" (AKA someone else pay for it) too, or people will keep using Discord. People should also be able to create their own servers without worrying about technical details, and again, without directly paying for it. That's how high the bar is.
- umbra07 3y agodoh, I forgot about voice chat. > People should also be able to create their own servers without worrying about technical details, and again, without directly paying for it. I think this is the real reason why Discord is so ubiquitous nowadays. I remember back in 2017/18, it was really only (PC) gamers who used Discord - because your average PC gamer is somewhat more tech literate than the general. Nowadays, every community and their mother has a Discord server.
- tumult 3y agoApparently, the developers of Dissent have never read Discord's Terms of Service, because it doesn't even mention third-party clients.
- jbstack 3y agoI just read all of the ToS and also didn't find anything which disallows third party clients. I did find some older references to it on Google. Perhaps they changed the rule?
- tumult 3y agoNo, it was never there. Some people assumed it was, said it out loud, and it spread like a meme (as in the original meaning of the word.)
- AlbertoGP 3y agoAfter a quick look at their ToS I too do not see a clear mention. In a previous HN discussion from September 2021: > [zorkian] It's still against the TOS -- my point is only that we don't specifically look for third party client users and we have no specific plans to do so. [Note zorkian’s HN profile: “VP, Core Tech @ Discord. Opinions are my own and I do not speak for my employer (unless noted explicitly.)”] > [tumult] Just curious -- where in the TOS are third party clients forbidden? I've read it a few times, and I'm not seeing it. > [dge2020] Probably: > You agree not to (and not to attempt to) (i) use the Service for any use or purpose other than as expressly permitted by these Terms;(ii) copy, adapt, modify, prepare derivative works based upon, distribute, license, sell, transfer, publicly display, publicly perform, transmit, stream, broadcast, attempt to discover any source code, reverse engineer, decompile, disassemble, or otherwise exploit the Service or any portion of the Service, except as expressly permitted in these Terms; > It's a catch-all but the best restriction that prevents third-party clients is probably 'prepare derivative works based on' and 'reverse engineer' (which you would need if you want your third party client to use any regular client API calls, or if you want to support signing in with the user-facing login page/qr login). > [tumult] A third party client like Ripcord isn't a derivative work. It also wasn't made by reverse engineering any of Discord's code. Even if it were, these rules still wouldn't apply to using third party clients. So it seems that, as you note, the ToS do not explicitly mention third-party clients but Discord themselves believe that it forbids third-party clients. https://news.ycombinator.com/item?id=28435490 https://news.ycombinator.com/item?id=28435490
- aoike 3y agoWhy are companies like Discord, Slack, Reddit etc. so hellbent on having users stick to their god awful front end clients? You can easily perform all the data harvesting you want on the backend. Just provide some open-source api clients, and let the community build the UIs they want.
- jhoechtl 3y agoThey have it in their hands to display inbound advertisment?
- geraldhh 3y agoi suppose because of engagement metrics
- Timwi 3y agoBecause they want complete control over your experience.
- petabyt 3y agoIt tarnishes their grand 'vision' for the user experience.
- toastal 3y agoWhy are users, especially technically-inclined ones, hellbent on using these proprietary services? Throw them all out if they are going to be this way since there are great alternatives. The last thing communities should do is build UIs around these types of services instead of building ones for systems/services that aren’t so hostile towards users.