Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discord #345

Merged
merged 9 commits into from
Aug 28, 2018
Merged

Discord #345

merged 9 commits into from
Aug 28, 2018

Conversation

MelSumner
Copy link
Contributor

Copy link
Contributor

@rtablada rtablada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that there's some good stuff and in general the outlines of onboarding and channel organization are 👍 to me.

There's some unknown questions and drawbacks that I commented.


## Unresolved questions

* When will there be conversation threads?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another unresolved question is linking to previous conversations.

While discord has seemingly unlimited history it is not currently possible to link to a particular response or comment. To me this really limits the usefulness of history being preserved.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I did some research on this, and they've improved search to the point where I think the addition of linking to a message will be a future enhancement, but I no longer consider it a blocker to adoption.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before threading the Slack channels used comment linking a lot more than currently (it's still used a good amount each day). SO I worry about context switching without links

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may not be an issue much longer, some users are reporting being able to do this (I can't however) so it seems like this may be being rolled out using some feature flagging at the moment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So it looks like links to messages are rolling out-
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

AWESOME!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add that the Discord team has been very responsive to feature requests from OSS communities in the past, and if anyone from the Ember community wants an invite to their private dev server to submit feature requests, let me know. I've been idling there since like 2015, when we mounted a campaign to support code notation

### Losing Community Members

There is some concern that we may lose some community members due to this move.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A drawback that I find to Discord is moderation of DMs for CoC violations.

As a Discord group admin a user can be banned from the group but this does not stop them from DMing members of that group.
That possibly means that someone could grab username and unique ids and DM those people after being banned.

I'm not aware of any tools or privileges that Discord has to prevent something like this.

I would hope that this is covered by their TOS but then I think it would probably fall to Discord to moderate that and not the Ember community which may be hard to moderate?

Copy link
Contributor Author

@MelSumner MelSumner Jul 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that their guidelines (linked in the RFC) explicitly address this: https://discordapp.com/guidelines

Additionally, you can block the user.

Copy link
Contributor

@rtablada rtablada Jul 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can block the user.

That would require each user in the Ember discord to block the user individually?

Copy link
Contributor Author

@MelSumner MelSumner Jul 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • We plan to have a moderator role that can be called for assistance.
  • A user can be kicked from the server or banned from the server (sometimes folks just need to cool off)
  • A user would have to have already contacted you in a DM before their kick/ban to have the information to message you again
  • At that point, if they continued to harass you outside of the Ember Discord Chat, you can right-click on their name and block them. You can, as the https://discordapp.com/guidelines point out, email [email protected] to report them.
  • Another option would be to increase the verification level necessary to join the Discord server, as the RFC details.

We genuinely don't anticipate a high level of harassment on Discord, and Discord has well-documented instances of handling harassment appropriately (see https://blog.discordapp.com/parents-guide-to-discord-c77d91793e9c).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A user would have to have already contacted you in a DM before their kick/ban to have the information to message you again

If you have the @user#11234 for a single you can start a DM even after being removed from a group and without having DM'd in the past.


I know discord has a good track record of handling harassment, but just noting that the end moderation lies in Discord's hand vs Slack where that user no longer has access to DM individuals once removed from the group since users are tied to groups in slack.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can choose who can DM you, as well:
image

@robclancy
Copy link

Thank god! Wish other communities would do this so I can actually stay in there.

@elwayman02
Copy link
Contributor

I wrote a comparison of a bunch of chat platforms from the perspective of open-source communities, which was heavily referenced for the Reactiflux move to Discord. This is a few years dated now (particularly in terms of Discord features that were missing then but now exist), but still relevant:

http://jhawk.co/team-chat-comparison
http://jhawk.co/team-chat-features

@happycollision
Copy link

Perhaps the welcome topic can explain that there is currently a Slack that is being transitioned from.

It would also be nice if it explained the difference between the purpose of the Discord and the Discourse instances. I know I am confused about where I should go for something.

- muting a channel
- muting a category

Because our goal is transparency, all channels will be visible. A lock icon will display if the user does not have the role necessary to join that channel.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can visibility be defined here for those folks unfamiliar with discord? Will the content of the channels be visible regardless of the user role?

@kennethlarsen
Copy link
Member

Just a question from a Discord noob: Will there be any issues in terms of lack of integrations? Slack seems to support most API integrations pretty well (as well as built-in reminders for meetings etc).


Because we use Slack's free plan, the entire instance is limited to 10,000 messages in history at any time. Because of this hard cap, the amount of time messages persist continues to shrink as the community grows.

It's hard to quantify exactly how painful this limitation is, as it means that new community members can't search for the answer to a question that was likely answered in the past. We can never go back to reference how or when a decision was made, which can mean decision-making feels less transparent that it should be.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think one key point is that it is quite difficult to mix real time messaging with a well sorted journal like long term storage. In my experience it gets very difficult to distil usable information from real time chats - especially by hand via a search function (this is from OSS projects hosted on free slack with message limit in place, so this might get worse the more messages are stored). But that has been brought up multiple times in the past and if we keep discussing on that level, we probably will never find a better solution.


### Performance

The architecture of the Slack native application relies on running a separate web application per Slack instance the user is signed into. For users who need to be in multiple Slack instances, this can add up to a significant tax on computer resources, particularly as the application starts up.
Copy link

@st-h st-h Jul 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally don't think this is a good point to make up a decision. Slack has become very frequently used on OSS projects. For instance I only use 1 slack instance, which has multiple workspaces for different OSS projects. If now one OSS projects decides to no longer use slack, this puts a burden on everyone who is contributing to multiple OSS projects, as they now need to use multiple clients. There will inevitably always be a group of people who will have a performance gain from the decision made here and people who will have a disadvantage.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there needs to be clarification of the word “instance”. Slack workspaces or orgs are implemented as completely separate processes meaning the more slack orgs you belong to the less performant it becomes.

Anecdotally I find that discord takes much fewer resources than slack while in the background and about the same resources as one workspace when in the foreground.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally think this section should be removed or reworded, it specifically states that performance isn't different enough to be a factor in the decision but at the same time the sections presence (in an RFC motivating a move) clearly indicates that it is...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am in like 10 discord servers and never have performance issues, some of them quite big. But with slack it just takes 1 tab to start creeping up resource usage. More than 1 slack and it is noticeable and why I can't idle in places I want to. I refuse to use so many resources for a damn chat application.

- muting a channel
- muting a category

Because our goal is transparency, all channels will be visible. A lock icon will display if the user does not have the role necessary to join that channel.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does not being able to join in this context mean you are able to read, but not write? If not, what is the point in telling people "hey, there is a channel which sounds interesting, but you will not be able to join it or read what is going on!"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or further, if the goal is transparency, why lock anything in the first place?

If the goal is only partial transparency except for safe spaces, we should be honest with ourselves about that...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does not being able to join in this context mean you are able to read, but not write?

No, "visible" in this context refers to knowing the channel exists (by seeing it listed in the channel listing), not seeing its contents.

Or further, if the goal is transparency, why lock anything in the first place?

If the goal is only partial transparency except for safe spaces, we should be honest with ourselves about that...

Agree, I think that just means we need to tweak the verbiage to make that clearer. From my perspective, there is very real reason to have some safe space where the various core teams can have private internal discussions, but the majority of discussions would not (and IMHO should not) happen in those private channels.

@kellyselden
Copy link
Member

Thank god! Wish other communities would do this so I can actually stay in there.

@robclancy I'm curious what about Slack prevented you from staying that Discord would solve?

@lougreenwood
Copy link

Does locked mean read-only if the user does not have that role assigned, or does it mean any user without that role cannot join at all?

Personally, I think there's immense value in lurking in these type of high-level channels, especially as a way to understand the nuance and reasoning of how & why some feature is the way it is...

@luxzeitlos
Copy link

Why discord?

Don't get me wrong, I have nothing against discord, but maybe it should be put under alternatives why not one of the many other options was chosen. For example mattermost or matrix.org which is completely open source and decentralized by design.

@RobbieTheWagner
Copy link
Member

Just my personal opinion, but all of my other companies and organizations are not likely to move away from Slack, so now I just will have to monitor two apps constantly. This is okay, just one more icon in my dock.

@rwjblue
Copy link
Member

rwjblue commented Jul 12, 2018

all of my other companies and organizations are not likely to move away from Slack, so now I just will have to monitor two apps constantly

Totally agree, this should be listed in the RFCs drawbacks section

@rwjblue
Copy link
Member

rwjblue commented Jul 12, 2018

Just a question from a Discord noob: Will there be any issues in terms of lack of integrations? Slack seems to support most API integrations pretty well (as well as built-in reminders for meetings etc).

Discord also has a very detailed API and many integrations already exist. One thing to note is that free Slack instances have limited numbers of integrations (IIRC the limit is 10, but I could be wrong), but Discord doesn't have this limitation.

tldr; I think moving to discord would increase our ability to have meaningful integrations...

## Unresolved questions & FAQ

- When will there be conversation threads? We have been told that it is in the works, but there is no ETA.
- Disqus, Discord, Discuss? Which is which? For clarity, we will encourage the use of the terms **chat** (Discord), **the forums** (Discuss), and **blog comments** (Disqus)- mostly so no one has to try to remember.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DDD

@robclancy
Copy link

@kellyselden terrible performance. Slack with multiple orgs just not being good in general, one account per org for example. I use tabs for slack and it's just not worth it. Whereas I have many discord servers I idle in and performance isn't different between 1 or 20. I also use the same account and can switch between servers with an instant click. I find the UX far better as well for communities.

We use slack at work (like everyone) which it is focused on, but it isn't suited for communities at all. Hell you need to use a third part service just so people can join...

Added some more clarification based on comments to the RFC.
Updated to include integrations/API section
@MelSumner
Copy link
Contributor Author

all of my other companies and organizations are not likely to move away from Slack, so now I just will have to monitor two apps constantly

Totally agree, this should be listed in the RFCs drawbacks section

This is a situation that many folks already find themselves in, which is why I didn't include it.

@MelSumner
Copy link
Contributor Author

Just a question from a Discord noob: Will there be any issues in terms of lack of integrations? Slack seems to support most API integrations pretty well (as well as built-in reminders for meetings etc).

@kennethlarsen Discord is awesome at this. I added an integrations/API section to the RFC.

@walter
Copy link

walter commented Jul 12, 2018

I'm curious how Riot.im compares to Discord. If a move is being proposed, I wonder if it's a better long term choice.

@sotojuan
Copy link

I think Discord is a great choice right now, but it is a VC-backed company that is eventually going to have to answer to investors. I really doubt their Nitro plan is profitable enough... my worry is that they will start restricting free features at some point.

@NullVoxPopuli
Copy link
Sponsor Contributor

I just want to point out how much memory slack uses...

Here are before and after screenshots of memory usage. (4 slacks open)

before: (4 open)
image

after: (closed all 4)
image

(only 1GB is actually pretty good for slack -- there must have been a memory leak that was fixed or something)

Looking in the chrome task manager:

image
image

The memory seems to be based on the number of channels within each slack.

So, for Discord,
image

but, on discord, I'm in 7 different groups, each with a few to many many channels.. so.. resource-wise, discord is a clear winner.

@st-h
Copy link

st-h commented Jul 13, 2018

@NullVoxPopuli interesting. but what OS?

However, I still don't think the performance of a (single) client makes a good point for switching the whole messaging ecosystem. Just a few reasons:

  • performance may vary depending on the OS used, so this will not be very easy to compare accurately. let alone making an educated decision based on how much which OS is used
  • clients do evolve and change (sometimes in very short time). The performance issues we are debating about might be gone sooner than we switch the whole ecosystem
  • alternative clients might get published (I don't know wether slacks api allows this though)
  • ...

Personally, I would drop performance completely and focus on the key points. If these are strong enough, performance will not be an issue unless the new client is much worse than what we have now.

@elwayman02
Copy link
Contributor

elwayman02 commented Jul 13, 2018 via email

@rwjblue
Copy link
Member

rwjblue commented Jul 13, 2018

Personally, I would drop performance completely and focus on the key points. If these are strong enough, performance will not be an issue unless the new client is much worse than what we have now.

Agree. I do think Discords perf to be better than Slacks, but its just so far removed from being a factor in the decision that I think it muddies the discussion here...

@NullVoxPopuli
Copy link
Sponsor Contributor

@st-h

@NullVoxPopuli interesting. but what OS?

Linux / Ubuntu 18.04

But I know my coworkers complain about slack resource usage on both Mac and Windows. :-\

@robclancy
Copy link

@Caltor I (probably like a lot of people who use a computer) already use Discord and with current Ember slack it is a royal pain to run another instance of slack with another account just to ask a question. The Ember community barely exists on slack so moving them to discord won't be much of a change and using a community focused app can only encourage growth. Much less confusing for someone to click a single link to join a discord server than to have to make a whole new slack account.

@robclancy
Copy link

@RuslanZavacky 3 days ago @wifelette said there are ~5 days before this is closed and the move is done. So I think this weekend or early next week we can join.

@cibernox
Copy link
Contributor

cibernox commented Aug 16, 2018

I tend to favour Slack because it's what I use in my day to day job. However, I don't want to say No until I try how discourse feels.

What concerns me the most is, given how widespread slack is today, if putting the official ember chat room in place outside the usual toolchain most devs have will hurt adoption or engagement, both of the chat and of the framework itself.

I take that if the move proves to be wrong we are always on time to go back to Slack, right?

Maybe this has been asked before, I haven't read the entire issue, but is there any kind of metric we can use to know if people's engagement drops significantly? Not having one would concern me, as we wouldn't know if we are making a bad move.

@ebryn
Copy link
Member

ebryn commented Aug 17, 2018

Does anyone else feel like there should be something like a Community RFC that supersedes the Discord RFC?

I'm personally very much on the fence about the Discord switch and the community has been having conversations about how we should be using Slack / Discourse, whether Spectrum.Chat is a better alternative, etc. that feels very relevant and may change the way we perceive the need for switching to Discord

https://discuss.emberjs.com/t/should-ember-better-define-its-use-of-slack/14474

https://embercommunity.slack.com/archives/C045YSXTK/p1534092148000056

I 🤔 if the lack of Slack history would be as big of an issue as it is today if we more formally organized community activity: start using Discourse more regularly, being better about using StackOverflow for Q&A, and Github for discussions around development

@NullVoxPopuli
Copy link
Sponsor Contributor

what if we added a bot to slack that automatically captured and indexed all the conversations?

@robclancy
Copy link

I have yet to see any real reasons to use anything else over discord. All I have seen is anecdotal statements about what people already use.

@lolmaus
Copy link

lolmaus commented Aug 17, 2018

@NullVoxPopuli what if we added a bot to slack that automatically captured and indexed all the conversations?

Won't work with private messages.

Every month Slack forces me into frustration and shame from seeing a person in a list of private dialogues and not being able to recall who that is and what you were discussing.

Double shame when a person asks you smth like "Any luck?" and you have to reapond with "Who are you?"

@kategengler
Copy link
Member

As I said earlier, I believe we are actively trying to push longer discussions and repeat questions into Discourse (Forums).

I do think there's a need for real-time chat in addition to that, though, for at least a few use-cases:

  • Coordinating work (meeting links, splitting up tasks, quick questions to get unblocked, swarming on work (probably also coordinated with a Quest issue or the like)
  • Live discussion of ideas (that may later become Discourse posts, RFCs, addons, etc...)
  • Help; while it would be great to say this should entirely happen on StackOverflow or the Forums, that is unrealistic. When asking for help, I don't often know exactly what to ask or what information is relevant. When giving help, I'm more likely to quickly ask a followup in a chat than I am to engage on a Forum post that I then I have to check for updates. We should be pushing the outcomes of common questions to something like the forums.
  • Social/Community (Things like watercooler/random or local channels)

For me, Discord has just one thing over Slack, and that is history.
For me, History solves a few important problems:

  • The conversation about how to implement a feature that vanishes before you have time to go back (maybe even just a day or two later) and create issues or an RFC out of the discussion.
  • The zombie notifications for mentions or DMs that I can no longer access because I left the computer for a few days.
  • The aforementioned lack of context around DMs. There are many people in our community and it can be hard to remember who works on what.
  • The inability to look back and find how a question was answered to repeat it or push the answer to the forums or the Guides.

@tomdale
Copy link
Member

tomdale commented Aug 28, 2018

Thank you everyone for the spirited discussion! Given that the conversation has died down, now is the right time to make a call on this RFC.

After several long discussions based on the concerns raised above, we still think Discord is the right next step and intend to merge this RFC. We do this with the awareness that this is not the preferred outcome for many people.

Ultimately, we believe that the harm caused by Slack's lack of history outweighs its many benefits. While migrating the community to Discord is a difficult and annoying task, it has a one-time cost. The cost of lost history (and key contributors not using Slack because of it) is one we continue to pay, and has knock-on effects in terms of transparency and our ability to bring in new contributors—the lifeblood of any open source project.

We should also reiterate our intent to move far more discussion from chat to our forums. Not only are forum threads more welcoming to global contributors, who may miss important chat topics in the backlog while they sleep, they are discoverable to search engines and linkable from things like StackOverflow answers.

We will be posting more detailed next steps soon, and invite folks to help us test out our new Discord instance and work out any bugs before we begin the migration in earnest.

Ember is its community, not its codebase. Preserving the health of this community is my number one priority. A sincere thank you to everyone who commented on this RFC, for or against. Decisions like this are not easy, but I believe this is the right thing to do for the long-term health of Ember.

If you have any suggestions for how we can smooth the migration process, please let us know. See you in Discord!

@tomdale tomdale merged commit 7be35ed into emberjs:master Aug 28, 2018
tomdale added a commit that referenced this pull request Aug 28, 2018
@Caltor
Copy link

Caltor commented Aug 29, 2018

@tomdale Not the decision I personally favour but I appreciate someone has to make a decision. I don't know much about Discord but from what I have read about it (particularly on this discussion) it doesn't seem to be any better at recording and searching history? Also it seems to me that Discord is designed for gamers whereas Slack is aimed at Developers.

While there is a chat system available I think there will always be the temptation to use it rather than the forums. Would it be feasible to close down the chat altogether and do everything via the forums?

@NullVoxPopuli
Copy link
Sponsor Contributor

Not that I have any weight on this, but as an observer:

Also it seems to me that Discord is designed for gamers

and supporting open source https://discordapp.com/open-source

Check this out: https://blog.discordapp.com/open-source-and-discord-b7466080fbf2

whereas Slack is aimed at Developers.

Slack is aimed at businesses. I've asked slack a number of times to support things that would make devs and open source communities happy, and they don't care --- because it wouldn't make them money or whatever.

@Caltor you should really give Discord a go. imo it's worlds better than slack, and they're much more receptive to community feedback when it comes to the direction of the app.

https://feedback.discordapp.com/forums/326712-discord-dream-land

@Caltor
Copy link

Caltor commented Aug 29, 2018

@NullVoxPopuli I'll check it out.

@tomdale ideas for smooth transition:

  1. Idiot's guide to getting started on Discord and connecting to Ember channel/server (?)
  2. Everytime someone posts a message on Slack they get an automatic message saying to use Discord instead. I think you might be able to do this with the Slackbot. Does Discord have a bot BTW?
  3. A searchable (web?) archive of previous Slack discussions
  4. Maybe some sort of link such as IFTTT or Microsoft Flow that would automatically post to Discord if someone posts on Slack? Not sure about this one...

@Caltor
Copy link

Caltor commented Aug 29, 2018

So is there a server for EmberJS on Discord yet?

@lolmaus
Copy link

lolmaus commented Aug 29, 2018

So is there a server for EmberJS on Discord yet?

There is, but the team are keeping it private until they set everything up perfectly.

Unfortunately, invitation requests aren't considered yet, even from early adopting enthusiasts.

@Alonski
Copy link
Member

Alonski commented Sep 3, 2018

Just updating everyone who is following this. The transition has started and you are all welcome to move on over to Discord: https://discord.gg/zT3asNS 🎉

@ghost
Copy link

ghost commented Sep 3, 2018

@lolmaus
Gitter is not evolving?

@lolmaus
Copy link

lolmaus commented Sep 4, 2018

@LemonAndroid That's my impression. I'd be happy to learn otherwise, but so far I'm very disappointed with Gitter. It had a great potential.

@localpcguy
Copy link

localpcguy commented Sep 4, 2018

I'm not sure this is the proper venue to discuss Glitter, maybe on Discord would be better? Nvrmind, I can't read

@ghost
Copy link

ghost commented Sep 4, 2018

@localpcguy i was pointed to this thread here on discord :D.

@localpcguy
Copy link

localpcguy commented Sep 4, 2018

Ah shoot - I read that as Glitter, not Gitter...carry on - and Glitter isn't even an Ember thing, was thinking of Glimmer, sheesh, need more coffee

@lougreenwood
Copy link

Just wanted to say - Discord is feeling hella vibrant after a week! Nice work @MelSumner 🥇

@viniciusgati
Copy link

Link is offline

@NullVoxPopuli
Copy link
Sponsor Contributor

@viniciusgati the link here: https://www.emberjs.com/community/

which is this one: https://discordapp.com/invite/zT3asNS
(which works for me)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.