Goodbye, Slack. Hello, Spectrum!

By Hugh Willson

TL;DR: We are replacing the Apollo community Slack group with our Apollo Spectrum community.

At Apollo, we love and use Slack extensively. Whether we’re brainstorming ideas around Apollo Client cache invalidation, tracing though Observable bugs, waxing philosophical about TypeScript, or coming up with different ways to GIPHY-amuse teammates, Slack is always our go-to. To be honest we probably use it a bit too much, but just like a morning cup of coffee, Slack at Apollo is a permanent part of our daily routine that isn’t going anywhere.

Given our ❤️ for Slack, when we were looking for a collaboration tool we could use to work with the Apollo community on making the Apollo ecosystem better, choosing Slack was an obvious choice. We loved it and it had proven itself as an awesome tool for our internal team collaboration, so why not extend its use to our community? On April 9th, 2016, apollographql.slack.com was born, and our very first (and amazing) community members joined to help brainstorm on projects like Apollo Client and Apollo Server, building them into the successes they are today.

Unfortunately, while Slack has proven itself to be an amazing collaboration tool for small teams like Apollo, as the community began to grow, we started to encounter problems:

  • Short-lived channel history: Our community members have shared so much amazing information over the years, and helped answer an incredible amount of Apollo GraphQL based questions. Unfortunately, almost all of that knowledge has been lost to the sands of time, since Slack’s pricing model is not geared towards large open source communities ($6.67/month multiplied by 12,000 community members!?) and we have to utilize a free plan which substantially limits channel history. Many older conversations are lost.
  • Walled garden: Even if we got past the fact that messages over the Slack 10k limit are no longer accessible in Slack, we can’t get past the fact that Slack messages are never available outside of Slack. This means no one is coming to Slack from public search engines; to find information in Slack, you have to have a Slack account, and you have to search within Slack itself. This is a great feature when you’re using Slack for internal team collaboration, but when you’re looking to share content outside of Slack, or help make it easier for people trying to find Apollo help by disseminating Apollo questions/answers, it’s very limiting.
  • Problematic searching: Slack is really great at many things, but using its internal search to pinpoint exact information across a large number of high volume channels (and threads 😱), can be very difficult. In Apollo’s case, this has led to a fair amount of community frustration.

While the above pain-points have been manifesting themselves for quite some time, they are becoming more apparent as the Apollo community continues to grow. To help address the frustration that both community members and ourselves have been dealing with, we’ve taken a step back and with the community’s help, started looking into a potential replacement for Slack.

As of today, that replacement is officially ready: Apollo on Spectrum!

While using a realtime collaboration tool for community discussions has worked well, the one key component we’ve been missing is a way to preserve community discussions and let them build into a more permanent resource. Chances are good that an Apollo issue you’re encountering is something that other community members have hit in the past, and we’d like to make sure you’re able to find that out (along with their solution) as easily as possible. After extensive research and weighing the pros/cons of different collaboration options (covering tools like Discourse, Discord, Gitter, etc.), we’ve happily landed on Spectrum.

It should come as no surprise that Apollo team members have been big Spectrum fans since its inception, not just because it’s using the Apollo platform (that helps! 😍), but also because its founders, Brian Lovin, Max Stoiber and Bryn Jackson, have been awesome Apollo community members. Not only have they built an amazing collaboration tool that is 100% focused on helping open source communities thrive, they’ve also led by example through their contributions to the Apollo community itself.

With their product, the Spectrum team has managed to find a nice blend between realtime communication and threaded forum like discussion approaches. This blend lends itself quite well to making sure community members can collaborate easily and effectively, while at the same time retaining all discussions, and making them easily searchable in well-isolated discussion threads. This alone covers a large part of our current Slack issues, but to top it all off, public Spectrum discussions are externally accessible to search engine crawlers!

We could continue on with other reasons why we decided to adopt Spectrum, but in all honesty, we’re following in the footsteps of others (like ZEIT) who have made the switch, and are now happily collaborating alongside their thriving communities.

Starting today, we’re encouraging everyone who is part of the Apollo community Slack group to head over and join Apollo Spectrum. If you’re an active Apollo Slack member, you should receive an email invite from Spectrum shortly. Our Slack group will stay active for 2 more weeks, at which point it will be put into readonly mode (and eventually shut down completely).

Ultimately, we’re making this transition to help improve community collaboration and knowledge sharing, for the community. If you have any questions or comments about this switch, please reach out anytime! You can ping Apollo team members directly in Slack (for another 2 weeks 🙂) or on Spectrum.

A BIG thanks to everyone who helps make the Apollo community what it is today. Your participation in the Apollo ecosystem is wholeheartedly appreciated, and we can’t wait to collaborate with you on future open source projects!

P.S. A special thanks to Apollo community member Ben Church, who had the insight to setup the original Apollo Spectrum community 🙇.