Zulip is an open-source chat platform suitable for group discussions that offers LaTeX support and collaborative features that can be useful in teaching. Features like private streams, user groups and the option to mark topics as resolved, for instance, can be used to enable Q&A and groupwork activities.
The primary distinguishing feature of Zulip is topics, which allows 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.
Zulip chat instances are created for fixed amounts of time (e.g. one course duration). Confidential matters should not be discussed on the platform.
Zulip's own tutorials and guides
This chat is for testing only. Use the Aalto login
Instructions on how to get started using Zulip as a chat participant. Suitable to share with students too.
Start using Zulip in a nutshell
1 Request a Zulip
- Request form here
2 Configure at least the following settings:
- Organization permissions & Authentication methods, to determine whether you will use "Invitations only" or "Aalto login" as the method to join the chat
3 Create your initial streams
4 Send your Zulip chat link and instructions on how to use the chat in your specific course, along with Zulip for participants tutorial, to the chat participants.
The instructions below are for chat owners. The chat owner role is assigned to the person who has requested a Zulip chat instance. At the moment, only Aalto staff members and teaching staff can request Zulip instances. There are also directions on how to use Zulip from a chat member perspective, which is an useful guide for students and anyone who is new to Zulip.
The chat instances are available at
<chat-name>.zulip.aalto.fi. Login to the chats is available with Aalto accounts. Email registration for external users is also possible via invitations. After logging in for the first time with an Aalto account, if no matching Zulip account was found, you are prompted to “Register” and create one. Once the Zulip account has been created, it should be linked to your Aalto credentials.
Have a look around and try out Zulip's features on Aalto Zulip's test chat.
Zulip's main view with streams, topics and message pane
1. Request a Zulip for your course
You can request a Zulip chat instance at https://zulip.aalto.fi/requests/ . Only teachers and staff members are able to request and act as owners in Zulip chats at the moment. Note that the chat instances will be removed after the course has ended, but the chat owner might request an extension if necessary.
If you encounter any issues, please report them to MyTeaching Support. You can also provide feedback, make requests and suggestions using the same email address.
You can test out Zulip at testrealm.zulip.aalto.fi. Use your Aalto login and keep in mind that this chat is for testing only.
1.1. After you have received the chat instance
Within few days of requesting an instance, you should have gotten details for your chat instance by email. After this you
Will be able to login to the chat instance <chat-instance>.zulip.aalto.fi with your Aalto account.
Should already have the owner role assigned.
Will be able to configure the chat instance from (gear icon (⚙️) in the top-right corner) -> Manage organization.
Please carefully read the Configuration sections 1.1.1, 1.1.2 and 1.1.3 before making changes.
Will be able to appoint more admins/owners (e.g. TAs). To do that,
Ask them to login first;
Change their role from Manage organization -> Users.
Below are listed the most important settings found under Manage organization in Zulip. Note that it is your responsibility as a chat owner or admin to make sure they are set correctly. Make sure any owners/admins you appoint are aware of these as well.
1.1.1. Organization settings / Video chat provider
By default, it is set to
The default provider (Jitsi) has not been evaluated or approved by Aalto
Integration with Aalto Zoom may come later on.
1.1.2. Organization settings / Mobile notifications
Zulip offers both mobile and desktop apps. Starting from May 2023, Aalto Zulip allows mobile app notifications. The default setting is disabled.
Chat owners can enable notifications for all new members of a Zulip realm as a default, however this is not recommended. It's advisable that each chat member should enable notifications from the personal settings on their own account. Notifications are enabled separately for each chat realm. In a course, the teacher can recommend that the students should enable mobile notifications, if it is important that messages will be seen in real-time.
Detailed instructions on how to enable mobile notifications can be found in the Participating in a Zulip chat guide.
1.1.3. Organization permissions / Invitation settings
Do not set both “Organizational Permissions→Invitations = not required” and “Authentication methods→Email = enabled” at the same time.
You can enable signing up by Aalto account or any email address. Anyone from Aalto can be allowed to sign up OR you can make it invitation only. Unfortunately, you cannot combine settings to have an "anyone with an Aalto account may signup without invitation, but by email you must be invited” rule, due to a Zulip limitation. If the chat needs to include external users, you should make it invite only.
If you are only allowing Aalto Login (see ‘Authentication methods’): The invitations requirement can be set to
No,i.e. the box can be left unticked (But still, anyone with Aalto account can join)
If you are allowing external users/email registration (see ‘Authentication methods’): Set "Invitations are required(...) to
Yes and only admins can send invitations. (You can invite people via their Aalto email address for Aalto login)
1.1.4. Frequently used settings
|Organization permissions / Who can access user email addresses|
|Organization permissions / Who can add bots|
2. Practical hints for instance owners
Zulip is a chat platform where the way the conversation is organized makes a difference. Here is a collection of suggestions collected from teachers who have been using Zulip during the pilot phase.
Topics (i.e. the subject for a message thread) is the key feature of Zulip and its point is to keep a large amount of information organized by themes. If you don’t want to use Topics or it doesn’t match your flow, you might want to evaluate whether there is another chat platform that suits your needs better.
Read about the basics of Zulip to see the importance of topics. The guide also describes the three ways to use Zulip, and how we typically manage the flood of information in practice.
Give those guidelines to your students, as it is important that they understand how the chat is structured and how they can reply to topics and nagivate streams.
Consider why you want a course chat.
Do you want a way to chat and ask questions/discuss in a lower-threshold platform than forum posts? Then this could be good.
Do you want a Q&A forum or an announcements board? Then this may work, but MyCourses also has good options for this.
Do you want a place for students groups to be able to chat among small groups? Zulip allows the creation of user groups and of private streams that can be used for this purpose, but MyCourses and Zoom might also be good alternatives.
Create your channels (“streams”) before your students join, and make the important ones default streams, so that everyone will be subscribed. This can be done under “Manage organization”.
If you create a new default stream later, use the “clone subscribers” option to clone from another default stream, so that everyone will be subscribed.
Some common streams you might want are
#questions. Some people have one stream per homework, exam, theme, and/or task.
The main point of streams is to be able to independently filter, mute, and subscribe to notifications. For example, it might be useful to view all questions about one homework in order, or request email notifications from the
- You can create user groups (teams) with a certain name. The group can be
@-mentioned together, or added to a stream.
- Create user groups clicking the gear icon in the upper right corner of the screen > Manage Organization > User groups.
- If you want a Q&A forum, make a stream called
#questions, or smaller streams for specific topics, and direct students there.
You can click the check mark by a topic to mark it as resolved.
Remind students to make a new topic for each new question. This enables good follow-up via “Recent topics”.
If students don’t make a new topic or a topic goes off-track, edit the message and change the topic (change topic for “this message and all later messages”). This way, you keep questions organized, findable, and trackable.
If you don’t want to be answering questions in private message, make a clear policy on either reposting the questions publicly yourself (without identification), or directing the students to repost in the public stream themselves.
If you want to limit students's permissions on the chat instance, you can consider disabling:
Adding streams, adding others to streams (if you want people to only ask and not make their own groups).
Disable private messages (if you really don’t want personal requests for help).
Adding bots, adding custom emojis.
Seeing email addresses.
- You can use the
/poll [TITLE]command to make lightweight non-anonymous polls.
Yes, you should never be doing that manually. See "Creating channels, aka streams" for cloning membership of a stream from another.
Well, you don’t have to when replying. And this is sort of a natural trade-off needed to keep things organized and searchable: you have to think before you send. Most people consider this a worthy trade-off. Note that you can change the topic of messages after the fact, just talk and organize later as needed.