portico: Create new "Zulip for communities" page.

This commit is contained in:
Alya Abbott 2021-07-16 15:37:09 -07:00 committed by Tim Abbott
parent ceb5333352
commit 844c62c64e
11 changed files with 154 additions and 76 deletions

View File

@ -56,7 +56,7 @@ You might be interested in:
also recommend reading Zulip for also recommend reading Zulip for
[open source](https://zulip.com/for/open-source/), Zulip for [open source](https://zulip.com/for/open-source/), Zulip for
[companies](https://zulip.com/for/companies/), or Zulip for [companies](https://zulip.com/for/companies/), or Zulip for
[working groups and part time communities](https://zulip.com/for/working-groups-and-communities/). [communities](https://zulip.com/for/working-groups-and-communities/).
* **Running a Zulip server**. Use a preconfigured [DigitalOcean droplet](https://marketplace.digitalocean.com/apps/zulip), * **Running a Zulip server**. Use a preconfigured [DigitalOcean droplet](https://marketplace.digitalocean.com/apps/zulip),
[install Zulip](https://zulip.readthedocs.io/en/stable/production/install.html) [install Zulip](https://zulip.readthedocs.io/en/stable/production/install.html)

View File

@ -31,13 +31,6 @@
<a href="mailto:sales@zulip.com">sales@zulip.com</a>. <a href="mailto:sales@zulip.com">sales@zulip.com</a>.
{% endif %} {% endif %}
</p> </p>
<p class="answer">
You may also be interested in
<a href="/for/open-source">Zulip for open source
projects</a> or
<a href="/for/working-groups-and-communities">Zulip
for working groups and other part-time communities</a>.
</p>
</div> </div>
<div class="faq"> <div class="faq">
<div class="question"> <div class="question">

View File

@ -2,7 +2,7 @@
{% set entrypoint = "landing-page" %} {% set entrypoint = "landing-page" %}
{% block title %} {% block title %}
<title>Zulip: the best group chat for working groups and communities</title> <title>Zulip for communities</title>
{% endblock %} {% endblock %}
{% block customhead %} {% block customhead %}
@ -15,13 +15,13 @@
<div class="portico-landing why-page"> <div class="portico-landing why-page">
<div class="hero"> <div class="hero">
<h1 class="center">{% trans %}The best chat for working groups and communities.{% endtrans %}</h1> <h1 class="center">Zulip for communities</h1>
<p>Make good use of your users time, and engage your community with thoughtful, organized discussion.</p> <p>Open-source projects, research collaborations, volunteer organizations.</p>
</div> </div>
<div class="main"> <div class="main">
<div class="padded-content"> <div class="padded-content">
<div class="inner-content markdown"> <div class="inner-content markdown">
{{ render_markdown_path('zerver/for/working-groups-and-communities.md') }} {{ render_markdown_path('zerver/for/communities.md') }}
</div> </div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,137 @@
> “Choosing Zulip over Slack as our group chat is one of the best
> decisions weve ever made. Zulip makes it easy for our community of
> 1000 Recursers around the world to stay involved, even years after
> their batches finish. No other tool has a user experience that
> [scales to a community of our
> size](https://www.recurse.com/blog/112-how-rc-uses-zulip).”
>
> — Nick Bergson-Shilcock, founder and CEO, Recurse Center
Zulip is designed to help thoughtful people work on difficult problems
together, whether they work from a shared office or from all over the
world. Zulip offers an ideal platform for communities of all types,
including open-source projects, research collaborations, volunteer
organizations, and other groups of people who share a common pursuit.
The Zulip core developers have decades of combined experience leading
and growing open source communities, and we use Zulip to fashion the
day-to-day experience of being a part of our project. No other chat
product comes close to Zulip in facilitating contributor engagement,
facilitating inclusion, and making efficient use of everyones time.
&nbsp;
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">When we made the switch to <a href="https://twitter.com/zulip?ref_src=twsrc%5Etfw">@zulip</a> a few months ago for chat, never in my wildest dreams did I imagine it was going to become the beating heart of the community, and so quickly. It&#39;s a game changer. 🧑‍💻🗨️👩‍💻</p>&mdash; Dan Allen (@mojavelinux) <a href="https://twitter.com/mojavelinux/status/1409702273400201217?ref_src=twsrc%5Etfw">June 29, 2021</a></blockquote>
&nbsp;
If you havent read [Why Zulip](https://zulip.com/why-zulip), read
that first. The challenges with the Slack/Discord/IRC model discussed
there are even more important for open communities:
- Members of open communities may be scattered all over the world and
in every time zone. Traditional communication tools like email
lists, forums, and issue trackers work well in this context, because
you can communicate effectively asynchronously. A Slack community is
a bad experience if youre rarely online at the same time as most
other members, making it harder to be inclusive of all participants.
- Many members of open communities have other fulltime obligations and
can only spend a few hours a week on the community. Because Slack is
very hard to skim, these part-time community members cannot
efficiently use their time participating in an active Slack. So
either they dont participate in the Slack, or they do, and their
other contributions to the communitys efforts suffer.
> “Zulip helped the FHIR community grow from a tiny group of dreamers to 500 active users sending 6000 messages per month, all driving the creation of better healthcare standards. Zulips topic-based threading helps us manage simultaneous discussions with clarity, ensuring the right people can pay attention to the right messages. This makes our large-group discussion far more manageable than what weve experienced with Skype and Slack.”
> — Grahame Grieve, founder, FHIR health care standards body
- Many of us are busy people, who really wish we had more time to do
focus work. Because active participation in Slack fundamentally
requires constant interruptions, leaders of communities that use
Slack end up making unpleasant choices between participating in the
Slack community (limiting their ability to do focus work) or
ignoring the Slack community (leaving it effectively without their
input and potentially unmoderated).
- Writing to a busy Slack channel often means interrupting another
existing conversation. This makes it harder for newer and shyer
members to jump into the community. Often this disproportionately
affects groups that are already underrepresented.
- The lack of organization in Slack message history (and its 10K
message history limit) mean that users asking for help cannot
effectively do self-service support. This results in the community
answering a lot of duplicate questions.
The overall effect is that Slack is a poor communication tool for
communities that want to have an inclusive, global, community and that
many busy individuals can happily participate in.
&nbsp;
<blockquote class="twitter-tweet" data-cards="hidden"><p lang="en" dir="ltr">We just moved the Lichess team (~100 persons) to <a href="https://twitter.com/zulip?ref_src=twsrc%5Etfw">@zulip</a>, and I&#39;m loving it. The topics in particular make it vastly superior to slack &amp; discord, when it comes to dealing with many conversations.<br>Zulip is also open-source! <a href="https://t.co/lxHjf3YPMe">https://t.co/lxHjf3YPMe</a></p>&mdash; Thibault D (@ornicar) <a href="https://twitter.com/ornicar/status/1412672302601457664?ref_src=twsrc%5Etfw">July 7, 2021</a></blockquote>
&nbsp;
Zulips topic-based threading model solves these problems:
- Community members in any time zone can send messages and expect to
get a reply and have an effective (potentially asynchronous)
conversation with the rest of the community.
- Zulips topic-based threading helps include part-time community
members in two major ways. First, they can easily browse what
conversations happened while they were away from the community, and
prioritize which conversations to read now, skip, or read later
(e.g. on the weekend). Second, Zulip makes it easy for them to have
public conversations with participation from other community members
(potentially split over hours, days, or weeks as needed), allowing
them to fully participate in the work of the community.
- Community leaders can effectively participate in a Zulip community
without being continuously online. Using Zulips [keyboard
shortcuts](https://zulip.com/help/keyboard-shortcuts), its
extremely efficient to inspect every potentially relevant thread and
reply wherever ones feedback is useful, and replying hours after a
question was asked is still a good experience for community
members. As a result, leaders can do multi-hour sessions of focus
work while still being available to their community.
- Topics make it easier to provide a safe, welcoming, online
community. Asking a question never has to feel like an interruption
of an ongoing conversation or like one's sticking one's neck out.
> “Wikimedia uses Zulip for its participation in open source
> mentoring programs. Zulips threaded discussions help busy
> organization administrators and mentors stay in close communication
> with students during all phases of the programs.”
> — Srishti Sethi, Developer Advocate, Wikimedia Foundation
You can see this in action in our own [chat.zulip.org
community](https://zulip.readthedocs.io/en/latest/contributing/chat-zulip-org.html), which sends
thousands of messages a week. We often get feedback from contributors
around the world that they love how responsive Zulips project leaders
are in public Zulip conversations. We are able to achieve this despite
the project leaders collectively spending only a few hours a day
managing the community and spending most of their time integrating
improvements into Zulip.
Many communities that migrated from
[Slack](https://zulip.com/help/import-from-slack),
[Mattermost](https://zulip.com/help/import-from-mattermost), or
[Gitter](https://zulip.com/help/import-from-gitter) to Zulip tell us
that Zulip helped them manage and grow an inclusive, healthy
community. We hope Zulip can help your community succeed too!
> “I highly recommend Zulip to other communities. Were coming from
> Freenode as our only real-time communication so the difference is
> night and day. Slack is a no-go for many due to not being FLOSS,
> and Im concerned about vendor lock-in if they were to stop being
> so generous. Slacks threading model is much worse than Zulips
> IMO. The streams/topics flow is an incredibly intuitive way to keep
> track of everything that is going on.”
> — RJ Ryan, Mixxx Developer
<script async src="https://platform.twitter.com/widgets.js"></script>

View File

@ -1,58 +0,0 @@
Part-time organizations like learning communities, standards bodies,
advocacy groups, hobby groups, and alumni organizations often need different
things out of chat than companies do. While there may be some core members
spending many hours per week on the organization, much of the value of the
community may come from a large number of members or potential members who
have an unrelated job and thus may have less than an hour a week to spend on
the organization. In such an organization, making it easy for someone to
participate when they dont have time to read everything can be the
difference between a robust, growing community and one that stagnates.
Some of Zulips earliest users were part-time organizations, so we have given
a lot of thought to the problems such groups face. Zulips topic-based
threading
* Makes the catching-up experience fast and fun, even if a user has been
away for a while. On Slack or email, wading through hundreds or thousands
of unread messages is taxing at best.
* Makes it easy to respond to conversations that started hours or days ago,
so that users that drop by occasionally can contribute rather than just
lurk.
Zulips topic-based threading also allows for more thoughtful discussion,
since more people are able to chime in on any given conversation. It also
makes it easy to start new threads, so digressions dont take over a
conversation.
If you havent read [why Zulip](/why-zulip), read that first. If your
organization is a technical group that will be sharing code, you may want to
read [Zulip for open source](/for/open-source) as well. Finally, one of our
earliest communities, the Recurse Center, wrote an
[extended blog post](https://www.recurse.com/blog/112-how-rc-uses-zulip)
about how they use Zulip, which has suggestions for conventions you might
want to include as you build your community.
Two additional points of note:
* **Pay as you go**: We host many pro-social groups for free, and
non-commercial entities at a greatly reduced price. Even if you dont fall
into any such bucket, Zulip only charges for users that have been active
in the last two weeks. So feel free to invite anyone youd like, even if
youre not sure if theyll end up sticking around!
* **Smart digest emails (coming soon)**: Zulips topic-based threading makes
it easier for algorithms to guess which messages and conversations will be
interesting to users that havent checked in in a while. Occasional
interesting digests sent to inactive users is a great way to bring users
back into the group.
### Public archive.
Allow search engines to index your chat, with a read-only view of your
public streams. Zulips topic-based threading keeps conversations coherent
and organized, enabling a meaningful archive indexed by search engines.
Currently implemented as an [out-of-tree
tool](https://github.com/zulip/zulip-archive), though a native feature
built into the Zulip server is coming soon.

View File

@ -49,7 +49,7 @@
<a href="/for/open-source/">Open source projects</a> <a href="/for/open-source/">Open source projects</a>
</li> </li>
<li> <li>
<a href="/for/working-groups-and-communities/">Working groups and communities</a> <a href="/for/communities/">Communities</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -161,4 +161,4 @@ transform how your organization communicates:
- [Plans and pricing](/plans) - [Plans and pricing](/plans)
- [Zulip for companies](/for/companies) - [Zulip for companies](/for/companies)
- [Zulip for open source organizations](/for/open-source) - [Zulip for open source organizations](/for/open-source)
- [Zulip for working groups and communities](/for/working-groups-and-communities) - [Zulip for communities](/for/communities)

View File

@ -78,7 +78,7 @@ class PorticoDocumentationSpider(BaseDocumentationSpider):
"http://localhost:9981/why-zulip", "http://localhost:9981/why-zulip",
"http://localhost:9981/for/open-source", "http://localhost:9981/for/open-source",
"http://localhost:9981/for/companies", "http://localhost:9981/for/companies",
"http://localhost:9981/for/working-groups-and-communities", "http://localhost:9981/for/communities",
"http://localhost:9981/for/research", "http://localhost:9981/for/research",
"http://localhost:9981/security", "http://localhost:9981/security",
] ]

View File

@ -468,6 +468,7 @@ def write_instrumentation_reports(full_suite: bool, include_webhooks: bool) -> N
"help/configure-missed-message-emails", "help/configure-missed-message-emails",
"help/community-topic-edits", "help/community-topic-edits",
"help/delete-a-stream", "help/delete-a-stream",
"for/working-groups-and-communities/",
"api/delete-stream", "api/delete-stream",
"casper/(?P<path>.+)", "casper/(?P<path>.+)",
"static/(?P<path>.+)", "static/(?P<path>.+)",

View File

@ -160,7 +160,7 @@ class DocPageTest(ZulipTestCase):
self._test("/case-studies/tum/", "Technical University of Munich") self._test("/case-studies/tum/", "Technical University of Munich")
self._test("/for/research/", "for researchers") self._test("/for/research/", "for researchers")
self._test("/for/companies/", "in a company") self._test("/for/companies/", "in a company")
self._test("/for/working-groups-and-communities/", "standards bodies") self._test("/for/communities/", "Zulip for communities")
self._test("/security/", "TLS encryption") self._test("/security/", "TLS encryption")
self._test("/devlogin/", "Normal users", landing_page=False) self._test("/devlogin/", "Normal users", landing_page=False)
self._test("/devtools/", "Useful development URLs") self._test("/devtools/", "Useful development URLs")

View File

@ -629,9 +629,14 @@ i18n_urls = [
path("for/companies/", landing_view, {"template_name": "zerver/for-companies.html"}), path("for/companies/", landing_view, {"template_name": "zerver/for-companies.html"}),
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}), path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
path( path(
"for/working-groups-and-communities/", "for/communities/",
landing_view, landing_view,
{"template_name": "zerver/for-working-groups-and-communities.html"}, {"template_name": "zerver/for-communities.html"},
),
# We merged this into /for/communities.
path(
"for/working-groups-and-communities/",
RedirectView.as_view(url="/for/communities/", permanent=True),
), ),
path("security/", landing_view, {"template_name": "zerver/security.html"}), path("security/", landing_view, {"template_name": "zerver/security.html"}),
# Terms of Service and privacy pages. # Terms of Service and privacy pages.