Zulip provides chat for distributed teams.
Here is a screenshot of the Zulip client in use (source):
Zulip is one tool out of a number of chat applications that have become available in the recent past. They probably derive in some form from IRC, the Internet Relay Chat. These newer versions include Slack, Rocketchat, Mattermost and Zulip. They share features that people are used to from WhatsApp, Signal, Facebook messenger, Twitter, etc such as persistence of messages, access through a web browser, ability to include images in messages, and availability of clients for web browsers, mobile devices (iOS and Android) and major operating systems (Linux, OSX, Windows).
While initially use of these tools was predominant (I think) in technical teams, maybe particularly so in software development, increasingly they are used as team communication tools that are useful independent of the type of business or organisation in which they are used. The user interfaces have improved and reduce the barrier towards uptake of chat tools.
Common communication forms in organisations include written documents that are send to each other (such as email) and meetings/discussions/video sessions. The former is an asynchronous operation (i.e. we can send an email, get on with other tasks, and will receive a reply when the received of the email had time to process our email and send a reply). The latter is a synchronous setup: all parties are available (and blocked during the meeting) and will provide an answer to questions immediately.
Chat based communication provides an intermediate method: instant replies are possible (making this closer to a meeting), but not necessary (allowing the flexibility we know from working with email).
Chat tools can thus be used to send enquiries where a second question may depend on the answer to the first one - a setting for email is not ideal: using email would result in many emails being pinged backward and forward. Another use case for chat tools is to informally brainstorm a topic: contributions via chat are invited, but it is not necessary to call a meeting. Or just to enable some somewhat spontaneous social interaction.
Remote teams enjoy the benefits of chat tools: they have not got the freedom to walk into the office next door to discuss something, or to check if the person next door is busy. A chat tool can help with establish the situation (a status can often be set, or it can be seen if a person is online), or help substitute the in-person-discussion directly.
During COVID19, many people work remote from home, and meetings are (for good reason) discouraged, so that many more people are now in this situation.
In particular during lockdown periods, a team or organisation chat tool can replace some of the social banter that would otherwise take place over lunch or coffee in the office.
I had the pleasure of testing a number of chat software tools with a team of over 10 members who had years of experience working with Slack. During the COVID19 lockdown in 2020, we tried Mattermost, Rocketchat, Slack, Zulip and the chatting functionality of Zoom to see which chat tool we would like best. We tried each application for one week, exchanging about 1000 messages in that time.
Zulip emerged as the favourite of the team. Here is a short summary why:
The main reason in favour of Zulip is that it introduces the idea of topics that are associated with each message. This is comparable to the subject line in an email. Through the topics (which can be created and changed easily, also retrospectively), discussions are arranged in topics and can thus be re-visited or searched more easily. This really makes a big difference in terms of productivity: the discussions are not just replacing a phone call, but also archive ideas, facts, opinions and solutions to problems. Multiple topics can be discussed simultaneously without the messages mixing in the same stream because they are ordered in topics.
See Streams and topics from the Zulip documentation.
Zulip is open source: one can either self-host an instance, or pay for a cloud-hosted instance.
The Zulip client can be controlled through the keyboard (i.e. mouse use is optional).
LaTeX can be used in the messages.