portico: Add Asciidoctor case study.

This commit is contained in:
Alya Abbott 2022-03-25 15:30:26 -07:00 committed by Tim Abbott
parent f6d27562fa
commit 2a1e08759b
7 changed files with 248 additions and 0 deletions

View File

@ -0,0 +1,36 @@
{% extends "zerver/portico.html" %}
{% set entrypoint = "landing-page" %}
{% block title %}
<title>Case study: Asciidoctor open-source community</title>
{% endblock %}
{% block customhead %}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{% endblock %}
{% block portico_content %}
{% include 'zerver/landing_nav.html' %}
<div class="portico-landing why-page solutions-page case-study-page">
<div class="hero bg-pycon">
<div class="bg-dimmer"></div>
<div class="content">
<h1 class="center">Case study: Asciidoctor <br /> open-source community</h1>
</div>
<div class="hero-text">
Learn more about using Zulip for<br /> <a href="/for/open-source">open
source projects</a> and <a href="/for/communities">communities</a>.
</div>
</div>
<div class="main">
<div class="padded-content">
<div class="inner-content markdown">
{{ render_markdown_path('zerver/for/asciidoctor-case-study.md') }}
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -50,6 +50,9 @@
<li>
<a href="/case-studies/lean/">{{ _("Lean theorem prover community") }}</a>
</li>
<li>
<a href="/case-studies/asciidoctor/">{{ _("Asciidoctor open-source community") }}</a>
</li>
<li>
<a href="/case-studies/rust/">{{ _("Rust language community") }}</a>
</li>

View File

@ -0,0 +1,199 @@
## Asciidoctor: An active open-source community building software to share knowledge
Started in 2012, the [Asciidoctor](https://asciidoctor.org) community develops
an [open-source](https://github.com/asciidoctor) text processor for parsing
AsciiDoc content, enriching it, and converting it to formats such as HTML 5,
DocBook, PDF, and many others.
For years, the project struggled to find a way to bring the community together
in one place. Thanks to recommendations from leaders at other open-source
communities, the Asciidoctor project leads decided to give Zulip a try to see if
it could solve those challenges. “Moving to Zulip transformed our dialogue,
making it organized, inclusive, and thoughtful in a way it never was before,”
says project lead [Dan Allen](https://github.com/mojavelinux). “We finally had a
home base. Zulip has been a game changer for our community.”
> “Zulip has been a game changer for our community.”
>
> — Project lead Dan Allen
## A decade-long search for a communication platform to bring the community together
“In the early days, we started out only communicating using the GitHub issue
tracker,” Dan Allen recalls, “but we could see that it wasnt going to scale. It
doesnt provide a channel for general dialogue.” The project tried IRC, but it
was unapproachable for newcomers and lacked modern chat and moderation features.
Asciidoctor set up a discussion list, but that wasnt a good fit either.
Contacting hundreds of people over email to ask a simple question always felt
inappropriate, and the lack of real-time interaction ended up making
conversations take longer.
Looking for a web-based chat solution, Asciidoctor tapped into Gitter in 2014.
“Gitter certainly looks modern and approachable. However, we quickly learned
that the single, running thread of the channel was both chaotic and stressful,”
Dan says. And the platform had mostly stagnated.
Many users in the community pleaded for threads, but Gitters threading feature
(finally added in 2020), only made the situation more problematic for the
community. “Threads buried the replies. You had to either navigate to threads
using notifications, or scroll back multiple pages to find the little see
replies link and rediscover the thread. It was just so tedious,” Dan recalls.
> “The conversations in Gitter were becoming more about Gitter and its
> limitations and less about the project itself.”
>
> — Project lead Dan Allen
While Gitter allows users to create new rooms, what the project really needed
was a single community space with “socially distanced” conversations going on.
They needed a new model. And thats exactly what they found in Zulip.
## Asciidoctor moves to Zulip: “All the anxiety and stress was gone”
With the community continuing to grow, Dan and fellow maintainers decided it was
time to seek out a better solution. Drawing on advice from leaders of other
open-source communities, the project decided to give Zulip a try in early 2021.
[Zulips streams and topics model](/why-zulip/) immediately clicked. “Streams
partition the community without making it feel divided. When someone has a
question, they can find the most relevant stream and either make a new topic or
contribute to an existing one.” This paradigm was a game-changer. “Literally the
day we moved to Zulip, all the anxiety and stress of keeping up with the
discourse was gone,” Dan says.
With Zulip, Dan has developed a comfortable workflow for catching up on
conversations after being away. “When I start my day, I open up the [Recent
topics](/help/recent-topics) page and work through the topics that have activity
on-by-one,” Dan describes. More casual community participants can [skim the
topic list](/help/reading-strategies) to find interesting discussions, and mark
topics they dont care about as read with a single click.
## Powerful moderation tools help keep conversations on track
Zulips topic model helps discussions stay focused. “Zulip starts the
conversation out on the right foot by giving it its own space as a topic,” Dan
explains. “As a result, conversations dont have to be branched from an
arbitrary spot, and the discussion is much more likely to stay focused and
succinct.”
> “Zulip starts the conversation out on the right foot by giving it its own
> space as a topic.”
>
> — Project lead Dan Allen
If a topic starts in the wrong place or veers off course, Zulips [moderation
tools](/help/moderating-open-organizations) make it easy to fix. Community
moderators can keep the dialogue organized by reclassifying topics and posts
without disrupting the ongoing conversation. “If someone accidentally posts to
the wrong stream or topic, Zulip allows me to [move those messages
around](/help/move-content-to-another-stream) so they land in the right spot,”
Dan says. “Moving messages also sends a subtle hint to the person posting about
where to post the next time. And I can use [topic
references](/help/link-to-a-message-or-conversation#link-to-a-stream-or-topic-within-zulip)
to link to the new topic location, or to a related topic. Thats incredibly
powerful,” Dan says.
The ability to [mark topics as resolved](/help/resolve-a-topic) helps moderators
see at a glance which topics require their attention. “Many topics reach a
logical conclusion when the initial question has been answered, and the initial
poster will typically express that theyre satisfied. At that point, one of us
marks the topic as resolved,” Dan explains. “When Im looking for topics that
need my attention, I can focus on the ones that arent yet resolved and try to
help get them to that state.” Later on, community members can use resolved
topics [as a reference source](#zulip-makes-information-easy-to-find).
## Zulip enables organized, inclusive and thoughtful discussion
After a successful launch of the Asciidoctor community on Zulip, Asciidoctors
sibling project [Antora](https://antora.org) adopted it as well. For both
projects, using Zulip has been night and day compared to other platforms. “I can
manage hundreds of participants across two communities extremely efficiently,
and I dont feel stressed,” says Dan. “I used it for my company chat as well.
Zulip is calm and organized. I can immediately see what people are asking
and jump to respond when I need to.”
> “I can manage hundreds of participants across two communities extremely
> efficiently.”
>
> — Project lead Dan Allen
The sense of space created by Zulips topic model has made the community more
inclusive. “Using Zulip gives space to a much broader range of voices.
Were seeing people participating who never participated before,” Dan says.
“People who are less extroverted, who dont speak English natively, or just
cant type as quickly now all have a chance to be part of the dialogue. Zulip
offers a more manageable pace.”
> “Were seeing people participating who never participated before.”
>
> — Project lead Dan Allen
Even the tone of conversation has shifted, becoming more respectful and
thoughtful. “People are more relaxed. They can think and take their time to
reply. Topics give people space. People dont feel like they are trying to talk
over someone else. That means you can have more constructive dialogue because
the volume level is lower,” says Dan. At the same time, Zulip enables
lightweight interactions. “Often times, I participate just [using
emoji](/help/emoji-reactions). I must use the 👍 and 🎉 reactions dozens of
times a day,” Dan says.
Streams have also helped the community get to know one another better. “When we
created the instance, we set up a #social stream. We seeded it with the topic
introduce yourself, and new members took full advantage of it,” Dan says. The
social stream has brought a more personal touch to the community. “In real life,
no one just walks in and starts asking questions out of the blue,” Dan points
out. “In the social stream, weve talked about non-technical topics like TV
series, screen setups, and holiday wishes just to get to know the people behind
the screen name and enrich each others lives in other ways. What we learned?
Everyone enjoys a lot of British TV. ;)”
## Zulip makes information easy to find
As a community grows, its conversation history becomes a trove of reference
information. However, this history provides value only if the information is
findable. “Once a conversation went out of view in Gitter, it was essentially
lost,” Dan says. “The search was global across the whole Gitter instance, and it
only returned excerpts with no sense of context. It was often faster to just
scroll through the history in an attempt to try to find where the conversation
happened than it was to search.”
In contrast, Zulip offers a [faceted search](/help/search-for-messages) that
lets you find past discussions with pinpoint accuracy. “You can narrow the
search to a stream or topic (with autocomplete!),” Dan points out. The results
are presented with topic headings, making it easier to see whether the message
is relevant. “You can click the topic to see the message in context,” Dan says.
“Its not only a great way to search, but its a great way to catch up on
messages too. You can also search for all messages you sent, which turns out to
be a great navigation tool and a memory saver!”
## “Zulip is the heart of our community”
Dan is passionate about supporting Zulips development. “If we dont sponsor the
open source projects we love, well have no one else to blame if we live in a
world of proprietary software,” Dan says. “We truly feel heard by Zulip
developers when we provide feedback. We also love that Zulip is [truly open
source](https://blog.zulip.com/2021/04/28/why-zulip-is-on-github-sponsors/), not
open core like some alternatives. And we very much appreciate Zulip supporting
open source by hosting our Zulip instances.”
“Zulip is the heart of our community, and nearly everyone who participates
absolutely loves it,” Dan says. “It really does provide [everything we
need](/features) to manage the discourse, including topic-based threads,
mentions, faceted search, moderation controls, polls, and emoji.” Speaking on
behalf of the Asciidoctor and Antora projects, Dan wholeheartedly recommends
that other communities give it a try. “Many communities have been strained to
the limits during the pandemic,” says Dan. “Zulip brings health back to these
communities.”
---
Check out our guide on using Zulip for [open source](/for/open-source), and
learn how Zulip [helps communities scale](/for/communities)!

View File

@ -13,4 +13,5 @@
* [Technical University of Munich](/case-studies/tum/)
* [University of California San Diego](/case-studies/ucsd/)
* [Lean theorem prover community](/case-studies/lean/)
* [Asciidoctor open-source community](/case-studies/asciidoctor/)
* [Rust language community](/case-studies/rust/)

View File

@ -80,6 +80,9 @@
<li>
<a href="/case-studies/lean/">Lean theorem prover community</a>
</li>
<li>
<a href="/case-studies/asciidoctor/">Asciidoctor open-source community</a>
</li>
<li>
<a href="/case-studies/rust/">Rust language community</a>
</li>

View File

@ -165,6 +165,7 @@ class DocPageTest(ZulipTestCase):
self._test("/case-studies/rust/", "Rust programming language")
self._test("/case-studies/lean/", "Lean theorem prover")
self._test("/case-studies/idrift/", "Case study: iDrift AS")
self._test("/case-studies/asciidoctor/", "Case study: Asciidoctor")
self._test("/for/research/", "for research")
self._test("/for/business/", "Communication efficiency represents")
self._test("/for/communities/", "Zulip for communities")

View File

@ -632,6 +632,11 @@ i18n_urls = [
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
path(
"case-studies/asciidoctor/",
landing_view,
{"template_name": "zerver/asciidoctor-case-study.html"},
),
path(
"for/communities/",
landing_view,