Don't Use Discord for FOSS (2021)
drewdevault.com
drewdevault.com
If your intent is to have your code reach the maximum amount of people to benefit them, and you want your project to benefit from networks effects.. then GitHub and Discord, the two proprietary platforms used by the largest portion of people for modern OSS project development, are basically a non-choice. Every other option results in far less people discovering and interacting with your project, by orders of magnitude.
In a project I run, we forced everyone into Matrix as much as possible and refused to operate a Discord for over a year. Once we relented, and decided 'we would run both' - over 95% of people in under a month stopped participating in the Matrix channels and instead went to Discord. The number of people in the community grew orders of magnitude larger, in a shorter time period, as well - even with us pushing it less on our docs/etc.
It sucks. Wish it wasn't true - but that's where people are.
At the time (still?) it seemed impossible to bridge Discord channels (which are viewed very much as 'create as you please') to Matrix rooms without painfully doing it one-by-one via a config file and managing/creating both on each side (Matrix really seems stuck on the idea of preferring its 'one room' model and has not really embraced channels in the Discord sense.) Discord had also just gotten forums with no way to bridge them.
Additionally, our Matrix rooms were seeing a good amount of spam that Discord was not, which would then get relayed to Discord via the bridge and would require moderating in both sides.
Finally, our strongest Matrix advocates firmly disliked the idea of a bridge because it meant their Matrix messages would go to the proprietary Discord company.
In the end, we let them run side-by-side for a little while then the Matrix quickly died.
I don't like / trust that stuff either but it's often necessary and easy enough to run in a container (e.g.: Docker/Podman, LXC, Guix Shell) or VM (e.g.: Vagrant, QEMU/libvirt).
I actually run most of my software dev stuff that way these days because all these tools are routinely pulling hundreds of deps from the internet that are doing who knows what in their build systems.
> In the end, we let them run side-by-side for a little while then the Matrix quickly died.
The Stallman mentality is a plague.
https://github.com/spantaleev/matrix-docker-ansible-deploy
Personally I've never seen any significant amount of spam on Matrix.
The tolerance of inconvenience is a practical argument. If you have non-free dependencies, the most likely scenario is that sooner or later the dependency will kill support for the project and you have no legal recourse. Eg, if a project uses Discord, at some point it will have to move away to some other technology/protocol. If it uses git, the project won't ever have to move away from git. Those predictions can be made purely from analysing the license.
Since a move is inevitable, it really should make more sense to use FOSS protocols and clients from the get go. People don't though, and I don't pretend to understand the reasons. But what I can confidently say that Discord is going to become inhospitable for the project eventually.
People are talking about Discord like Freenode didn't crap on everyone recently
Meanwhile, sure, feel free to use an OSS solution then realize nobody cares
And that is the upside of OSS. When Freenode caused people trouble they all just walked calmly to a new server. Case closed. Little of value was lost.
That being said, Stallman (still?) uses mostly terminal based software, so that take is a bit biased.
It blows me away just how out of touch one otherwise-intelligent man can be.
FOSS often has severe usability issues compared to popular proprietary counterparts -- just look at any article here talking about trying to use Matrix or get friends/relatives to use it, it's basically always a big dumpster fire. Yet somehow you still have people recommending it.
I think the issue is less getting a designer interested, and more that it would be really hard to get consensus. Changing UX is more subjective AND intrusive compared to adding more features or improving performance. Changing the UI means changing people's existing flows, as opposed to a new feature that can just be one more button somewhere.
There are some exceptions, but the ones that care the most about market share either have a corporate backer that is profiting from the project (Microsoft, Chromium) or require large numbers for the project to be successful (Firefox, Fediverse).
Is this for the same reason that most Linux users don't care about free software (i.e. are happy running various proprietary blobs on Linux, Windows games in Wine etc.)
i.e. as far as I can tell most users of free software don't care about the free software aspect very much.
Talked to a Linux user about this last night and he seemed to think the "free" part means "no cost"... Sad!
I'm not saying that it's strictly worse or the same as with FOSS software. Just a different tradeoff.
The Linux terminal is fairly comfy and depending on the task, it can be vastly superior to graphical applications. The opposite can also be true for other tasks. It really depends on what someone wants to do with their computer.
But yes, I do think that free software ideals discourage supporting those platforms - however some may support them to give their users at least some freedom, eg when they are forced to use the platforms due to some work policy.
Ultimately, a huge hacker culture built on proprietary tools might lead to more freedoms, both political and technical, than a tiny hacker community built on other tools. The size and political influence of a larger community matters.
I suppose the real problem of using proprietary tools for a larger community is the marginalized people. Like, if Discord didn't allow people from a certain country. It's a tradeoff between having as large a community as possible and making sure you include everyone, even those with uncommon circumstances. That's a tradeoff that gets made in many situation I think.
My stance is that it is okay to use proprietary platforms as long as it does not negatively impact the users not willing to use them, i.e. all channels must be bridged to non-Discord, so that it does not "partition the community" in any way. Discord-specific features should be avoided to not affect the usability of users on Matrix. So far it works well and I get to basically have the cake and eat it too.
None of this is true for discord. It isn't indexed by anything, even "servers" are walled gardens to each other mostly. Anything shared on discord will be lost to time in a decade or two. Nothing discovered or solved within $project's discord will possibly benefit anyone outside that project.
And sure, we already had that problem with IRC, but I think the text-only nature of it helped that anything a bit more involved moved to forums or mailing lists which again both were web accessible and searchable. And even then some projects did have logbots which just dumped text files into a web server.
I don’t have the time or energy to arse about with real time chat and micro-communities for every single thing. The claim is that they are inclusive but I find them rather cliquey and exclusive.
Personally, as someone who has watched the evolution of IRC and other types of communication channels, I would argue that unless a thread is archived to the open web, anything shared in a realtime chat channel is lost in hours if not days.
I think the best thing for this stuff is still a forum, like GitHub Discussions (or Issues), or just run your own message board.
This amount of altruism is rare. More likely it's just the desire to be acknowledged by others. It's ok, but it's also worth reflecting on why you need that, as the process of freeing yourself from that can make you happier.
Also quantity <> quality; Discord users often are the people who have been trapped down the slope of least friction and that are ok with "being the product".
For instance if I were the head of browser or desktop environment project I’d want to hear from as wide of an audience as I feasibly can because otherwise there’s almost certainly issues (usability, compatibility, bugs, etc) that I’m not privy to because they aren’t encountered often in small more technical samples of users.
Yes, this is the problem. The article suggests: try to fix it.
I've never actually had a question answered (rarely even addressed) within some chat-like timeframe anyway, then after some days or a week or so I forget all about it or couldn't find it again scrolling up if I wanted to.
People always talk about search engines not indexing it harming discovering, but another aspect of that is that you can't tell if the 'server' is completely dead until you make an account or log in and join it. Then potentially you just see a flood of people joining, maybe one or two asked a question, and there's just no other activity.
But my main issue I think is just that I can't keep up with the chat for so many different 'servers' and their channels, so why does it make sense for it to be chat anyway? Something like Reddit makes much more sense to me, where there's a bit of a sense of what's current, but not to the same extent.
If someone would just clone discord/slack and make it so people could stand up a server in minutes and manage it with near zero effort, and the UI/UX pretty much copied what users find familiar it would probably take off. Don't make it distributed, just apply enough cryptography to secure the client-server communication. Yeah, users will need to trust their admins and it won't be perfect security, most users don't need that.
Make it easy to run fully public and indexed/searchable servers, make it similarly easy to run servers that weren't fully public and indexed and required logins and kept everything private, let the users decide instead of the developers.
If your chat protocol cares too much about perfect forward security against hostile admins and attacks by the FBI while supporting a distributed protocol then you're likely producing something that is too complicated to use for 99% of the happy slack/discord users who don't care about that. The challenge for FOSS developers is to recognize that most people don't care about what they deeply care about and that they're not smart enough to solve the iron triangle of security. And that is when they're not self-sabotaging their product by looking at the way that e.g. slack and discord let you easily edit your comments and declaring yourself philosophically opposed to that.
What if whatever you are making runs against a popular alternative? How are you going to convince the Discord people to switch from that thing to your thing? They are Discord people: they are programmed to seek whatever large numbers of other people are using, which is why you have to resort to Discord to reach them.
I was trying to get support for a commercial product which I paid for. They only offered support through Discord. They had set up their channel to require phone number verification.
I put in my phone number that I've had for the last 24 years and it said it was invalid. I messaged support, and instead of fixing their system, they suggested that I just borrow a phone from someone who doesn't use discord to verify my phone number. They told me "it's ok we only do it that one time so it doesn't matter".
This was from their official support. What exactly is the point of phone number verification if they officially encourage you to circumvent it?
I never did get support on that product. And it never worked again.
It's a piece of hardware that hooks into your car to make it self driving using software that is open source. If you google that sentence you'll probably find it.
That being said, I'm not entirely mad at the company for it -- discord is the one you should be mad at for their terrible policies, security, and support.
Let's see how this response pans out.
Addendum: Perhaps it was Comma.ai instead? Mind you that proves nothing unless there's a bot that tracks edits to old comments .. so ..
C o m m a . a i
Addendum: 10 minutes in and no apparent bot activity; might be timezones, might be limited to a follow bot that's on your tail seeing as you're kind of a bigger name than I am.
Edit: So far so good 17 minutes later. Perhaps the bot is dead! Or it was a person doing it who is sleeping. :)
Edit: Ditto, 22 minutes and no up or down activity.
Clearly we're dealing with bots that can pass the Turing Test :/
I'm interested to hear what you think it could be. As users we have no visibility of downvotes, who gave them etc. You say bots or people - do you have any reason for thinking this? I'm interested to hear more info, if you have any thoughts.
Historical comments can't be downvoted, or at least the UI doesn't allow it.
https://hn.algolia.com/?dateRange=custom&page=1&prefix=true&...
For comments less than 1 month, I see the option to upvote, for older comments I don't.
How do you think I can detect votes from a 'revenge bot'?
Have you read any of my comments? I'm as explicit as I can be on this site.
However, if you are trying to say something more specific, please do.
Always figured a console-hacker turned semi-rogue AI car hardware maker was sketch, but this is garbage scow class.
So, comma.ai is a "NO PURCHASE".
Also given that the reddit sorts prioritize newness, it may not be the best resource for support since there is a good chance some old posts might cover a common problem.
Overall there are probably better support platforms.
But using a private reddit for an internal support forum would probably work really well!
When GitHub was young and we were just starting out, we didn't really have anything like this. We had Campfire for internal chat, but not an external IRC like tool for engaging with our early users. The problem with IRC is mostly that nobody used it, it's just not an easy to use platform. We would mostly just use Twitter or something for user conversations.
I remember Leah Culver launching Convore (based on IRC tech) to try to make this easier, but for whatever reason it didn't take off. But somehow, Discord took off and there are _so many_ people there. We opened a server for GitButler and it's been so fantastic for connecting with and supporting our users.
But more importantly, it's amazing to have when you want to engage in a community as a _user_. We started using Planetscale and I had an issue and was able to join their server, ask my question and get a real answer from real PS employees and users almost immediately. Rather than dumping an issue into GitHub and watching it linger. Real time chat is so much more powerful.
Discord has done _so much_ for the open source community. Just look at great projects that embrace it. Go into the ohmyzsh channel and get _anything_ answered, there are like 1000 active users in there all the time.
I just can't imagine the concept of throwing that away because "it's not FOSS".
Yeah there are some downsides compared to IRC, but the average user will likely have a MUCH better nicer experience using Discord...which is a big part of why it's exploded in popularity.
Maybe IRC was a litmus test of sorts.
But it'll probably never be as popular as software that gives a shit about decent UX design.
The Hyprland Discord was both more active and easier to get my questions answered, in no small part thanks to chat history and decent search. It felt like a world of a difference, and played a huge role in my going with Hyprland despite finding Sway source code better written and a slimmer running process.
If for contribution and discussion of your project has mandatory requirements to send issues and/or pull requests to GitHub, or to host something on GitHub, or to use Discord, then this can be a problem. However, if you just make a mirror on GitHub and on multiple other services (or have the GitHub issue trackers as one of many), then this can be less of a problem (although there is still the problem of others who wish to comment on issues which have been posted on GitHub, even if there are other issue trackers and/or discussion forums, since they will be separated).
(IRC is better; however, a few projects have bridged IRC with Discord (or with Matrix) and you could use that if necessary. NNTP would also be helpful; I have set up a NNTP server, but hardly anyone uses it.) (Another advantage of IRC is that it is usable even without a specialized IRC client, since it is mostly plain text anyways. This is especially true if TLS is optional rather than mandatory, and the character set is printable ASCII rather than Unicode; but, even then it is still more usable than Discord.)
I think Github is worse. The pervasiveness of this centralized platform leads to a way more insidious form of lock-in. Look at the vast landscape of developer tool vendors who offer some kind of Github integration features out of the box. These aren't even unique selling points, they are expected functionality. Bringing Micosoft Github in a very luxurous position where they can pick'n choose nuggets into their platform to slowly bring more value to their products and services.
It is all seemingly open, but you are a frog in boiling water, getting more dependent on the platform. This goes much further than git vs. github. The Github product suite offers real productivity gains, that cover many aspects of the software development lifecycle. And more added all the time. Hyper convenient, click and go. It is their strategic direction to cover ever more of this SDLC and intertwine with other products and services along the way.
From that regard git is just the data export format, your data takeout if you decide to leave. And good luck to find comparative services elsewhere.
It is a valid point, but you are not necessarily required to use such tools (I deliberately don't use them, due to these problems). Of course, some people do; as long as they are not mandatory, you could still use the program being made by the project, elsewhere.
> From that regard git is just the data export format
It is import as well as export. (However, this does not include the issues. The API is documented, but I don't know if any other git-based services support the same JSON format used by GitHub for this purpose.)
Yes, it is very prudent if you are considerate like that, and you mitigate the risks of lock-in that way. But..
> Of course, some people do
I would say most people that have their stuff on Github use many of the power features and conveniences they bring without much deliberation on the lock-in aspects, and also use the Github integrations of a range of additional 3rd-party developer tools too. Companies make these choices, often as a no-brainer, since it is a logical choice for what are simply the 'best tools' on the market. And then devs start using those too for their own personal projects.
IRC doen't have these problems; you can write your own (and make one which is much simpler than Discord, Firefox, and Chromium), or just use it directly.
The reasons ppl moved away from forums weren't entirely legit - the gaming community origin as a fast paced attn-deficit platform for rapid meme sharing, the rapid switch to mobile-first mentality needing UIs to match, a gap in generations of users not used to the forum posting / email like UX etc..... but I mean, look where we are right now here on HN, a classic forum by most standards, and even what Reddit is, a platform of a million forums,... The forum still holds a lot of merit no? It's just been pushed down under the weight of the rush to popularity and the mentioned issues.
Sure, it's nice having near-instant feedback from other people, but at that point it's just turning into social media. I feel like forums provoke people to write more sophisticated, and better posts rather than on Discord.
My current workplace uses phpBB (lol) with a bit of GitHub discussion sprinkled in. I think it's great, much less cluttered than something like Slack.
Increasingly I don't really think decentralized open source is what we need, we could really use a centralized nonprofit mission-driven org that is committed to operating something like Github along with a chat service and a social network. Every project trying to operate their own, we get a bunch of poorly secured, poorly backed up projects, all of which are doing a ton of duplicative work where if all of those distributed teams were working on one project they could scale to orders of magnitude what they're scaled to independently.
Requires a phone number to even sign up. How is that more usable than say opening up https://web.libera.chat and typing `/join #channel`
>most IRC channels didn't log
That is a good thing. And those who log, presented it as a searchable js-less plain text so I can easily search for a string in chat messages from 2011. Unlike Discord that I don't recall the last time I did a successful query in that weird search UI at the right side of screen.
Actually awful search ergonomics alone, makes Discord more of a "blackhole" than IRC.
>Increasingly I don't really think decentralized open source is what we need, we could really use a centralized nonprofit mission-driven org that is committed to operating something like Github
Well, let's see how long the status quo remains.
This is the level of hardheadedness you have to get through to interface with the FOSS community. People who actually think these things.
If you actually bother to engage with features in IRC and Discord, it is 1000% apparent how Discord is vastly more usable for the average user. Discord matches expectations for how an app or service will behave, and has a powerful set of features that are easy to grasp and require minimal or no setup. That's why it wins.
If you want to insist that IRC is actually more usable go ahead, but in realityland Discord has won for a reason.
https://en.wikipedia.org/wiki/Context_collapse
In real life interaction happens in short term and long term physical and social bubbles where the way you act and present information naturally takes into consideration the people you're interacting with. How you talk to a customer is different from how you talk to to your friend, is different from how you talk to your partner, is different from how you talk to your boss, and is different from how you talk when all four relationships are in one conversation together.
On the Internet— and basically only on the Internet— you'll say something meant for your knitting discussion group, and then Rocky, Steve, Gwen, and Stacy from the guitar, farming, volcanology, and motorcycle communities will butt in and take offence— because the geniuses in charge of the platform have decided that human progress is best measured in terms of how many people they can blindly jam into the same room at once.
As much as I love the chaos of the old Internet where you could kick someone and they could immediately rejoin the channel, that's simply not practical on the modern Internet. If web.libera.chat were as popular as Discord they would probably end up requiring phone numbers too. (This wasn't always a requirement.)
> Actually awful search ergonomics alone, makes Discord more of a "blackhole" than IRC.
I don't really use Discord for technical stuff, but whenever I have tried to search for something in my social channels I have been able to find it easily. It's not for searching the world like Google is - it's for searching personal history and it does that really well.
Weird how it can be so divisive. I can understand people tolerating the horror because everyone else is there, but thinking it's usable is beyond my capability to understand.
Matrix/element might not be superb either, but at least there is the clear potential of alternative clients.
> but thinking it's usable is beyond my capability to understand.
This is part of why UX is so often trash in FOSS projects: a lot of FOSS enthusiasts cannot even perceive the usability issues that exist in them. They're on a completely different wavelength compared to the average user. They are, in other words, UX-blind.
Since they fight against it so much, I guess they're doing their data mining in the client.
And there's definitely technical issues with supporting other clients. Can make it hard to change things without breaking those other clients.
If I care about the conversation, I like to read it fully to understand whats going on, those extra bits are just distractions to me.
- Those most passionate about free software are treated as second-class citizens.
- Discord is bad for users with accessibility needs.
- Users with old computers are excluded, as are those with an unusual OS or device.
- Users in countries like Iran are excluded.
- Users concerned about privacy are excluded.
Personally I think that as valid as some of the issues with using Discord for FOSS are, there isn't a better platform for a community to interact with each other on. Sure, projects shouldn't be using Discord for everything, there should be documentation and stuff available online, but for fluid discussion and getting help from others users, I don't see any decent alternatives.
For some reason I think people are hoping they’ll break the chat app treadmill (gain users and community by giving service away for free, try to monetize these communities, go out of business because chat is a solved problem and you can’t offer anything comparable to your competition who is still in the “give away service” stage). This time will be different, sure…
Their business model is selling premium. But, I’ve never met anybody who’s paid for it.
I bought the server boost once, hoping it would improve the audio quality of my little channel. There was no discernable difference, and as I do not need more dancing blinking emojis, I canceled the subscription again.
Their business model is selling premium. But, I’ve never
met anybody who’s paid for it.
anecdotally, paid upgraded users do not seem uncommon to me. feels like a few percent? maybe 5%?boosted servers seem quite common
Because when someone else encounters the same issue, the answer there may help him as well. Just like surveying the opened issues may reveal problems about the project. It seems to me that every project that has opened a discord is suffering from stale or lack of documentation.
A group can use whatever it likes for collaboration, but pointing users to a discord server feels like being asked to first be initiated to the club, before having the privilege of receiving information. There is a strong aura of exclusion.
Meanwhile, on SourceHut:
> Notice: sr.ht is currently in alpha, and the quality of the service may reflect that.
> Payment is optional for most features during the alpha, but some services require payment to use.
> Service Payment chat.sr.ht Required
Ahh, $10/month for an alpha system, whose latest blog dates back a few months, and details how they were taken offline for multiple days by a DOS.
And Mr DeVault should probably disclose in his blog post that SourceHut is, it seems, his.
Also, it's not about form over function, but are we comparing https://sourcehut.org/chat.png to Discord?
I don't think Drew makes, or has made in this blog post on his personal website, any secret of the fact that he founded and operates Sourcehut.
> Ahh, $10/month for an alpha system
Actually, $5/month for the "Hacker" plan or $2/month for the "Amateur Hacker" plan. If you bothered to read that page rather than cherry picking, you'd note the following text in the third sentence of the page:
> You should pick the plan which best matches your financial needs and best represents the level of investment you have in sourcehut.
Ironic that one of the most honest and clear pricing pages that still exist in the cesspool of the Internet today yields such a dishonest interpretation from people like you...
> Also, it's not about form over function, but are we comparing https://sourcehut.org/chat.png to Discord?
It's been litigated to death in previous HN posts similar to this one, but some people actually prefer this kind of chat interface, rather than a million animated emojis, "rich" text formatting and metadata insertions...
He did. Footnote 3, linked after the second mention of SourceHost: "Disclaimer: I am the founder of SourceHut."
Disclaimer: My repos are on SourceHut, and I've been a paying customer for several years.
Most people reading his blog already know that and most of his articles mention SourceHut so it really does not bear repeating.
The site has always worked fine for me despite the alpha statement but you seem to already have a bias against it.
And then you complain about IRC on the "IRC of websites".
I’ve never had questions of any substance solved in Discord (or any chat), except for very small groups (single digit regulars).
Any serious question goes to whatever the project’s most significant async message board is (Reddit, Discourse, etc).
The main problem with Discord, to me, is that in any popular project, you have about 15 seconds for the right person to read your message before emojis push it off the screen.
It's like... this defines the issue.
I don't see why this point isn't always mentioned front and center when it comes to discussion of Discord as a help vector. It's transient. It's ephemeral.
Forum posts persist, they're asynchronous. People visit forums and catch up, it's considered acceptable to reply to a post that's a couple of weeks old. Yes, you shouldn't necro a thread from a year ago but forums are designed for casual access which is always going to be the majority of a userbase. You can drop in and help as and when it suits you. If you get abused or a toxic reply, there's a good chance you might not even see it because the admin will clean it up before you log in again.
They're searchable and open.
Compared to that, everything about discord appears, to me, to make it completely unsuitable as a support platform. I've tried a few times to use some subreddit discords and they're just bizarrely fast-moving with multiple channels, memes and stuff popping up all over the place - I fail to see how you can get any real value out of that. It's hugely interactive and feels like - to use a very old metaphor - having a boxing match with your computer in which you're constantly ducking stuff being thrown at you. It's a bit exhausting.
It seems... discord, like tiktok, is something you do - it's a two-way street. You use discord, you install the app, the app pings you up when _it_ wants to and you respond to the app, which is a really unhealthy way to interact with technology, having an app endlessly jerking your chain.
Forums, on the other hand are a passive place _you_ visit when _you_ want to - which is a much more human-centric way to interact with technology.
To give you some anecdata, I have found the zig discourse forum (ziggit.dev) to have a much higher quality in response than their discord help channel. Sure you might wait a little longer but the answer is now web searchable and own by the community.
Discord or chat doesn't do that, quantity of active users does. My experience with FOSS and similar Discord 'servers' is waiting and never getting an answer. And then of course I can't even find it again, or someone searching with the same question can't find it.
When you chase purity, you sacrifice pragmatism and strategic flexibility, limiting your options. It is sometimes necessary to compromise to achieve your goals.
My conclusion is that it is okay to use proprietary platforms as long as it does not negatively impact the users not willing to use them, i.e. all channels must be bridged to non-Discord, so that it does not "partition the community" in any way. When a compromise needs to be made, FOSS users are prioritized. Discord-specific features should be avoided to not affect the usability of users on Matrix. So far it works well and I get to basically have the cake and eat it too. The bridges are set up using an Ansible playbook [2] which required relatively little effort on my part.
1. https://github.com/FreeLanguageTools/vocabsieve
2. https://github.com/spantaleev/matrix-docker-ansible-deploy
Discord works fine as a chat room. As a way to have casual conversations about everyday topics, with the expectation being that you'll likely never have to refer to them ever again. If you want to discuss what you had for breakfast that morning, knock yourself out. Something like Discord or Slack or Matrix is perfect for that.
The problem is that many people try to use it as a website, wiki, forum and support desk rolled into one, and it's terrible for those use cases. It being a walled garden means it's a bad solution when it comes to attracting users to a project since it doesn't show up in Google, and for providing a searchable archive of information for things like support purposes. It having a design meant for chatting means it doesn't work well as a forum, since the layout isn't as clear or understandable as a traditional one there, nor does its search work well for that purpose. And requiring people to login to even view it means it fails miserably as a support system, since many people won't have an account when they need help with something.
Unfortunately, because it's 'free' and 'convenient', we get a lot of project teams deciding to use it for everything rather than having a separate website or forum or wiki. It's like the online creator equivalent to that office worker trying to use Excel for everything when they really need a custom designed system or database.
In the same way no one should use an IRC server for documentation, no one should rely on Discord for the same thing either.
The data ownership point is definitely worth noting though. Can Discord really do anything if your users consent to you logging their posts to an external service?
The reality is
1. FOSS alternatives have awful usability compared to Discord for the average person
2. Advocates for those FOSS alternatives are frequently utterly blind to those usability issues (which partially explains why they're present in the first place -- can't fix what you can't see!); they literally cannot even perceive what the problem is
It's taken seriously by the users. The maintainers don't owe anyone to implement your ideas. If you have some issue about some software, you go and do the work. FOSS is not about delivering a software product to you, it's more about giving you freely the foundation that may be suitable or not for you. If it's not, you take it and do the extra work to get it more suitably aligned to your purpose. That may require some technical knowledge, but a bit of education is always helpful.
I don't think I've ever seen FOSS marketing. More often than not, I've stumbled into it or I found it when searching for a solution to a problem that I have. If you do not like the default, you're encouraged to fork it and make it your own. Don't try to enforce your preferences on everyone.
However, it’s not that clearcut - for instance, Element has a full product design team (albeit focused on making sure Element works for paying government customers rather than FOSS developer communities, currently). Does https://element.io/labs/element-x look like something from people who don’t care about usability?
So I am not convinced that blanket statements like “FOSS alternatives have awful usability” (N times over in the same thread) are helpful. They are often grounded in groupthink or completely outdated info - “my friend Alice tried Matrix in 2019 and it sucked”, or “all my friends say Matrix sucks so I’m going to copy them”.
Meanwhile, communities like Mozilla, FOSDEM, KDE, GNOME, Nix, Debian, Ubuntu etc all seem to manage to use Matrix successfully in practice. Some even like it.
I suspect the bigger issue here are folks who refuse to use a system which doesn’t have total parity with every feature Discord has”, or who are annoyed at having to run more than one chat app; Discord is where my friends are.
Alternatively, can someone actually articulate the showstopping usability issues which are being referred to here (say, when using Element Web)? Weirdly enough we would like to fix them, as fun as it is reading the “Matrix has bad usability and they can’t even see it themselves” trope.
There's been an issue open for Push-to-talk in element for 6 years. Insane.
The voice and video calls/conferences aren't very good interface-wise. You could defer to this Jitsi being bad though. Screen-sharing is just broken so your alternative is to use OBS and its Virtual Camera, which means audio-sharing doesn't work. You won't actually see the video until you find the quality option somewhere to slide it all the way up.
The whole screen-sharing or conference thing remaining visible, after everyone has disconnected, until the "starter" closes it? I'm not sure.
Element X is mobile only (correct me if I'm wrong) so it's irrelevant to many users.
You can't reorder your "favourites", only sort by Activity or A-Z (and showing recent first). "Favourites" being non-American English was something I noticed right now which doesn't matter but is worth noting for i18n.
The lines after a `>quote` also get swallowed up into a quote block which I'm not a fan of and requires you to have an empty line after. Github does something similar afair.
The inexplicable Unable to decrypt messages that happen sometimes. Can likely be deferred as user-error.
Trying to sync or transfer keys across devices and not knowing if it worked so you just sit there and wait to see if the Unable to decrypt messages resolve.
>"Use the Desktop app to search encrypted messages" (from the webapp)
And finally, one of the most annoying things: shit scrollback for messages. It loves to jump to the very bottom/latest messages.
>folks who refuse to use a system which doesn’t have total parity with every feature Discord has”, or who are annoyed at having to run more than one chat app; Discord is where my friends are.
Well, they are on Discord. And Discord has PTT(LOL!!!) and working screen-sharing (very important!). And Element has a bunch of these random things that make it annoying to use in comparison that makes everyone call it shit and then only use it for text chat and maybe Mumble for voice, when not using Discord of course.
One more bug: some combination of right-clicking on the Element tray icon causes it to be covered by Windows' task-bar right-click menu.
User interface issues are the least of the probelms of Matrix. Much bigger obstacle to its adoption are the performance and reliability issues. While on some fronts there have been progress: joining a room does not take hours or days anymore. On the other hand, some other problems - like Matrix's tendency to drop messages - have actually gotten worse in my experience.
No matter of polishing of the UI would help Matrix enough. You still need a solid technical foundation to build on. The "Sliding Sync" thing maybe could help, but being disappointed with Matrix once and once again, I don't have high exceptations.
> However, it’s not that clearcut - for instance, Element has a full product design team (albeit focused on making sure Element works for paying government customers rather than FOSS developer communities, currently). Does https://element.io/labs/element-x look like something from people who don’t care about usability?
Users don't care how much you spend money on it, they only care about results.
> So I am not convinced that blanket statements like “FOSS alternatives have awful usability” (N times over in the same thread) are helpful. They are often grounded in groupthink or completely outdated info - “my friend Alice tried Matrix in 2019 and it sucked”, or “all my friends say Matrix sucks so I’m going to copy them”.
And other times they are grounded on recent first-hand experience.
> Meanwhile, communities like Mozilla, FOSDEM, KDE, GNOME, Nix, Debian, Ubuntu etc all seem to manage to use Matrix successfully in practice. Some even like it.
Debian seems to be mostly still in IRC: https://wiki.debian.org/IRC
Same goes for Ubuntu. It is only "in the initial testing phases" for Matrix. https://ubuntu.com/community/communications/matrix
FOSDEM is a some sort of geek social club that doesn't really do anything.
Beyond FOSDEM, only Mozilla, KDE, Gnome and Nix are actually imposing Matrix on their respective communities. However, none of these are really success stories. Mozilla's downward spiral in market share has been particularly spectacular. Desktop Linux's market share on the other hand has slowly increased, but it still clearly a niche product.
> I suspect the bigger issue here are folks who refuse to use a system which doesn’t have total parity with every feature Discord has”, or who are annoyed at having to run more than one chat app; Discord is where my friends are.
More important than feature parity is reliability.
> Alternatively, can someone actually articulate the showstopping usability issues which are being referred to here (say, when using Element Web)? Weirdly enough we would like to fix them, as fun as it is reading the “Matrix has bad usability and they can’t even see it themselves” trope.
Curious. Previously you have admitted to ignoring problems in order to spite users you don't like: https://news.ycombinator.com/item?id=38351006
While I can believe the user in question can be, umm, a somewhat difficult person, self-sabotage is hardly good for anything.
If you have changed your mind, surley you can take a look at your bug tracker in order to find bug reports that need to be worked on.
My response may come up as confrontative. I really would like Matrix to be good, but so far it has been really disappointing, and the project's reactions to criticism have been historically outright hostile. While I am pleased of the recent change for better what it comes to Matrix project's communication style, I am afraid it is too little, too late.
The "get started" page wants me to fill out a big ass form and is talking about deployments, so yeah? They don't seem to give a shit really.
Edit: just tried downloading the Android app and the onboarding process is already deeply stupid. There is literally no "sign up" or "create account" option to even get started in it. How is a new user supposed to even move forward?! I don't think this is making the case you think it is.
If this what a professional UX team came up with, I don't know whether to laugh or to cry. They failed at the most basic initial thing. I'm just a mobile app dev, not a UI designer proper, and I could still figure this part out. "There should be a way to sign up" is not advanced UX design.
If a person doesn't see a usability problem, it might simply be because they are using the right client for them.
Always remember that nothing is free, and FOSS is no exception; you might have to invest some time and efforts to make it work for you.
I myself downloaded the new Element X app on my phone to evaluate it a bit just now, and it doesn't even have a way to sign up during the onboarding process. Do you realize how much of a failure that is in terms of UX design? When the average user won't even be able to get past the sign in screen?
I'm by no means a "warrior", but I deleted my Quora account for the same reason, and will not "embrace" Discord until they fix this.
Same reason every store wants you to sign up for their credit card or join their mailing list etc.
It's gonna hit hard in a decade or so how awesome forums were and how much irreplaceable knowledge from the 2010s / 20s has vaporized into oblivion.
My ideals, as far as I think they concern a project I work on, is that I want to work on the project. The use of non-free software doesn't preclude those ideals.
We're passing the point where the openness of the internet is being used against it. It doesn't help to be fighting the last war.
Generic social media is going to be a hellscape, yes, but I think weird niches could still thrive if Discord wasn't walling them off.
The second main problem is Discord requires signing up and a phone number.
Third problem is async communication like forums is better for software development.
I wouldn't mind if XMPP became more successful again. But for that to happen it needs to move some XEPs into the core protocol.
The XMPP Standards Foundation publish an annual compliance baseline for different categories of XMPP application. There are also projects such as Snikket (disclaimer: I work on this), which remove the confusion entirely.
At the end of the day the solution is not for end users to "use XMPP", but for good products to build on and use XMPP. I wrote on this topic at https://snikket.org/blog/products-vs-protocols/
And all the XMPP client applications also kinda suck.
As a replacement for Discord? I think it depends on the community, but it's true we don't have anything remarkably equivalent to Discord that I'd recommend right now. That's open to change, though.
We do have something close to Discord in functionality, it's Matrix. It's not the best, but at least it's not built on the foundation of recursive WTFs.
The bigger limitation seems to be that it's not visible without signing up, nor Googleable. But I think that helps people be more relaxed and free. Sometimes I see a bit of swearing and generally coarse language which is completely fine and expected for passionate people, but might be dampened if it was more transparent.
Possible, but I'd point out that IRC mostly did fine with public archives and minimal friction to chat.
If I had not, then I would not sign up with a phone number to access some chatroom.
In recent decades most people were looking for concise information and contributed concise information. A wiki or forum was great for that!
Younger generations though have arguably less (stable) relationships. So, a community around a FOSS project that also provides social interaction and where experiences are exchanged - not just information - will work better for these generations. It makes them feel connected.
How practical will Discord be once enshittification accelerates? How practical will it be after it reaches EOL for failing to convince investors that it'll ever turn a profit? Can I run my own Discord infrastructure when that happens? Can someone else? If and when Discord says goodbye, can I easily export the data that is otherwise walled into the product? Given these considerations and a long term goal of being accessible to as many users as possible, how practical is Discord, really?
I've recently switched from Discord to Matrix and its been a breath of fresh air.
The only successful business model for chat apps is giving away investor money in the form of free services.
XMPP is an option but way less popular.
Discourse is an option often successfully used.
The reality is that a LOT of FOSS advocates are completely disconnected from reality and see no issue with that. They'll insist "there's nothing wrong with the UX" to their graves, no matter how many people are pushed away by bad design. They can't see it because it doesn't bother them, so as far as they're concerned the issues don't exist.
Then they'll make comments loudly wondering why <proprietary software> is so much more successful than <half baked FOSS alternative>.
Discord is just empty, it's a ghost town. That's been my experience anyway. The most popular specific-topic servers on Disboard have, what, 500 active users, if that? And even so, the conversation is dominated by perhaps 10 people. It feels cramped.