Please don't use Discord for FOSS projects
drewdevault.com
drewdevault.com
Regarding IRC, Drew is kind of famous with his ascetism, claiming that the impossibility to share GIFs, videos, files, use threads, have internal chat history, are all features rather than limitations[1]. The thing is, people don't care about it, they'll simply vote with their own legs. Mail and mailgroups face a similar UX challenge. Not everyone is willing to endure the pain of learning and using mailgroups and IRC just because they're FOSS.
[1] https://drewdevault.com/2019/07/01/Absence-of-features-in-IR...
I'm someone who likes the idea of IRC being impermanent, available only if I was online at the time.
However, I also want people to be able to @mention me so that I can see it later, even if I was offline, overriding the default. AND, when that happens, I also want to be able to read the context before the message and probably some conversation after. In other words, I want "@smichel17 ^" to be a thing.
I don't see any way to combine those features. I can approximate this experience in Discord and its ilk by having all history about l available; muting conversations, except for notifications; and relying on willpower not to read the backlog unless I was mentioned. So that's what I do. Maybe the closest thing would be Snapchat, where messages can be "saved" by any of the participants so the whole group can read them later.
There's no way to approximate this experience in IRC. So although I still use IRC, it's mostly over a matrix bridge; matrix becomes my bouncer.
Yes, there is.
<bmn__> !tell smichel17 crowdmatch me, see HN frontpage
<reminder`bot> 1 message stored. will deliver when smichel17 rejoins or unaways.
⋮
* smichel17 is no longer marked as being away, gone 04:30:55
<reminder`bot> smichel17, bmn__ wants you to know: "crowdmatch me, see HN frontpage" (2021-12-28 13:12)> In other words, I want "@smichel17 ^" to be a thing.
What was being described was more like saving a highlight; with much less friction. On Discord, I can @someone even if they're a nickname-only user with no account.
I've been doing this with IRC for about 3-4 years now, and it means that I'm "always online" as far as IRC is concerned (except for server maintainance stuff). To a reasonably approximation, I never miss anything.
From this perspective, the "always online" approach just makes IRC like Discord et al, where you receive everything and have to choose what to read when you get back.
Snapchat is the closest, with its "messages disappear after 24h by default, but can be saved by members of the group".
With Quassel at least, private messages show up elsewhere, tagged messages will generally be color-coded for easy identification. I suppose that people who participate in busier messaging systems than #ardour on libera.chat may need the sort of thing you're referring to, but it is so foreign to me that it's beyond my imagination.
It is, but the the average user's perspective is not that they'll set up an IRC bouncer (which odds are high they don't even know exists) so they can have message permanence and cross-device sharing.
Instead they'll say that IRC has no history / offline support (which is, technically, true) and will use discord because it does.
What we learned from the Freenode implosion is that for most IRC users the concept of different networks was entirely alien. IRC was Freenode for those people.
It doesn't help that the authentication story for IRC is a bloody mess. In Discord, I have one account and can join any server^Wguild and have a different nick in each (and the nicks support unicode, and emoji). If I want to have different nicks on different channels on an IRC network I need 2 separate logins.
I’m sorry that the new update for quassel and quasseldroid is taking so long :(
Please see https://en.wikipedia.org/wiki/Netsplit
netsplit is a disconnection between two servers
Again, going to highlight it's such a short-sided POV, this sort of thinking "today it's free, it's better, and thus it is the right choice for the investment of my time, my community's time, even my project's time." Such short sided thinking in favor of convenience right now is way too common leads to a lot of problems (in society generally but that's another discussion). I really want people to have a longer term view of utility for the sake of longevity and stability of things as important as our channels of communication.
[0] https://news.ycombinator.com/item?id=29711001 this was just posted a few hours ago.
I'm not against people choosing discord for some projects, but there's nothing so terrible or oppressive about choosing IRC. It doesn't deserve the "considered harmful" treatment. Hopping on IRC is a very low bar for a potential contributor to clear.
Mosh is the only thing that actually works in those cases.
But using Mosh means having a server, seting it up and so on. Yeah, Mosh+IRC is better from a FOSS perspective. But it comes with usability drawbacks too.
I can't believe how delusional some people are. And sorry for being so rude.
In 2021 everyone expects history and other things. You can't realisticaly expect everyone to "just have a fully set up always-on raspberry pi and install some server on it". That's why IRC and XMPP are mostly dead.
> I have a dedicated server running my email and media server where I also put
Good for you. The absolute vast majority of users, however, don't.
That's the big value of mailing lists over most of these chat solutions.
People are more thoughtful about email only because it's slow and relatively low volume. You see the same on stack exchange.
The general idea of group chats was to facilitate ad hoc real time communication. People were not assumed to be always online and messages were only of interest for the discussion happening in the moment. There are much better options for sharing information that might have a longer lived scope of relevance anyway. Plus remembering some chats that I hung out with friends, it had a sense of intimacy, sometimes I wanted to share the information exactly with those online at the moment, so no history was a feature. Popular open source IRC channels have archives that one could look up if need be anyway.
Of course there is also the modern idea of work-oriented chats like slack that have a powerful search function and are mostly about async communication, being a bit of everything, a way to share information with lots of people, a documentation system, discussion and so on.
I really don’t understand how people can think that having everyone self-host and maintain things like Quassel on a Raspberry Pi is a perfectly reasonable solution to the UX shortcomings of IRC, but then also insist that having to spend 30 seconds adjusting the basic settings in Discord is an unacceptably difficult task.
At some point, this conversation isn’t actually about UX or functionality. It’s about hating the new thing and clinging to the old ways.
I would argue that those Raspberry Pi based solutions are nice to have but not needed. In fact I argued you don't need history most of the time and that not offering central storage of history can be reasonable.
IRC is still used by countless open source projects and there are many public XMPP servers everyone can use. I switched my family and most of my friends to XMPP this year and no-one runs an XMPP server at home.
You freely chose to post the insult, so you are not.
> In 2021 everyone expects history and other things.
I should hope I am included in "everyone" and I do not expect that. I think IRC rules and I think chats are better when they are ephemeral. I know people disagree with me; that is the point of discussing it. It's strange (a cheap rhetorical trick, really) to point out the expectations of a group of people in the current year as if that was an inevitability and that is how things always shall be unto the ages.
Is this now solvable? Okay.
I have limited time & limited yak-shaving energy. In the choice between something whose problems are solvable and something whose problems are adequately solved, I am going to conserve my time/energy by choosing the latter 95% of the time.
Why should "I don't want to spend time on stuff that's not interesting to me" be concerning?
> I feel that today people don't enjoy stuff as much as my cohort, I go at work,
Your "cohort" is apparently hardcore computer people who are fine doing computer-related stuff both at work and in spare time. Well, tech people toda is a much bigger "cohort" than that.
> but do you people have a passion for tech related stuff
Yes. Yes we do. And tech-related stuff is often emphatically not fiddling with Raspberry Pis to set up obscure servers to maintain chat history.
For you it's configuring email servers and compiling linux kernels. Why not dig trenches for power cables or build towers for wireless communications? If the answer is "but I don't care enough about those things, I just build on top of them", that's exactly what others think about compiling linux kernels, writing boot loader configs or configuring email servers.
Again. Even if 100% of people on HN are devs and sysadmins, why do you assume that your particular interests are a must for everyone on HN?
Or that everyone on HN would be interested in spending time to set up a Raspberry Pi with a media server and IRC bouncer?
I'm a dev. I have far more interesting things to do in my spare time than that. Far more interesting to me.
I feel like to have something in common with my coworkers I should have to watch unlimited amount of netflix and marvel movies.. which of course every one lives the way it wants, but I am more frustrated because loneliness is bad and not being able to find common passions feed that, I guess I gone OT ^^, but yeah I got your point, you're right I guess this argument is saturated now
> loneliness is bad
You can say that again.
> I've noticed this pattern about tech people today
> I am not sure how old are you or what is your background, but I feel that today people
> I feel like to have something in common with my coworkers I should have to watch unlimited amount of netflix and marvel movies..
Step 1: stop being condescending and assuming moral superiority just because you have an interest in a random list of things you assume everyone shold be interested in.
Your approach is the classical "kids these days" that is so classical even Aristotle and Horace have said the same things.
Step 2: Accept that people are free to do in their spare time whatever the hell they want to. Watching unlimited Netlfix? Good for them. Setting up IRC bouncers? Couldn't be happier for them.
Step 3: if truly interested, you could try and figure out what exactly interests people in tech, and why they do it. Could be it's just because it pays more than the alternatives and they are much hapier carving out wooden dolls on the weekends.
If that's not your cup of tea, there are now communities around any and all things any person could be intersetd in, no matter how bizarre or "out of fashion".
A. I’m interested in the problems that the open source project focuses on.
B. I was in the middle of solving a different problem and see the project as a path to achieve that.
My disinterest in solving the problems of IRC is because I want to avoid context-switching from my problems or your project’s problems to IRC problems I encountered over 10 years ago. If I’m forced to kerp context-switching, I lose hope that I can stay focused and get my current problem solved. I would rather have a way to pay money and get support than to try to solve an ever-growing yakstak of problems all at the same time. Progress is better than futility or overwhelm.
The cool thing about technology is that there is progress. We can do more, we can do it faster, easier, better, etc. Twiddling with the same shoddy tools from decades past is the opposite of that. A long time ago IRC was a cool new capability that was worth putting effort into setting up and using. These days all the hacks and workarounds involved are still required, but all they get you is an inferior chat platform. So, no. The tech that excites me are the new ideas and inventions that people are coming up with today, not some chat platform that is older than I am.
disclaimer: i have 80 buffers in my irssi session, but i know why most people aren't me
I've set up bouncers, ran my own email for years, and at some point I just became immensely bored of doing those things. There's an ungratifying sameness to having to fiddle with self-hosted email or hunt down why my irc bouncer crashed/went offline. This kind of friction extends up and down the stack, too, which irc client works on my phone? There are a few I might choose from, do I spend time trying them out over a period of days to see which is a decent one? Oh, well I still don't have threads, even if one client or another will auto-preview image URLs. And on and on.
I am disinterested, as you say, not because I don't want to learn it, but because I have.
Most of the stuff is broken in known ways to a terrible degree. Usability sucks. You can literally see the brokenness. Most of the stuff does not work properly, is slow, insecure and just stupid. It does not do what it is supposed to do, at least not without risking you harm.
Some stuff is a little bit better and only broken in more subtle ways. Some edge cases might not work. Some obscure security holes might be in there.
Then there is some very rare stuff, which has exceptional quality. But even then, we all know it probably is still technically broken. On the unlikely chance that the thing actually works and no mistakes were made, there is certainly a bug deep down in the Kernel or somewhere in the CPU.
You take some of the very rare stuff of exceptional quality. Does it do all the things you want it to do? Probably not. So at best it somewhat works, does most of the things you want it to do and only has unkown brokenness, hopefully very deep down and hidden away as far as possible.
Now comes the biggest problem: Even if you choose the least broken stuff, you know have to start maintaining it. Things below it will start changing and reintroduce more brokenness. By using it, you sign up to fight it.
Now I have this superpower to actually fight it. I make things less broken. But I am fighting an ongoing avalanche of brokenness. My day has 24 hours, I need to sleep some of them and the avalanche just keeps coming. Some days I like the amount I have shovelled away. Some days are ending with me still up to me neck inside it.
I am not like Sisyphos, other people are using the space where I shovelled most of the brokenness away. So it does make sense and is fullfilling. I have fun, when I look at a small area, where the brokenness will stay away for some time, even though I know, it will come back at some point.
I am not immortal. I can probably do this for another 50 years. So 50 more years of shovelling but vast mountain chains all around me.
So I have to be very careful to only pick the most precious areas to clear.
The way I see the tech space today is that everybody likes pizza. Except back in the days, you'd have to go to the grocery store, buy your ingredients then cook it at home.
Today you have to drive for a 1-2 hours to find those ingredients, as people are simply not interested anymore in cooking, stores started just selling ready made pizzas.
In a few years you'd probably need to build a farm and start raising cattle. Or you could chose one of the five most popular pizzas from the supermarket. That's it, only five. It was deemed, by popular vote, or maybe "data shows", that those five pizzas are good, every other recipe is cancerous so it's outlawed.
Part of the problem is that I've been burned by enough hours spent on 30-second tasks.
See - it's "solvable" versus "solved". People seek solutions, not possibilities.
Ask ten people and they’ll likely tell you ten different solutions (not to mention the feasibility of such solutions). Most people just want to set up a chat space for their project, or ask a question and get an answer; they don’t want to make a million choices about something they don’t understand before they are allowed to do what they set out to do.
It's still consuming your time and energy and that's a running cost by itself. I'm also a long-time Quassel user in addition to be a long-time IRC user, but I have no more energy to manage my own Quassel server and my current instance has been long neglected.
Some people enjoy investing the time and energy into setting up something like this and maintaining it. I am one of those people.
However, it’s just not realistic to propose these things as solutions for the average user or even average developer. Cloud services like Discord are popular because you don’t have to think about it or invest time into maintaining anything. Click a few buttons and you’re in.
I think that fact is lost on a lot of devs who invested the days and days into setting up their own servers, learning things like Quassel, smoothing out all of the issues and so on. It’s easy to forget that every piece of that solution came with a lot of labor and learning spread out over years of time.
On the other hand, I suspect a lot of the people who propose these as alternatives actually like the barrier to entry that it all represents. If only the people dedicated enough to learn all of these steps and maintain their own infrastructure can fully participate, it represents a barrier to entry that makes the group feel more exclusive.
Yeah, it's really hard to use. I can't seem to find definitive documentation about mailing lists anywhere. I've found documentation for the software itself but actual use seems to be some kind of arcane knowledge. Last time I tried to participate in one I ended up emailing someone directly by mistake.
You can also share files through urls...
Unless you were not connected when the message was sent.
> You can also share files through urls...
You could also share them by mailing a usb drive. Both are a lot more annoying than just copy pasting them into a chat.
Also, people need to be a little more precise regarding sharing files. OP just said "share file" they didn't say host files or whatever. Often times the file I want to share isn't hosted or can be embedded (in the past I had to pass around multi-GB binary dumps and you can't embed that in slack and I definitely think you can't do that in discord).
Or, you know, just use a product that has all that built-in freeing you to do other things
1) Impractical. You have to upload files to third party services that usually require an account. So you have to leave the chat, upload the file, and then get back to paste the link.
2) Bad integration. Some sites work better on mobile than others. Some barely work on slow internet connections. Some required logins, or show ads. And you have to leave the client just to see a GIF.
2) Clients can auto integrate URLs, like IRCCloud. It works just as well as server side integration.
> Mail and mailgroups face a similar UX challenge. Not everyone is willing to endure the pain of learning and using mailgroups and IRC just because they're FOSS.
I'm seriously not sure if you are being sarcastic. Learning mailinglists is an obstacle compared to learning discord??
I think it's not as much a statement about ease of use but rather about comfort and playing into UX tropes everyone is used to now.
Personally, I like forums for the same reason you like mailing lists.
I still don't know how to reply to an old discussion started before I joined the mailing list, and I've been using them for 15 years.
People are creatures of habit, and mass products are built with either heavy marketing or piggybacked on other systems' popularity. It's hard to break into a market, but if it's any consolation it's equally hard for non-free products.
It's obviously true because when you stat looking at, say, Jabber, it turns out that it only offers that for a single mobile client on Android that should connect to properly configured server with all the relevant XEPs enabled.
So yes. For practical purposes Jabber doesn't cut it. No idea about Matrix.
They have the habit to use a web service for everything, or at most a phone native "app" that they expect to be distributed by and integrated with some centralized service that exercises total control.
I know i'm not the only one like that either.
I've also encountered an IRC server that caches and rebroadcasts the last hour of messages.
But yeah with IRC you run into the problem that it wasn't originally designed for that use.
> Mastodon proved that you can actually build a usable app on a federated service
I don't see how anything needs to be "proved." Do we actually need proof that IRC could cache messages and repeat them for joining clients? It just wasn't originally designed that way.
XMPP also has an extension for caching the scroll.
Discord isn’t ephemeral. Making a shitty UI that pretends it is doesn’t change that.
If you are not comfortable with that, then don't send the message in the first place.
In the context of FOSS project chat rooms that we’re discussing here, it is quite ironic that many FOSS community members will, predictably and with tacit or explicit support from their peers, openly break their legal contract with Discord in order to hoard chat logs for private or public use — while in the same breath demanding use of, and compliance with, legal contracts such as the GPL. Human beings certainly do excel at developing blind spots for cognitive dissonance when it’s to their benefit to do so.
Every other chat service I have requested data export from gave me all the messages in conversations I was a part of (even if they were mangled somehow -- e.g. missing attachments in FB Messenger). I think this is an example of Discord applying motivated reasoning for the company's benefit (E: at the expense of their users).
> When I request a copy of all data Discord "has on me" I get only the messages I've sent (which is borderline useless), and I am only allowed to do that once a month, with a days-long waiting period.
What he is trying to paint as a broken feature is just compliance to GDPR and with that you only get your data.
Full comment because context is important.
The first part of the comment is explaining that there's missing/broken functionality. They're trying to export data and that's missing. What Discord has, which could count be used as that feature, is requesting a copy of all your data and THAT is broken for the use case because it's missing the messages of others and, even then, it's once a month and there's days-long waits.
Do you know why Google Hangouts and FB Messenger provide a data export that includes others' messages? Do they base it on a different interpretation of the law, or is there some other reason for them to do so?
If you read the ToS it also is very specific that it's not your data.
Check the ToS you don't own anything on Discord you even transfer copyright for every word you type. What even is your argument here? That it would be nice otherwise?
This is blatantly false. https://discord.com/terms under "your content" claims that I give Discord a forwardable and nonrevokable license to do anything with my content, not that I transfer copyright.
Citation for this? It seems pretty intuitive to me that messages sent to me are considered to be "my data", and your claim doesn't seem to be consistent with the overall theme of the GDPR...
At the very least, there's a distinction between personal information such as your name and address (which the GDPR regulates the collection of), and non-personal content like anonymous usernames and sent messages.
https://discord.com/terms under "Your Content"
or
https://support.discord.com/hc/en-us/articles/360004957991-Y...
They have a license on everything sent AND they can use it to reproduce, publish, etc. So they very much can create the functionality.
Ah ok that makes sense....not
Citation needed that messages intentionally sent to you are "other people's data" and regulated under the GDPR. They're certainly not personal information such as a real name or phone number.
> That's a feature to help stop doxxing.
This has nothing to do with doxxing. Doxxing is easily prevented by merely changing the takeout so that there's plausible deniability - e.g. if person A and B have a conversation and A uses the takeout feature, person B's username would be redacted or minimized such that they could reasonably claim that that person in the transcript could have been anyone.
"The terms of service raise very serious concerns." -- TOS;DR extension
Unless one wants to stick with synchronous voice chatting, I failed to see any reason to use Discord apart from its popularity.
In my opinion, there's no way Matrix can be a valid alternative, until it's as usable as the competitors.
On login, I was asked to validate from two devices. This is novel in this type of apps (at least, the mainstream ones), and it took me a while to figure it out.
Part of the confusion was also the fact that notifications about validations started to pile up, and I wasn't sure about I was doing.
I still don't know how I got the validation key (or however it's called) in this workflow.
Another novel concept is that, as far as I've understood, sessions are associated to keys, so, I suppose, if I lose a key, all the (encrypted) communications are gone. This would be acceptable, but the warning is very pushy; it's not clear to a new user if it's very strongly advised to enable encryption or not (will the other people trust me without?).
Communicating with other people is also confusing - I had two channels open with another user, and didn't know if any of it was valid.
Joining groups was confusing as well. I had a name (which was also strange; I still don't know if it's normal for the names to be "strange"), and again, couldn't figure out if I joined it or not (until I joined via other means).
This may be all necessary for a safe design, but definitely, it's a huge barrier to entry for somebody who expects a Slack-like experience.
Joining from federated networks to some larger rooms takes hours or even days.
Tried it a few months ago, was not impressed. I spent a couple days debugging it and asking for some support, but it turns out the official server software is by design incapable of joining large rooms instantly. It literally took 2 days for the room to appear in my chat client. And the message delivery was also delayed and far from instant.
To me personally IRC is way better than Matrix, when it comes to basic instant text messaging. For more advanced features I would rather use Discord, than spend days trying to get Matrix work.
Performance is going to be a major focus in 2022, with [fast federation room joins](https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...) and a new version of [the sync part of protocol](https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...).
One thing Drew didn't say (but should have!) is that with FOSS you can actually change the software to help meet the needs of these people while for discord you're at their mercy.
Why isn't it?
> If it was, we wouldn’t be having this discussion.
Are you suggesting things don't take time and luck (i.e. initial conditions) don't play a role, especially with phenomena such as market consolidation?
* We didn’t prioritise UX polish sooner.
* We burnt huge amounts of time on E2EE (which turns out to be really hard in a decentralised world).
* Building out decentralised comms in general requires about 10x more effort than centralised comms.
* Managing an open spec process and governance model burns huge amounts of time too.
* We built the flagship Element apps in triplicate on web/iOS/Android with no code reuse, in order to dogfood and provide native SDKs, burning >3x more time.
* We’ve also invested a lot of time in beyond-chat work, to try to inspire folks to use Matrix as a generic comms fabric.
Frankly, if we had been aiming purely to be a like-for-like FOSS Discord replacement, we would have done a lot of things very differently.
Hopefully we can shift that balance as the UX of apps matures on top of Matrix, and we focus exclusively on usability. The current situation is pretty depressing. You can see more about how we’re trying to fix it in https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...
For whatever it's worth, I think Matrix's approach to E2EE and investment into trying to solve some of the really hard problems in that space was completely worthwhile, even though it's painful and even though it set Matrix back in other ways. It's the type of fundamental problem that would be hanging over Matrix indefinitely until all of that time was devoted to it, and I think doing it early was the right move.
My feeling is that what Matrix demonstrated was that decentralized E2EE is itself a giant UX problem (both for users and in some ways for developers who are building clients as well), and that solving it requires a ton of UX iteration and thoughtful iteration on how to share/encode keys, handle sessions, respond to unencrypted sessions, etc, etc... That is something that a lot of other platforms haven't really grappled with, and I think ignoring that problem would have risked imposing a hard limit on how effectively Matrix could roll out E2EE by default without it just staying as a really annoying option that most people avoided.
That being said, I do agree with the rest of your comment. I've noticed some faster improvement on UX lately from Element, and it's been getting steadily better (I love the direction spaces are going), but it's still not quite over the line for me.
I'm just not sure... I don't know that I would phrase that core work that's been happening as if it was the wrong focus, I think that stuff just takes a long time to build and the benefits aren't always immediately obvious to users, or that it takes a while to start paying out those benefits. A good E2EE UX isn't really about impressing users, it's more about being invisible, which can be frustrating because getting it right just means people complaining about it less, it doesn't mean having an advertisable feature. But it's still important though if you want people to actually use E2EE.
I am still excited about P2P chat, about taking server moderation seriously, etc... That all has a ton of potential that could pay out in really significant ways in the future, even if it's not user-facing right now. I don't think any of that is wasted effort or that it's not important. But I'm also happy that Matrix/Element is focusing more on general user-facing UX now, and I do agree that there's a lot of iteration and improvement to be done there.
Stuff like “Matrix is crap because they didn’t make it E2EE from day 1”, or “Because servers store metadata” or “Because it didn’t have a legally registered foundation at first” or “Because Element’s default config points to the Matrix.org server” or “Because Synapse supports shadowbans” or “Because the Element apps influence the direction of Matrix” or “Because it’s not XMPP” etc etc etc. It’s surprisingly hard to keep focused on building apps that optimise for mainstream users when the loudest voices are campaigning to optimise for their own crusades. I suspect the same effect has substantially negatively impacted Linux on the Desktop and other places where FOSS usability has failed to punch its weight against mainstream usability.
On the other hand, there are quite a few examples of FOSS apps which have successfully pulled themselves out of this hole of being “built by geeks for geeks” into being successful and even delightful to a more general mainstream audience: Firefox, GitLab, Blender, Audacity all spring to mind. And that’s the model we’re trying for at this point.
I currently pay for an Element subscription for my close friends and while there are some minor issues, we’re happier using it than Wire or SMS (one of my friends is Android, otherwise iMessage would suffice).
Sure it has tons of warts, but it’s way better than just a year ago, and now a truly usable replacement for many use cases. (We actually use it instead of Discord/Slack/etc and have been happy with it.)
FOSS is hard. Having good leadership makes all the difference. Linux had it, Apache had it, MySQL had it, and I think Matrix has it.
The key thing to remember, and it is easy to forget, is that FOSS is a momentum game - Blender is a fantastic example of people plugging away at something and then “all of a sudden”, they have a world class tool. The same will be true with Matrix, and probably a lot sooner than many people realize.
Not everyone likes everything being flooded with inline images, super-long monologues, people being able to edit their messages after the fact, etc. Personally I find this all a major distraction.
So in addition to the divide between FOSS and walled garden, there is also the divide between minimalistic chat and "rich" chat.
But the point is matrix client app. Let's take element (usually it's a default choice) - it not very user-frindly and sharp on edges. Of course, it changes literally on your eyes (if you use nightly builds), but still cannot compete with Discord client in terms of UI/UX.
Matrix is awesome, but it needs more time to be polished and "slick" enough for average user.
Disclosure: I'm developer of https://etke.cc and have very huge interest in polished matrix clients. As part of my job I use nightly element clients on desktop and mobile platforms to be able to guide customers after features' releases
It's infinitely easier than with Slack or Discord, where it's outright impossible.
> If it was, we wouldn’t be having this discussion.
We definitely could still be having this discussion even if Matrix provided better UX out of box, because that doesn't mean it would automatically win the fight with existing network effects.
You all get the idea of division of labor, right? We went into software development, not everyone else did.
Consider Discord has video and voice. You go ahead and patch that into IRC.
Drew is honest enough to quote in the footnote one of his blind friends who points out that Discord has made a lot of accessibility improvements and lots of disabled folks use it.
And let's be real, which FOSS software is, generally speaking, more accessible for disabled folks than alternatives? This is an argument that is made because accessibility is in the spirit of FOSS, which is true, but in reality most FOSS software is often less accessible, simply because it is clunkier, than whatever is on the market, so it's not a real selling point, just a theoretical one.
The same goes for performance. Yes in theory people in FOSS tend to be more conscious towards low-end or old hardware, but what is the number of developers who have a computer powerful enough to build modern software but who can't run discord? Not to mention that most feature equivalent FOSS projects are no less hardware hungry.
In reality how many disjoint sets of community members you have depends on just one single thing, the quality of the software, that's it. The fact that you can change FOSS software to your needs practically only makes sense for small pieces of software. Nobody is going to roll their own Matrix client for their three person FOSS project.
I think most people choose platforms because of their popularity. Everyone uses foo, let's just use foo.
The "popularity" reason does not explain the cause & effect timeline.
Discord was started 2015. But Matrix, XMPP/Jabber, IRC were older than that and thus by definition back in 2015, they were already more popular and well known.
Thus, the original first reason can't be popularity -- because there was a point when Discord was not popular and it was still chosen over Matrix & IRC. The reason is that it's easier for project maintainers to create new Discord servers + channels. E.g. : https://support.discord.com/hc/en-us/articles/204849977-How-...
Put a different way... What caused Discord to become more popular than Matrix? The obvious answer is that a few clicks on a web page is easier than installing and configuring a Matrix server. Is there really a better explanation than "ease of use"?
EDIT reply to: >Discord was first popular with gamers because it offered _good voice chat_; and this popularity drew in other communities.
I emphasized "good voice chat" because in that sentence, it's the more explanatory reason than just "popular". So the other and older alternatives like IRC did not have good voice chat. And this drives decisions of gamers that prioritize a desirable feature such as seamless VoIP over the need to use an open protocol (IRC) that's not owned by a corporation.
In other words, whenever the proposed reason for product dominance is "popularity" or "network effects", we always want to dissect that further and look for the reason that caused the rising popularity. If we don't, we just end up with infinite recursive reasoning such as "it's popular because of its popularity" -- which is not a satisfactory nor helpful analysis.
Matrix did not have "servers" (in the Discord sense) until very recently. It's also much harder to produce an open, federated protocol than a proprietary one so Matrix has been less featureful than Discord for a long time, but the gap is closing quickly.
There's also the matter of marketing: Discord is a product, Matrix is not, thus it's harder to market. Yes, now there's Element, which is a product, but given above, Discord has had an effective head start of several years.
Give it a bit more time.
Click the link, choose a nick and you are thrown into the chat. That way you could checkout a new community and discord in general with a really low barrier to entry.
The community that drew me to discord made the jump when their self-hosted IRC network became increasingly unstable. The multimedia features like easy picture sending ware also very nice, as was the mobile client.
Still dislike the condecending tone they have towards the users tho.
And I still use IRC on other networks. Both with a shell running irssi in screen and hexchat on my desktop that starts up with windows. That's for more ephemeral communities.
Its focus on gaming communities.
Some people, valuable open source contributors in particular, choose to use software exactly based on its licensing status.
I don't mind paying for software but I do mind running binary blob that I have no idea what it does. I also mind being unable to fix an irritating issue which, with open source, I at least have a potential to be able to fix myself.
I choose software based on the freedom behind their licenses and always will. I value my relationships with others over mere technical differences.
I hope you at least learn something of our existence, besides that without people who think and act this way, there'd be no Wikipedia, Linux, Wordpress, or alternative to Windows.
imagine an alternate universe where wikipedia was a ghost town devoid of information, but hey, it's open!
Licensing status is part of "functionality".
If 3rd parties cannot deploy their own instance and federate/mirror contents the whole community is in lock-in.
Closed source walled gardens are not eternal. The change policies, start charging money or shut down.
This endlessly fragments the user community. This bad functionality.
* tomasklaen has quit IRC (*.net *.split)
I've been more enthralled by dusty mailing list threads. Oh and to illustrate my point, good old c2 wiki had infinitely more value than discord ever had, even though it provided near nothing beside text edits.
Why?
1. Asynchrony. User needs time to collect data, write a bug report and so on. Developer needs time to reproduce the issue, work on it. Finally there are a lot of timezones - people ask/answer at different points of time.
2. Long lasting. Communication can take days, weeks and even months as new details emerge. Accessing a year old thread should be as easy as accessing a thread created yesterday.
3. Publicity. You want everything written to be as public as possible. Read access should be available to everyone without registration. Read access should be available via web browser. So that other users (who often experience the same issues) can easily find existing communication on the topic, and if they can't find it themselves you can at least send them a link which brings me to permanence.
4. Permanence. Each individual communication (message) should be accessible by a URI which never changes. Each individual communication page should have links to thread/parent/children/references.
5. Searchability. Follows from (3) and (4) but the easier it is for a user to find past discussions - the less noise you'll have.
Chat systems such as Discord, Slack or Matrix are fundamentally incompatible with these requirements as they are focused on synchronous, ephemeral communication.
Discord servers can be configured to not require an account
>4
Each message has a URL. You can easily copy a link to a message.
>5
Discord allows you to search all messages in a server and use filters too.
But literally no one does this because of spam concerns
> Discord allows you to search all messages in a server and use filters too.
In Discord, while a forum or github issues or whatever will show up in your general internet search engine of choice.
Which is an absolutely terrible experience if you've ever actually needed to.
> Discord servers can be configured to not require an account
Still requires Javascript, no SEO, popups and nagging dialogs, overall bad experience.
Every project I’m involved in has some mix of ephemeral chat and more permanent, long-lived communication. It could be as simple as a Discord and GitHub issues. Everyone understands that the chat is for quick conversations and GitHub issues is where things are documented for collaboration.
In my experience, trying to force everyone into a single mode of communication becomes more of a problem. GitHub issues are impossible to follow when they have hundreds of side debates that should have been chats. IRC logs are impossible to consume when you have to search for vague keywords through endless months of backlogs to try to parse out specific topics.
Let people discuss things where it fits best.
Matrix has perma links to messages and can be indexed by Google.
Asynchrony: threading should help here, perhaps also with long lasting
To contrast our needs, my number one requirement from a chat system is that free-text searches of discussions cannot be performed without limit by non-members and non-participants.
(I’m fine with bug trackers existing, of course.)
Opening an issue is a huge signal, putting in little investment means the issue is likely to be closed with barely a look, and putting in a huge amount of investment is a waste of time when the issue gets closed as out of scope.
Having a less formal channel with lower investment from all parties is useful.
- it’s impossible to search chats meaningfully, whereas forums/DLs let you quickly figure out if you’re facing a common issue (and finding resolutions easily)
- asking about something in chat and tracking replies a day or two later (because you will quite likely not get a quick reply to complex issues) is also quite hard unless you just happen to be awake at the same time as a core dev and can actually spend the time together (although that usually devolves into “file an issue with more details and tag me”).
- I don’t want to sign up for a dozen different services or private forums to even access that info.
Not to mention that (depending on community) you might just get a lot of irrelevant chatter thrown in, or just plain “this is the wrong channel” replies because there are no signposts.
I personally like it when there's a chat (Discord, Telegram, whatever), it shouldn't be a replacement for an issue tracker but there can be things that aren't clear-cut issues, and I feel less embarrassed to ask in a chat if some behavior is intentional rather than opening an issue.
* Attach it and hope everyone's clients handle attachments properly (especially the online archive will likely not include them).
* Include it inline and hope people aren't using a proportional font and it's formatted correctly in the archive. (I've recently had the displeasure of the python-ideas mailing list archive "helpfully" formatting >>> [which is the Python REPL prompt, so you'd think they would have thought of this] into a 3 levels deep blockquote. Thank god we're using such ancient technology in 2021 which makes it impossible to edit the message to correct it!)
* Post it on a pastebin, and hope the link isn't dead in a few years when someone is trying to find a solution to their problem in the mailing list archives a few years later.
Then again, I've used mailing lists since UUCP and VMS, so maybe I'm just exp^Wold.
I've found discord's search feature to be quite powerful, specially if servers are well partitioned into channels based on topic, and are searched(and therefore indexed) semi-frequently. It's not as good as a search engine, but throwing some keywords in there does often get me the answer I'm looking for.
Also regarding irrelevant chatter, discord's gotten a lot better with that since the recent introduction of the threads feature, allowing each discussion to branch off into its own thread instead of getting intermingled.
From a user's perspective, that's a more important aspect than the underlying platform being FOSS. Also as a maintainer, I would neither want to answer the same questions again and again nor would I like to create the impression of answering in real time, as chat clients usually do.
I don't care if it's Gitter, GitHub discussions, or a mailing list, but please make it easy for search engines to index the messages instead of placing them behind a proprietary wall like on discord.
Now more recently I started receiving my first "hey we believe there is something wrong with your account, attach a (first time, new) phone number to it to join this server". That is most likely a lie of course, Discord just wants to blackmail me into giving them my phone number. Also apparently there is an option to make an attached phone number mandatory in order to join a server, which quite a number communities activate for some reason.
So it turns out the bad feeling was correct.
Another great thread, describing this dilemma is "Don't build your castle in other people's kingdoms" https://news.ycombinator.com/item?id=29108662
In discords defense: It was never made for open source projects in mind, but gamers and small private communities. Having a free service provided might come with traps and pitfalls, but I would prefer that over having only paid online services. Choose your poison. I don't think discord is the right choice for FOSS communities.
You can do that with an app or an U2F key. You don't need a phone number for that and, in fact, SMS-based 2FA is mostly discouraged by now due to sim swapping attacks.
So it boils down to avoiding sock puppets (most likely IMO) and to collect your data (which is something nice to get on top).
Adding a U2F token and having SMS as a backup means that you don't have people locked out because their yubikey failed -- which happens.
Discord is trying to solve some of the bootstrapping problems that arise from "oh fuck my computer and phone were both stolen" -- which, again, happens.
It's a big problem on Discord and requiring a phone number linked to the account helps quite a bit :(
Wanted to say thanks, but couldn't, because apparently "verified accounts only chat" is a thing.
Well, not gonna share my phone number with the world.
My phone number is kinda holy to me.
I know it's not en vogue, but abstinence is one possible solution.
I don't feel like having to pay 10€/year for a burner phone (so the SIM isn't deactivated)
It's fine, I can live without most of these services just fine.
And if I can't any longer, I will walk that bridge then.
Apart from that I use strong passwords.
Wasn't hacked in over 20 years :)
I survived without them before, I will now.
And I have more spare time then, to read, to exercise, to enjoy nature, to code...
Also similar to discord, because so far I wasn't forced to add a number there.
Maybe it's not up to the server owner, but it's also not mandatory on the whole discord platform
https://support.discord.com/hc/en-us/articles/216679607-What...
Also not very inclusive, if you ask me.
I know people who have no phone on purpose :)
That's totally fine, I am not mad at them, I understand their motives.
It's then just simply not for me, is all.
Or just leave twitch g
Just an unimportant hobby, is all ;)
It's the same tone for me as was used on Discord. There it's also not discord, but the server owners (as I learned a few comments down)
Apart from that: yes, I somehow blame the "give us your phonenumber approach". It's a lazy solution and a couple of years back, before the "war on terror/drugs/childporn/whatever" we used to get sim cards without r egistration and a DNA test (the later is a slight exaggeration ;))
And of course big companies such as Amazon or Discord love data such as the phone number.
It's a super data point to link profiles across a variety of services
Requiring an account to be verified, or a follower, or in extreme cases a subscriber is the only practical response as twitch moderation tools are practically useless.
Often, the spam calls spoof the number to be either my OWN number or my area code too.
Source: I lead the anti-abuse team at Discord
Plenty of apps require it now, and I wouldn't be surprised if it overtook email as the standard verifier.
...for now. I'll never give out my phone number to discord. The messages aren't even E2E encrypted.
Also, not sure if you're aware there but in some countries it's no longer possible to use SIM card without registering it first under name and last name and that means, the state has a possibility to track your online presence.
As has been said, there is sadly little reason to trust a company in that regard. Usages of user data are always expanded upon, official (or unofficial) promises from companys aren't worth anything, and leaks also happen all the time.
You required the phone number after you got all my account details. You wouldn't let me remove my account without first giving you my phone number. When I contacted your support to get you to delete my data, a simple back and forth like "you're gonna lose all your data!" and "I don't have any data" made them completely fail the Turing test. It's clear they don't really read what I was writing, they're just responding to whatever the first thought is that comes to their head.
I don't know if they're overworked, underpaid, or have quotas. Either way, none of the experience of trying to join an OSS development channel on Discord are in any way conductive towards trust. I mean, I couldn't even copy and paste the phone number requirement error message.
I can't be bothered to fetch a burner sim every time someone or other wants a number.
And I'm not giving out any of my more permanent numbers to who knows whom.
I have enough spam and phishing attempts on them already, thank you very much.
(and it's not like I imply that you're behind the attempts, it's just numbers leak left and right)
I'm not a spam guy, but even small costs like that would massively change the economics of bulk spam.
Given your entire business model is "growth and engagement", there is no reason to trust your word. It may be true currently but this can change at any time.
This is the spirit of the GDPR, by the way: collect as little information as possible and only use it for purposes that are related to the service you're providing. This seems like a very fair, very obvious deal, and you could just be open about what you're doing.
In general, there are better approaches to avoiding spam in an IM system...
Spam does happen on IRC, but gets shut down eventually. Same as Discord and other messaging platforms.
I'm willing to trust that you are there to help enforce the "not used for any other purposes." ... What happens when you leave the company? History says that 5 years down the road after the current team leaves, these numbers magically start being used for marketing, etc.
Either way, it's pretty easy to get a burner SIM or use Google Voice (if you're in the US), or services like getsmscode.com which provide disposable phone numbers that work with hundreds of major services for 10 cents per SMS, and you can even pay with crypto.
> Even if you don't trust them fully, they're not some random shady website that's likely to leak your number or use it for advertising.
The last few years of leaks and hacks say that trust should never be implicit. Every company has the incentive to use your data for profit.
It is the same as in politics: saying 'because security', is a very convenient and easy way to get about anything accepted, little by little.
If you don't want to alienate those of your users who are so allergic to proprietary software - what about alienating all the users who prefer discord and don't want to install whatever "free" alternative you suggest? Serious question, because in my experience, the amount of people in the latter outnumber the other 100:1. Almost every developer I know loves having all their projects and developer communities on discord, and get annoyed when there's one using IRC that we want to interact with.
Another thing to consider is, how user/developer friendly discord is (privacy/donating to open source/opensourcing their tech/etc), its not like they're some big evil company - their code is proprietary, they're a business.
I completely respect you personally not wanting to use discord for FOSS projects, as a matter of principle/ideology, but I just think it's not realistic or practical.
Their code can be proprietary, but their protocol shouldn't be. Walled gardens are antithetical to the spirit that built the internet, and no amount of donations can't change the fact that Discord is bad for the net.
We are dependent on the whims of single companies like no other time in history.
If discord whom one might depend upon, on a whim shut down, there are about 50 alternatives. The consumer has the most power they have ever had in history, and the companies are all desperately hoping that they are not going into the wikipedia page next to myspace (at least until the c-suite cashes out).
Chat forums are so incredibly low stakes anyway, that the disappearence of a handfull would probably be a net contributer to the world anyway. Nothing of great value would be lost. So the societal consequences you speak of are meaningless.
In fact, once you go 100 years or more back, I think most of history is dominated by major monopolies, trusts, and nation-sized companies in ways that we can't fathom. There is no East India Trading Company today. There is no U.S. Steel or Rockefeller Standard Oil. There is no Big 3 newsmedia companies controlling all news.
Just saying, a little historical perspective is useful.
If this were true: Why go after the people creating alternate clients, as Discord has apparently done a number of times now? Apparently "un-walling" is not a problem here, people not being walled quite as hard (without any involvement or development cost for discord themselves) is.
Because things like unauthorized clients make abuse easier. If you control the client, you can do more than if you merely control the API.
https://github.com/reactiflux/discord-irc
That way you are not stuck in an ecosystem. Sure some ppl will always be unhappy and looking up content in the old system is subpar but thats the nature of the game.
But on the other hand: a lot of negative things happened because a lot of things happened. I doubt we'd have a similar amount of things happening if everyone only used the purest of pure software and "learn, configure, maintain and run seven services so you can use chat" was what everyone does.
Having zero wiggle room is terrible for making progress.
You don‘t need to install anything. There are web IRC clients, and you don‘t even need an account. It‘s actually easier to use and has a lower barrier of entry in that regard.
>your session isn't saved when you restart your browser
This has never happened to me. Have you tried with a fresh instance of chrome / firefox with no extensions?
If it's not first party, it's probably not needed--especially if it's with Cloudflare.
every server I've clicked on has required logging into discord (and an account means also providing an email+DoB), is there really a majority of servers that only require entering a nick?
Describing using closed source IM as "practical" and FLOSS ones "overexaggerated" is in itself an example of ideology.
Consider that this is likely the result of bias in your social circles. While I have no doubts Discord is currently the most popular, the "almost all" part is the result of bias. For me, it's the opposite, again a result of bias.
Regarding practicality, I think Matrix (specifically via Element) is definitely practical today and improving extremely quickly. This holds even more due to the existence of bridges to other protocols, including Discord.
Unsure how you want to quantify this, and I'm curious what makes you say that. Are you affiliated with Discord in some way? I'm not trying to accuse you.
Even if it is true and Discord is some benevolent company when it comes to their long term intentions (which we can't know): The thing with companies is that their leadership is always subject to change.
It's not like we have any shortage of companies betraying the trust of their users, leaking data due to either user hostility or negligence, becoming shitty or "evil", or even turning their product into something entirely different.
The only question is whether they get big enough and safe enough to start abusing their position.
Highly encourage anyone who has not used Matrix/Element since they added Spaces[1] to give it a shot, it is not perfect but it's the closest FOSS messaging system to reproducing the Discord experience (which I truly love, a good UX is so absolutely critical)
[0] https://twitter.com/slimsag/status/1474453626328207362?s=20
Looking for the "discord.gg/invitecode" pattern[2] gives 27k results, safe to say discord is severely under-represented in your statistic.
[0] https://github.com/yarnpkg/yarn
[1] https://github.com/sveltejs/svelte
[2] https://sourcegraph.com/search?q=context:global+https://disc...
* 28k for Discord[0]
* 1.4k for Matrix[1]
[0] https://sourcegraph.com/search?q=context:global+%28https://d...
[1] https://sourcegraph.com/search?q=context:global+https://matr...
The thing I like about Matrix is they are basically implementing every feature in the other platforms, so it's just a matter of time before we get a decent UI that can compete with the existing platforms
I really like the Matrix (and WhatsApp, FB Messenger, Telegram...) model where every chat is just a different room that I can have in one recency list. Spaces of top of "just rooms" does a nice job to help discovery and filtering.
At least for how I work Matrix "Spaces" is actually the best UX for my personal life as opposed to "Servers" or "Workspaces". Element could definitely improve on other fronts but the way it "merges" my different communities on the client is excellent.
I found Discord unparalleled - it has great chat, great voice, streaming, files/images sharing and also is centralized, thus secure for user.
I don't have to worry about joining random ass server and then getting DDoS'd (yes, stuff like this happens, especially in gaming from my experience)
___________
>Users who cannot afford new enough hardware to make the resource-intensive client pleasant to use are also left by the wayside. Choosing Discord is a choice that excludes poor
Sorry, but C++ compilers are N times more resource intensive than Discord's client
Where's the boundary? what's the minimal level that should we "require"?
Ability to code in VS Code? Visual Studio? JetBrain IDEs? ability to run Chrome? Firefox? VIM?
256 MB of RAM? NVMe M2 DISK?
________________
>are also locked out of the client until Discord sees fit to port it to their platform
How about via browser?
_______________
I'll go even further and provoke
You're increasing entry level for younger/newbie developers by using arcane and dated ways of contributing instead of "standards" like GitHub.
I personally don't have a problem with discords client, but this statement does more to harm your argument than you think it does.
Compilation is a specialised process, and an intensive one.
You might as well say "Why shouldn't my wallpaper use all my resources? Video editing does!".
Niche workflows and one-off tasks are inherently different beasts than platform software which by its nature requires everyone to be running at the same time.
The context is about FOSS, I believe it's programming heavy, thus software compilation it's not niche workflow, but something that you do a few times per programming session.
Some people within project don't write code, but majority I'd say at least tries.
Where's middle ground?
1) CI/CD Systems exist, compilation does not have to be on my local machine. So do build farms. In Google compilation does not happen on your own machine.
2) Not all FOSS is compiled. (Python, Ruby, in some cases javascript; though that is increasingly not the case).
3) Not all FOSS contribution is compilation: Art, documentation, support.
So a compiler does not need to be run by "everyone". But discord/slack/teams/irc/zulip/matrix and outlook/thunderbird/gmail kinda need to be run by everyone.
In many cases the former (IM) need to be running all the time, where mail and others can run async.
So, with all due respect, don't try to pretend that instant messengers should not be held to a higher standard than our developer tools; where the output is more important than the tool itself.
What are those standards?
Look - Discord/Slack/Teams at the end of the day can be accessed via web browser just like normal page.
I just checked and Microsoft Chrome with just Discord takes me 300MB of RAM
Is it a lot (in general)? no
Is it small amount? no.
Firefox with 13 opened pages (some of them are just static pages like HN) takes above 1GB.
What would be the amount that would satisfy you? 100MB? 50MB? 30MB?
Lets try to cool our heads a little, I'm not attacking you or your ideas.
The resource usage question is a real one, and nobody is going to give you a "standard" because it depends a lot, it depends what features are requested, it depends on what platforms it will be running.
As I stated previously: Discord is by no means the worst offender when it comes to system resources. But how does it compare to IRC?
Obviously there are way more features in discord.. and it looks nicer! Surely that's worth something! Yes, it's worth something.
It can be interesting to take the reasons that people give for choosing discord (or, slack): Inclusivity.
If you listen to certain people then you might believe that connecting to Zulip/Matrix or IRC requires a PhD.
But it is less inclusive to force your users to eat up a "good portion" of their machine to talk to you.
Discord for me, across its various processes is using about 400MB of ram after I open clean. This goes to about 900MB of ram if I leave it running all day, which I'm fine with because I have 32GB of ram.
A person with a "modern household computer" (IE: a school age person who has what their parents would consider a "good enough" computer) might have 8G of ram, I know some people still using 4G of ram because their parents don't think more ram is worth buying a new computer after spending $500 two years ago.
Are you comfortable taking nearly 1/4th-1/8th of a persons computer because you like the pretty images of discord?
---
I should note, again, that discord is not the worst. But slack used to chew through multiple gigs of memory and pin a CPU core with the gif rendering for me. So while I definitely have a cross to burn about performance, my grievance is not specifically towards discord; but my "problem" would be completely alleviated if I could just use a third party client. But these walled garden companies do not want that.
GitHub is a for profit American company owned by Microsoft. They are beholden to no one other than their board, share holders, and US export control laws. Do not make the mistake of thinking they offer free repository hosting out of good will or altruism.
On job interviews they ask you about your GH (by default)
What is one popular advice that people wanting to enter the industry do receive?
- put some stuff on *gh*, very often.
Discord's voice and streaming are kind of crappy.
> Sorry, but C++ compilers are N times more resource intensive than Discord's client
Uh, I don't know what you're on. Discord's client is web-based and you claim it is less resource intensive than a C++ compiler?
> Where's the boundary? what's the minimal level that should we "require"?
> Ability to code in VS Code? Visual Studio? JetBrain IDEs? ability to run Chrome? Firefox? VIM?
> 256 MB of RAM? NVMe M2 DISK?
Not sure what you're talking about.
> You're increasing entry level for younger/newbie developers by using arcane and dated ways of contributing instead of "standards" like GitHub.
Sourcehut is by no means "arcane". Neither are Matrix, nor Mastodon.
He didn't say everyone should send patches by email to mailing lists.
I do. On bigger projects C++ compiler can be as heavy as triple A games.
for comparison: I compiled C# compiler in 1/nth of the time that it took me compiling LLVM and it didnt ate my all gigs of RAM.
>Not sure what you're talking about.
Author claims that some people don't have good enough hardware for Discord
That's fair, but what we should aim for? when I will know that my project's "environment" is too heavy because e.g I "require" contributors to use e.g some fancy tool like Docker with 5 containers that need 3GB of RAM
I find the UI/UX of Discord to be beyond awful, like really, really bad. Am I alone in this? I can never intuitively find a setting, for example. There are multiple settings buttons. Adding channels to your own Discord so you can collect notifications you're interested in sounds cool except it often doesn't work. I suspect the source Discord has disabled this. Why is that even possible?
the other big reason is discoverability. Finding things in a Discord is terrible. I've never seen Discord posts pop up in Google search so I suspect that's not possible. The search in Discord is of course bad (pretty much every non-Google search is bad, to be fair).
People don't care about it being a walled garden. They only care if it accomplishes the job they want it to.
my first reflex whenever I see a website with tons of paddings and colours is ctrl-w. gimme those win9x UIs please !!!
Also, and this is very subjective, from my experience real-time chat (Discord especially) allows toxic community members to be toxic without much fear of punishment since the interactions are ephemeral. Moreover, toxic people often lurk the channels 24/7 and thus are the first to respond to questions. Questions that happen to be "stupid" since the same question is asked often -- even though the last instance has already been drowned out by a half-kilometre of memes and off-topic talk.
A lot of the discussion around a large open source project I develop add-ons for has migrated onto Discord and it makes it an utter nightmare to work out what is happening, why certain design decisions were made, or get an answer about a technical question without directly contacting someone. If that discussion instead took place on their public forums (which is where it was previously) then I wouldn't have to bug someone 90% of the time.
Furthermore as someone who does run some reasonably popular FOSS projects, I will also use whatever damn platform I chose because it’s my FOSS project.
The author takes it for granted that accessibility issues are more prevalent in proprietary software like Discord (vs FOSS alternatives), is there any evidence to back this up? I ask because it seems counter-intuitive. Since most proprietary software in this space tend to have more users than their FOSS counterparts, it seems pretty straightforward to think that accessibility will be less of an issue in the former category (i.e., more users = taking into account and addressing more accessibility needs vs when you only have a few thousand users).
Maybe the logic is being open source encourages volunteers to address accessibility issues and submit patches? Although even that's debatable; unless the project is quite popular, there will always be shortage of volunteers.
EDIT: this also supports the "bridge everything to IRC/Matrix/..." approach, since it lets people use whatever setup they already have working for their specific needs. And if Discord kills our bridge one day because "evil bot", well, rest of the group still works. And if something new and shiny comes up, sure, bridge it.
Discord gets a lot of complaints but they seem focused on chasing their success metrics to the absolute exclusion of everything else. Those complaints don't register in their chosen and still upward trending metrics, therefore they don't matter. It doesn't matter that a significant part of Discord's growth is backed by users benefiting from bots which will be broken by the upcoming API changes, it doesn't matter that their developer relations are so bad that major developers are abandoning their projects instead of updating to the new API, all of this doesn't matter as it isn't being measured by their success metrics.
Perceptive readers might have noticed that most of these
arguments can be generalized. This article is much the same
if we replace “Discord” with “GitHub”, for instance, or “
Twitter” or “YouTube”.I am not sure where you believe that more users == more time given to accessibility features.
Open Source on the other hand is development driven by need, thus if an an open source software does not do what I need, I can modify to do that thing. This allows a small niche of users to adapt the software to meet their particular accessibility needs, or for a charity to pay a developer to do so, neither of which is possible with close source software. So at the end of the day people that need or want accessibility features have to shame the closed source companies into doing it, or have regulations passed that require it, both of which will result in just enough development time to either cover the regulations, or the bad PR, and likely will result in a subpar experience to that of Open Source (IMO)
this dev refuse to consider accessibility as it means ui changes or new option. users with visual impair are unable to use app and dev just locks issue reported for it and ignores users. probably to boost number of dls/markerting.
even if user does a patch dev just closes and does his own thing that dont help. even foss projects kick contribs out for try to help
At one point in time facebook was cool and trendy and nobody was really freaking out about it. Discord can at the drop of a hat become a new facebook -- or get bought by facebook or some other megacorp that wont just bleed money on their investments and will start selling your information, and we can start the new cycle of everyone jumping on some hip new product that has all the same problems.
The average person (my parents, grandparents, all non technical) can successfully navigate email and its a bit insulting to the average person to insinuate that something like matrix/xmpp with a little bit more UX work is simply too hard for the layman to grok. Maybe discord is convenient right now but it wont be when everyone has to jump around to some new maybe less evil service.
> Discord appears to inflate its participation numbers compared to other services. It shows all users who have ever joined the server, rather than all users who are actively using the server.
There are plenty of popular IRC channels full of sessions whose only activity is rejoining on disconnection. I mention this because the recent forced move from Freenode to Libera made me notice how many IRC names simply kept on joining Freenode during the period when all other activity on the channels has otherwise died and the topics were updated to point towards Libera.
So ... you're absolutely correct, and it was kinda fascinating to get a clearer handle on those numbers as I helped what felt like half the world migrate to libera, but I don't think your being right about that makes your point a particularly good nitpick of the article itself.
> with one side that’s willing to use the proprietary Discord client, and one side that isn’t. By choosing Discord, you also lock out users with accessibility needs, for whom the proprietary Discord client is often a nightmare to use.1 Users who cannot afford new enough hardware to make the resource-intensive client pleasant to use are also left by the wayside
Discord runs fine in the browser, I've been using it for years any never installed anything. So there's nothing more proprietary than other websites, and you can probably use chrome accessibility features.
I have this slight feeling this guy has a grudge and is writing this in bad faith. Matrix, Zulip and Rocket Chat are good alternatives, but I can't believe he's suggesting to use IRC in 2021. Way to drive people away from your project that way when nobody knows how to use your limited team chat haha.
However the community voted to move to Slack. The main reason given was around its popularity, more so than anything else. It was also the Slack free tier, so there was very little in the way of conversation history being available. However, it is what the community wanted, even though it became a barrier for me.
Plenty. Do I reply to the person or the list? How do I make sure my reply is properly threaded and doesn't show up as a new thread in the list or something? If I'm emailing the list in reply to a post, how does that even work? From my research it seems there is some kind of in-reply-to message identifier that's supposed to be included in the email headers. Does gmail even do that or am I supposed to use mutt and edit my email headers by hand? At that point I gave up because I didn't want to assume things and risk looking stupid.
Up to you! If you want to reply to the person only, then you hit "Reply". If you want to reply to the list (so that everyone on the list can see it), you hit "Reply List", if your e-mail client has such a button. If your e-mail client does not, then there is no magic either: Reply to the person in your TO, so that they get the message immediately, and put the list address in CC. No magic.
> How do I make sure my reply is properly threaded and doesn't show up as a new thread in the list or something?
That is a better question already. I asked myself this before and also asked other people running a mailing list or at least being very active there. There is some kind of message matching algorithm, which looks at the "subject" of your e-mail. It is very reliable to simply put a "Re: " in front of the subject of the message you want to reply to. This is usually done by e-mail clients automatically, if you are using "Reply" buttons and the context is clear for the e-mail client. If the context is not clear to the e-mail client or cannot be clear from my actions in the UI of it, then I copy the title and type "Re: " myself. Never failed me so far.
It is really not that complicated and no magic is involved at the usage side of things. Use a proper e-mail client, not some limitted web interface, and you should not have much problems. Gmail does not play into the question of whether it is simple to use mailing lists. It is merely one e-mail service provider of many, and not a specifically good one at that. Lets not make this about gmail. I am using mailing lists almost every day in my e-mail client (Thunderbird). No editing of e-mail headers or anything. Don't over-complicate or overthink things and you will be fine. No one demands of you to edit e-mail headers in plain text.
There are dedicate headers fields for that purpose, they are set automatically.
In fact, wouldn't it be great if Github would offer a public realtime discussion board for each repo so that everything about your project is in one place?
> But in the end, Discord’s feature set and its sheer popularity decided the matter.
Sad.
Discord is made for gamers.
Not to mention each server has channels, which make it impossible to follow up certains topics. You can't even favorite a channel, and you have to "subscribe" to the whole server.
Oh yeah and a full electron instance, of I don't know how many megabytes, just to display images, gifs and a certain interface style.
I hope the low tech trend comes back.
You cannot grow an open source community by only selling to the open source crowd.
It was bad enough for me to attempt to use such a proprietary service, even if I couldn't figure it out. And then I learned about all the shady practices, such as going after third party clients, seemingly random deleting and/or locking of accounts, requiring phone number, and now I just refuse to touch it.
I am clearly not Discord's target audience.
Basically, just don't put all your eggs in one basket, and make sure at least one basket is under your own control.
I will never understand this "command economy" vision of some FOSS advocates. FOSS and proprietary software can and do coexist. Considering most FOSS code is written by people whose income is dependent on revenue generated by proprietary code, the purity obsession becomes frankly ridiculous. Proprietary code needs FOSS to keep it from stagnating and becoming abusive, and FOSS needs proprietary code to put food in the stomachs of the people writing it.
Who wants to step up and give us a grant to change this situation?
As an open source maintainer, I use discord (along with email, issues, discussions, PRs, Twitter, site chat etc.) as another option for those wishing to use it. It's not forced upon anyone. A small groups' esoteric (sometimes self-imposed) handicaps doesn't constitute a change in course for everyone else.
I'm sorry to say but this is a youth-oriented vector that exploits a lack of experience in the target population (game communities were the bread and butter of Discord in its early years) in what happens when you trust any essential product in the hands of a corporation. When I was younger I did the same thing and it's unfortunate because the fact is a drive for profit eventually turns any business against its users' interests and with it torpedoes years of knowledge that could have helped others for decades to come.
CEOs come and go, boards change, teams change, investors expect their money back, etc. etc. Just follow the money.
False premise. Die-hard free software fans who refuse to use proprietary software aren't numerous enough to make significant part of your contributors.
The only couple of FOSS projects I know using either app, are only using slack. They are both American and open source rather than European libre projects if that is a characteristic?
For me, the lack of history and good search in Slack unless you have a paid account is hostile.
The Discord communities I’ve experienced are a mess of dozens of topic driven channels each with long backscroll and various pins to jump around to various points in the chat history. Conversations between the same set of people are fragmented across numerous topic channels. I find it hard to follow and cumbersome to find/search information.
IRC forces chat to be transient, and any information that should persist or reach a wider audience must be handled intentionally.
> the right to set up useful bots
Discord allows bots. They probably can't do _everything_, but there are useful bots and even bridges for IRC (and probably others).
I am, however, very much aware that it may stop working at any given moment and have made sure I have 'plan B' ways to keep in touch with anybody/anything on discord that I actually care about.
Ie you share openly vs keeping secrets.
And by choosing Sourcehut, you deprive yourself of anything resembling usability.
So please don't silence people.
This might make me a terrible person but I don't care. They should get a better screen reader.
>Users who cannot afford new enough hardware to make the resource-intensive client
If you can't afford a computer that can handle Discord you should probably be focusing on earning more money than working with my software.
>Users of novel or unusual operating systems or devices
Discord works in a web browser.
>Discord also declines service to users in countries under US sanctions, such as Iran.
I don't care.
>Privacy-concious users will think twice before using Discord to participate in your project, or will be denied outright if they rely on Tor or VPNs
Discord cares about people's privacy, but also has to deal with abuse coming from people who want to be anonymous.
>Ownership over your chat logs
99% of my chat logs are garbage
>the right to set up useful bots
Discord has great bot support
>or to moderate your project’s space according to your discretion
You can moderate your server however you want. As long as you don't get reported you don't even need to follow Discord's somewhat restrictive ToS.