diff --git a/corporate/urls.py b/corporate/urls.py index 398d47c0d0..e38dd156ab 100644 --- a/corporate/urls.py +++ b/corporate/urls.py @@ -219,6 +219,11 @@ landing_page_urls = [ landing_view, {"template_name": "corporate/case-studies/recurse-center-case-study.html"}, ), + path( + "case-studies/rush-stack/", + landing_view, + {"template_name": "corporate/case-studies/rush-stack-case-study.html"}, + ), path("communities/", communities_view), ] diff --git a/templates/corporate/case-studies/rush-stack-case-study.html b/templates/corporate/case-studies/rush-stack-case-study.html new file mode 100644 index 0000000000..76d7ba12dd --- /dev/null +++ b/templates/corporate/case-studies/rush-stack-case-study.html @@ -0,0 +1,38 @@ +{% extends "zerver/portico.html" %} +{% set entrypoint = "landing-page" %} + +{% set PAGE_TITLE = "Case study: Rush Stack open-source community | Zulip" %} + +{% set PAGE_DESCRIPTION = "Learn how Zulip makes it easy for the Rush Stack + community to provide the level of support required for mission-critical + enterprise tools." %} + +{% block customhead %} + +{% endblock %} + +{% block portico_content %} + +{% include 'zerver/landing_nav.html' %} + +
+
+
+
+

Case study: Rush Stack
open-source community

+
+
+ Learn more about using Zulip for
open + source projects and communities. +
+
+
+
+
+ {{ render_markdown_path('corporate/case-studies/rush-stack-case-study.md') }} +
+
+
+
+ +{% endblock %} diff --git a/templates/corporate/case-studies/rush-stack-case-study.md b/templates/corporate/case-studies/rush-stack-case-study.md new file mode 100644 index 0000000000..47c9d3f915 --- /dev/null +++ b/templates/corporate/case-studies/rush-stack-case-study.md @@ -0,0 +1,117 @@ +[Rush Stack](https://rushstack.io/) is an open-source collection of specialized +tooling for working with the world's largest source code repositories. + +Providing support is often a challenge for open-source projects, especially when +maintainers are juggling internal investigations at work alongside their +open-source correspondence. Yet to be successful, the Rush Stack community +needs to systematically handle questions and feedback. + +Zulip makes it easy for the Rush Stack community to provide the level of support +required for mission-critical enterprise tools. “With Zulip, we have a system +that feels professional, where once a topic is opened, we can make sure that it +gets resolved,” says Rush Stack maintainer [Pete +Gonzalez](https://github.com/octogonz). + + +> “With Zulip, we have a system that feels professional.” +> +> — Rush Stack maintainer Pete Gonzalez + + +## Choosing a chat product? Focus on the features that matter. + +Pete Gonzalez started researching chat platform options for the Rush Stack +community in early 2020, looking to replace Gitter. “I had worked on +[Yammer](https://en.wikipedia.org/wiki/Viva_Engage), and even wrote my own +client, so I was thinking about chat apps very deeply,” Pete recalls. “Although +chat apps may seem similar, there are actually many subtle design tradeoffs +whose combination determines whether an app will work well for a particular use +case.” + +Rush Stack needed a space for maintainers and community members to have serious, +long-running conversations. “Rush Stack discussions have the character of +support tickets,” Pete explains. “Someone can ask a question that might take two +years to finally solve.” + +Pete identified Zulip as the best fit for the needs of the community. With +Zulip’s topic-based organization, conversations can run their course, with the +full context of the discussion easily at hand when someone has a new idea. +“Zulip gives you control,” Pete points out. “You can edit or move messages to +fix anything that might be incorrect or confusing, which is important for +long-running discussions.” + + +> “Zulip gives you control.” +> +> — Rush Stack maintainer Pete Gonzalez + +To make the transition, Rush Stack imported the project’s full chat history from +Gitter into Zulip, making it an easily searchable resource. Enabling Zulip’s +feature for logging in with GitHub meant that users didn’t have to make new +accounts. Users could also control how their messages looked with familiar +Markdown formatting. + + +## “Zulip has better features for the way we use it” + +Over the years, Pete had continued to keep an eye on the evolution of team chat +products. “Compared to Discord, Slack, GitHub discussions… Zulip has better +features for the way we use it,” he says. + +Pete has seen open-source maintainers struggle to manage a Discord community: +“There are all these people asking questions… If an important question scrolls +out of view, how would you follow up? Maintainers end up giving up on community +management, leaving casual participants to sort things out on their own.” + +Slack’s paid plans, which start at $8.75/user/month, are unaffordable for +community use. “You have to pay a lot for Slack history, and users can’t log in +with their GitHub account,” Pete says. On the free plan, communities have access +to just 90 days of message history, which is unworkable for a community with a +large knowledge base and long-running investigations. + + +> “Of all the apps I tested, Zulip’s approach stood out as the best fit for how +> we work.” +> +> — Rush Stack maintainer Pete Gonzalez + + +## Software that’s built in the open and always improving + +Pete has been impressed by how Zulip handles user feedback. “I can go into the +development community to talk to them, and often the tech lead of the team will +reply,” he notes. “Even if their answer is that my request is a lower priority +right now, there is context to understand that. New features are always being +added, and with the team’s daily discussions being public, I can see what they +are working on and why. It’s a really different dynamic from trying to make +feature requests or bug reports for a closed source product with an invisible +engineering team.” + + +> “New features are always being added, and with the team’s daily discussions +> being public, I can see what they are working on and why.” +> +> — Rush Stack maintainer Pete Gonzalez + +Pete was pleased to learn that organizations can now allow [public +access](/help/public-access-option) to channels. It lowers the bar for people to +view Zulip discussions that are linked from Rush Stack GitHub issues. + +Pete has also seen Zulip’s onboarding experience transform over the past few +years. “In the past, Zulip was optimized for daily users, and so had a bit of a +learning curve for occasional Rush Stack participants. But the UX has improved a +lot in this regard. The [recent conversations](/help/recent-conversations) view +that’s been added has largely addressed the challenge for new users,” Pete says. +This view lists the topics being discussed, and is also the go-to for Pete to +check in on what’s happening. + + +> “The folks who make Zulip listen to customers, and the product continues to +> improve.” +> +> — Rush Stack maintainer Pete Gonzalez + +--- + +Check out our guide on using Zulip for [open source](/for/open-source/), and +learn how Zulip [helps communities scale](/for/communities/)! diff --git a/templates/corporate/for/communities.html b/templates/corporate/for/communities.html index 29350e362c..59cee2dc6f 100644 --- a/templates/corporate/for/communities.html +++ b/templates/corporate/for/communities.html @@ -28,7 +28,9 @@
Learn how the Recurse Center, Rust language, -
and Asciidoctor communities are using Zulip. + Asciidoctor, and Rush Stack communities are + using Zulip.
diff --git a/templates/corporate/for/open-source.html b/templates/corporate/for/open-source.html index 120a084f75..b97c1fbe9a 100644 --- a/templates/corporate/for/open-source.html +++ b/templates/corporate/for/open-source.html @@ -29,7 +29,9 @@
Learn how the Rust language, Lean theorem prover, -
and Asciidoctor communities are using Zulip. + Asciidoctor, and Rush Stack communities are + using Zulip.
diff --git a/templates/corporate/for/use-cases.md b/templates/corporate/for/use-cases.md index 910448e71c..4a0024ea8a 100644 --- a/templates/corporate/for/use-cases.md +++ b/templates/corporate/for/use-cases.md @@ -28,3 +28,4 @@ * [Asciidoctor open-source community](/case-studies/asciidoctor/) * [Rust language community](/case-studies/rust/) * [Recurse Center](/case-studies/recurse-center/) +* [Rush Stack](/case-studies/rush-stack/) diff --git a/templates/zerver/landing_nav.html b/templates/zerver/landing_nav.html index f0aaea6e16..7e49d89dc3 100644 --- a/templates/zerver/landing_nav.html +++ b/templates/zerver/landing_nav.html @@ -101,6 +101,7 @@
  • Inclusive discussion in the open-source Asciidoctor community
  • Faster decision-making in the Rust language community
  • Platform for a worldwide community since 2013 at Recurse Center
  • +
  • Professional community support at Rush Stack
  • Open communities directory
  • diff --git a/zerver/tests/test_docs.py b/zerver/tests/test_docs.py index 2c42ecb95d..844f1a064b 100644 --- a/zerver/tests/test_docs.py +++ b/zerver/tests/test_docs.py @@ -282,6 +282,7 @@ class DocPageTest(ZulipTestCase): self._test("/case-studies/end-point/", ["Case study: End Point"]) self._test("/case-studies/atolio/", ["Case study: Atolio"]) self._test("/case-studies/asciidoctor/", ["Case study: Asciidoctor"]) + self._test("/case-studies/rush-stack/", ["Case study: Rush Stack"]) def test_oddball_attributions_page(self) -> None: # Look elsewhere in the code--this page never allows robots nor does