apollographql / apollo

:rocket: Open source tools for GraphQL. Central repo for discussion.
https://www.apollographql.com
MIT License
2.61k stars 425 forks source link

Apollo Community Slack replacement #256

Closed hwillson closed 5 years ago

hwillson commented 5 years ago

Apollo is currently looking for a new community collaboration tool, that will replace the Apollo Community Slack group. As much as we all :heart: Slack, it is unfortunately not the greatest tool when it comes to collaborating with a large number of active users (11,000+).

We're looking for a new community collaboration tool that:

We'd love to get feedback on which collaboration tool the community thinks would be a good fit. At this point anything is on the table, including real-time chat systems, more traditional forums, or something in-between. Please chime in here with your comments and suggestions, to help us pick the tool that will be the best fit for the awesome Apollo community!

zimme commented 5 years ago

http://spectrum.chat

Edit: There seem to already be an Apollo spectrum community https://spectrum.chat/apollo

Asjas commented 5 years ago

Yeah +1 on https://spectrum.chat/. It's cloud-based and public accessible.

dani-z commented 5 years ago

Spectrum is one of the best options out there (Next.js recently made the transition too). The only problem is that there is a huuuuge amount of useful data and information on the current Slack community that will, eventually be lost 😢

maapteh commented 5 years ago

I think a lot of things can be handled using StackOverflow. Questions which relates to the use of ID's in schema's, they return on slack or any new medium you choose etc etc. Also some documentation can be updated better (for example cacheControl is it now fully supported or not). Good luck!

see https://www.jordanhawker.com/p/131477030371 for some nice overview

shawnmmatthews commented 5 years ago

+1 for Spectrum

ThisIsMissEm commented 5 years ago

Another option could be discourse ( which powers https://npm.community )

zimme commented 5 years ago

I think a lot of things can be handled using StackOverflow. Questions which relates to the use of ID's in schema's, they return on slack or any new medium you choose etc etc. Also some documentation can be updated better (for example cacheControl is it now fully supported or not). Good luck!

I do think that StackOverflow should be used more as it's a goto for a lot of developers, but slack/discord/gitter/spectrum I feel is more for day to day realtime-ish communication.

WaldoJeffers commented 5 years ago

Pinging @mxstbr here because he and his teammates at Spectrum are active users of Apollo utilities (all their code is open source), and I think it's the raison d'être of what they're doing 😄

stephencorwin commented 5 years ago

I feel like Discord has a great offering.

Reactiflux moved over to Discord already for very similar reasons. They have over 25,000 members now.

A few weeks ago, Reactiflux reached 7,500 members on Slack. Shortly after, Slack decided we were too big and disabled invites. There was no way for new users to join. Many of us were sad and upset. We loved Slack. Our community was built around it...

https://reactjs.org/blog/2015/10/19/reactiflux-is-moving-to-discord.html

hwillson commented 5 years ago

@dani-z

The only problem is that there is a huuuuge amount of useful data and information on the current Slack community that will, eventually be lost 😢

All of that great information in Slack is currently already lost in a few days. Slack retains it, but we can't get access to it unless we pay them 60k a month. Right now search is limited to the last 10,000 messages, and channel history disappears over time as well. This is by far the biggest issue we have with Slack, and if we could pay them something reasonable to get access to the archives, we 💯% would (we tried 🙁).

lfades commented 5 years ago

Zeit went through the same Process with their community for Next.js + Micro.js + Now.sh + Hyper + Everything zeit related, and they decided to go for Spectrum, another good option can be Discord.

MLDimitry commented 5 years ago

Yup another vote for Discord from me. Spectrum.chat is probably fine but Reactiflux is on Discord (as mentioned above) and I think it would make a lot of sense to have these two communities on the same platform since many users of Apollo's community will also be part of Reactiflux.

elliottsj commented 5 years ago

@hwillson

All of that great information in Slack is currently already lost in a few days. Slack retains it, but we can't get access to it unless we pay them 60k a month.

This could have changed, but I remember using Slack's free export tool on another community a year or two ago, and it did include all messages in public channels since the creation of the community. Apollo's would be here:

https://apollographql.slack.com/services/export

Of course, this does not include direct messages or private channels.

grantwwu commented 5 years ago

I've heard really good things about Zulip; it seems somewhat similar to Spectrum.

zimme commented 5 years ago

We also have gitter, which is quite similar to slack. http://gitter.im

dani-z commented 5 years ago

I've heard really good things about Zulip; it seems somewhat similar to Spectrum.

$6.67 seems to have sam prices as Slack?

dani-z commented 5 years ago

All of that great information in Slack is currently already lost in a few days. Slack retains it, but we can't get access to it unless we pay them 60k a month. Right now search is limited to the last 10,000 messages, and channel history disappears over time as well. This is by far the biggest issue we have with Slack, and if we could pay them something reasonable to get access to the archives, we 💯% would (we tried 🙁).

Yeah, I guess you're right. Such a big shame they don't allow you to export the data.

hwillson commented 5 years ago

Thanks @elliottsj - that does still work; we can get an export of the old content, but we just wish we could enable all of it in Slack itself without paying 💵 6️⃣ 0️⃣ 💯. We'll definitely grab an export before shutting anything down, but we haven't decided what to do with that content itself. On the plus side - since that content isn't available to users in Slack right now anyways, we won't be much worse off switching to a new tool.

grantwwu commented 5 years ago

@dani-z https://zulipchat.com/for/open-source/ Zulip provides free chats for open source projects.

-1 for Gitter - I find the lack of threads really annoying.

Yeah, I guess you're right. Such a big shame they don't allow you to export the data.

They do allow you to export the data. See a few comments up: https://github.com/apollographql/apollo/issues/256#issuecomment-440324998

In fact, Zulip has a Slack migration tool.

hwillson commented 5 years ago

Thanks for the feedback everyone! How would people feel about losing the realtimey™️ nature of Slack? Forums (e.g. Discourse) are well suited to building community knowledge bases, and often lean towards keeping discussions more focused and thought out (often, but of course not always!). Not to mention it's much easier to build and integrate an effective search system in forum software, due to the more linear flow of information (you don't have a bunch of intertwined discussions happening in one channel/thread/post/etc). Real-time discussions are awesome for collaboration, but the current majority of Apollo Community Slack users are asking questions, and looking for answers; something that can be very nicely handled in forum threads.

stephencorwin commented 5 years ago

Being able to have real-time conversations with other developers is a huge plus imho. There is a much larger energy barrier towards submitting a forum post than there is towards dropping a message in chat.

Forums may serve the purpose of generating a community-driven FAQ a bit better. However, I feel like IRC channels drive community development way more.

It would be a shame to lose this functionality. :(

grantwwu commented 5 years ago

@hwillson I feel like both Spectrum and Zulip, with their threaded-as-default interfaces, accomplish a lot of what you want (specifically the "you don't have a bunch of intertwined discussions happening in one channel/thread/post/etc" part).

mxstbr commented 5 years ago

This is basically the exact use case we built Spectrum for: large open source communities! I joined @brianlovin and @superbryntendo on this endeavour because I needed a place for my open source communities to go (specifically, the styled-components community) and couldn't find anything that suited my needs.

Here's how Spectrum is different from Slack, Discord, Discourse and all the other community tools out there:

I'd also recommend reading this blog post by Zeit about why they chose to go with Spectrum for Next.js and all their other community needs: https://zeit.co/blog/spectrum

We'd absolutely love love love to have you 💜 If you have any concerns, doubts or questions just let us know—we'll be around in this thread!

jonbudd commented 5 years ago

As mentioned above, Stackoverflow is great when you want a well-searchable history - for basic questions like "How can I stitch schemas?", or "I don't understand <X> GraphQL concept", having individual pages per question is much more natural than having to dig through a chat log. I would argue that a slightly stronger presence should be maintained on SO, especially for questions like these, whose answers won't change much over time.

But SO's advantages are also disadvantages - questions are supposed to be specific, meaning users can't ask for general assistance in a spot that may be lacking documentation; responses are less ad-hoc and are supposed to be well-researched, meaning it takes longer to hear back; and there are certain discussions, like the ones currently in the #contributors apollo slack channel, that just don't belong anywhere on SO. For something like that, a real-time chat system is needed, and one that supports threads so that channels aren't bogged down with the inevitable back-and-forth that comes with a tool like this. I don't have much experience with the other solutions mentioned above, like Zulip, Spectrum, etc, unfortunately, so I don't have much specific input on those.

tl;dr, SO and chat apps solve different purposes, and if both are utilized effectively and with their advantages in mind, then information will be conveyed more effectively than it would be by just using one of them.

stubailo commented 5 years ago

A lot of these options sound great, but I'm definitely really stoked about using a platform built with Apollo! Just like I read my news on New York Times cause it's built with Apollo, I think it's a big plus for Spectrum.

Siyfion commented 5 years ago

Personally, and I think this is just me; but I really dislike the look & feel of Spectrum chat, it just feels really clunky and "big". Like I can only see a tiny fraction of what's going on in a Slack or Discord window, by comparison. Hence why I would prefer a Discord community; with optional Apollo voice-chat channels being an added plus.

stolinski commented 5 years ago

I recently interacted with the Vue community via Discord and had a very positive experience.

johnymontana commented 5 years ago

We recently went through the same sort of transition at Neo4j driven by the growth of our public Slack workspace. We chose to use Disourse for our new community forum.

So far it seems to be going well. We've been able to customize things a bit using the Discourse API and some custom code. For example, we added trending community activity feeds to the landing page which automatically surfaces Github projects and blog posts from the community - powered by GraphQL and Apollo Server on top of Neo4j - btw ;-)

One of our community members also built a Slack integration to be notified of the usage of certain keywords.

It seems to me that there are some features lacking in Discourse, but so far we've been able to hack our own integrations / extensions to add those features.

nooitaf commented 5 years ago

Let me just add https://matrix.org to the list.

grantwwu commented 5 years ago

I just noted

Is not a walled garden; content deemed as being public is trully publicly accessible, and indexable by external search engines.

I am fairly sure that Discord doesn't satisfy this criteria. I'm not sure if Zulip provides this either. Spectrum seems to sort of have this.

Of course you can build this with a logging bot.

jsslai commented 5 years ago

I think the problem with chat based tools (Slack, Discord) is if you won't get a response to a question immediately it usually goes unanswered. I haven't used Spectrum but it looks like it has all the features needed and it would be really great to use a tool powered by Apollo. :)

jrmdayn commented 5 years ago

Is there a mobile app for Spectrum? This is definitely a plus for a messaging app..

mxstbr commented 5 years ago

Is there a mobile app for Spectrum? This is definitely a plus for a messaging app..

We just launched the Mac app, but don't have mobile apps—yet! They're a work in progress, see https://github.com/withspectrum/spectrum/issues/1803 for more information. :+1:

lifeiscontent commented 5 years ago

Discord is pretty amazing.

veerjainATgmail commented 5 years ago

+1 for zulip, It is designed for productivity.

IMO, it is less noisy than other options.

On Fri, Nov 23, 2018, 10:29 Aaron Reisman <notifications@github.com wrote:

Discord is pretty amazing.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/apollographql/apollo/issues/256#issuecomment-441156708, or mute the thread https://github.com/notifications/unsubscribe-auth/AMhhrkhtz2TznwLwb-HuCeKCh31J89D8ks5ux4DBgaJpZM4YrW_l .

hwillson commented 5 years ago

Discord is awesome, and the fact that communities like Reactiflux can exist and thrive there with 35,000 members is amazing! That being said, Discord's (and Zulip's) biggest disadvantage compared to some of the other options listed in this thread is that its content is not indexable by external search engines. It's really important to us to make sure that people can find the answers they're looking for, as easily as possible. A lot of people still reach for Google when they're kick starting their answer research, and it would be a shame to lock all future Apollo questions/answers/(gifs?) behind a member wall (like we're doing with Slack 🙁).

kylecordes commented 5 years ago

Chat content tends to not be very searchable regardless of whether it is visible to search engines though. There is a trade-off between the friendly easy back-and-forth of chat (which optimizes for the participants present "live") versus more structured discussions (which optimize partly for people who come along later).

hwillson commented 5 years ago

I completely agree @kylecordes, which is what makes this decision so hard.

There are pros/cons to both approaches for sure. I have a feeling the decision here will come down to picking either Spectrum or Discourse. Spectrum gives us a lot of the chat app feel we're used to with Slack, while at the same time making it easier to track / search through discussions via threads. Discourse isn't intended to be a chat app, but it's hard to argue against the tried and tested model of a forum system for managing community questions/answers. Both will open up access to historical content much better than our Slack group currently does, so either one will likely be great. The fact that Spectrum uses Apollo (and that @mxstbr is an active Apollo community member) definitely doesn't hurt 🙂.

The above being said though, we don't want to make this decision lightly (or in a silo), since it effects everyone in the community. We're trying, testing, considering, etc. every tool mentioned in this thread, so keep those compelling suggestions/arguments coming!

Just to add, in terms of a timeline we're hoping to replace Slack completely within the next few weeks.

tiomno commented 5 years ago

@dani-z & @hwillson, this might be useful to keep an archive of Slack communications: https://github.com/dutchcoders/slackarchive

brentjanderson commented 5 years ago

@hwillson Although Discourse isn't a chat app, Discord is. It's positioned more for gaming, but I know open source projects that use it as a slack alternative.

johnstleger commented 5 years ago

+1 for https://github.com/discourse/discourse We have been using this a lot recently as it was adopted by a framework we are using within our web application. The community has been invaluable, I rate the platform in its ease of use and discoverability of topics and issues.

smeijer commented 5 years ago

Meteor was (/is) using Discourse. Still, it had an awesome community. Chat is awesome. But which coding-question requires a direct response? I've joined some gitter channels for support on OS libraries.

It happens quite often that I post my question there, on which I don't get a direct response. Few hours later I check in again; and my question is lost. I've never had this problem on forums.meteor.com

Also; from marketing POV. When writing blogs, it's easier to link to a Discourse page / forum, than to link to a chat.

glauberfc commented 5 years ago

Discord is pretty amazing!!!

theodorDiaconu commented 5 years ago

Discourse!

hwillson commented 5 years ago

Thanks for the great feedback everybody! We've explored all of the options suggested here, and based on feedback in this thread and elsewhere, have decided to move to Spectrum. We'll post more details about the migration shortly. Thanks again!

revskill10 commented 5 years ago

I really hope Github will have a real discussion feature right in the organization page, so that everything is focus inside github. It's the best option to me. In the meantime, i prefer spectrum.chat for its good UX (much better than discourse and poor slack).

Saeris commented 5 years ago

My vote is also for Discord.

Reading through the discussion so far, I recognize the desire for publicly indexable search and yeah that's a big drawback when so often the first thought for developers is to google the solution to a problem they're facing. Right now though, I think the main reason why people come to Apollo's slack community for help in the first place is they've already exhausted stack overflow/github issues/medium posts in their search for answers and they want to have a real-time conversation with other users or developers. While Spectrum is publicly indexable, any discussions there will be competing with all the alternatives I mentioned above in terms of search result rankings. My feeling is, if it's not on page 1 on Google, people are going to go directly to github or slack and search for keywords there, of which Discord wouldn't be any different.

However, in addition to wide platform support and existing large developer communities, I think a big advantage Discord has over Spectrum is built-in voice chat and screen sharing. The availability of real-time collaboration like this is really valuable in my opinion, as often times the problems we face are difficult to concisely describe in writing. Voice communication is a lot faster than text, and visual communication via screen-sharing is even faster. The trade-off being it's ephemeral nature. It would be helpful if more people summarized their problems and solutions once a solution has been found, but that's a behavior people need to adopt, not something any of these tools will do adequately for them.

TL;DR: I think people use Slack for real-time discussion not historical knowledge. Discord offers tools to speed up communication and collaboration that the alternatives lack.

hwillson commented 5 years ago

👋 all! We're excited to announce the official release of the Apollo community on Spectrum! You can read the full details here, or head over to check things out directly: https://spectrum.chat/apollo. The blog post explains everything in more detail, but long story short we're moving over to Spectrum to help take Apollo community collaboration to the next level. The Apollo Slack group will stay active for another 2 weeks, at which point it will be put into readonly mode (and eventually shutdown). A big thanks to everyone in the community who helped pick our next collaboration tool, and we hope to see all of you over in Apollo Spectrum!