Zulip

See also

Instructors, see the relocated instructor page at Zulip for instructors.

Zulip is a open-source chat platform, which CS hosts at Aalto as a pilot. It is used as a chat platform for some courses, and allows better student and chat privacy.

The primary distinguishing feature of Zulip is topics, which allows one to make order out of a huge number of messages. By using topics, you can narrow to a certain thread of conversation while not losing sight of the overall flow of messages.

Basics

Streams and Topics

In Zulip, discussions are orginized in streams, which are further divided into topics.

Views

The left sidebar let’s you narrow down messages that are displayed, you can select:

  • All messages, to see everything that is being posted efficiently.

  • Recent topics, to see which topics have new information.

  • Different streams and topics, to narrow down to a specific stream or topic.

Recent topics is good to manage a flood of information (see what’s new, click on relevant stuff, ignore all the rest). All messages is better when you are caught up and want to make sure you don’t miss anything. Viewing single topics and streams is good for catching up on something you don’t remember.

Of course, everyone has their own ways and workflows so you should experiment what works best and which views are useful for you.

Message Pane

In the middle of your screen, you have the Message Pane, where the messages are shown.

../../_images/zulip-topics.png

Message Pane. This is the basic view of messages. You can click on various places to narrow your view to one conversation or reply.

Selecting visible topics

Not all streams are visible in the sidebar by default.

Click the gear icon above the channel list in order to see all available streams and select which ones you want to participate in. It is good to occasionally look at this menu in case new streams are added.

../../_images/zulip-recenttopics.png

Recent topics, another view of recent activity that shows activity per-topic.

Hints on using Zulip efficiently

How to ask a question

Seems obvious, doesn’t it? You can get the best and fastest answers by helping to keep things organized. These recommendations are mainly for Q&A-forum type chats.

  • First, search history to see if it has already been asked.

    • If so, click on the topic name. You will narrow your view to see that entire conversation.

  • If your question isn’t answered yet, but is a follow up to an existing topic, click on a message in that topic. Then, when you ask, it will go to that same topic as a follow-up, and anyone else can narrow to see the whole history.

    ../../_images/zulip-reply.png

    Replying to an existing topic.

    • Unlike other chats, your message will not get lost, and people will both see that it is new and can see the history of that thread.

    • Your course can say what the threshold for “new topic” is. Maybe they would have one topic per question pre-created or something clever like that.

  • If you don’t find anything relevant to follow up on, make a new topic.

    ../../_images/zulip-new.png

    Making a new topic.

    • Select the stream you want to post to (whatever fits best).

    • Click “New topic”.

    • Enter the topic name down below: a few words, like an email subject. For example, week 1 question 3, integrals of complex functions, exam preparation.

    • Enter your message and send.

Others (or you…) can split or join topics if they want by going to “edit message”, so there is no risk of doing something wrong. Don’t worry, just ask!

By being organized, you can get both the benefits of quick chat with the organization of not missing anything.

Other hints

  • You can format your messages using Zulip markdown.

  • “Mute a stream” (or topic) is useful when you want to stay subscribed but not be notified of messages by default. You can still find it if you click through the sidebar.

  • You can also request notifications for everything in a certain stream. This could be good for announcement streams, or your particular projects.

  • The desktop and mobile apps can support multiple organizations. At least on mobile apps, switching is kind of annoying.

Apps

There are reasonable applications for most desktop and mobile operating systems. These don’t send your data to any other services.

The mobile applications work, but may not be the best for following a large number of courses simultaneously. We can’t currently make improvements in them.

Open issues

We are aware of the following open issues:

  • It is annoying to have one chat instance per course (but it seems to be standard in chats these days).

  • There are no mobile Push notifications (since Aalto Security won’t let us turn them on).

  • Likewise with built-in video calls (via https://meet.jit.si or Zoom).

  • Various user interface things. But Zulip is open-source, so feel free to contribute to the project…