Zulip: sustainable open source software done right!

Here's a summary:

  • Tim Abbott is the founder of Zulip, an open-source team chat app.

  • Zulip was originally acquired by Dropbox in 2014 but later released as open source.

  • Tim convinced Dropbox leadership to open-source Zulip so that it could continue helping users. Dropbox donated the Zulip trademark and IP to the open-source project.

  • Zulip's goal is to create the best way to communicate, not just be a Slack knockoff. They focus on interaction design and performance.

  • Zulip is not using XMPP. Tim wants to create a great experience first before adding federation.

  • Tim welcomes feedback and criticism from the open-source community. While some criticize Zulip for not using existing protocols like XMPP or IRC, Tim appreciates the opportunity to improve based on thoughtful arguments.

  • Zulip incorporates some aspects of IRC to recognize its community value but aims to build the best overall experience. Federation and open standards are goals but experience comes first.

    Here are some key points from that part of the discussion:

    • Making a great open-source product is very hard work. It requires a major time investment to build and polish an app, especially with mobile clients.

    • There are diseconomies of scale - large teams and organizations face more communication overhead and bureaucracy. Small, focused teams often make the best products.

    • There are a few business models for open-source apps:

  1. SaaS model - Offer a hosted cloud service for a monthly fee. This is good for organizations that don't want to self-host. Zulip's SaaS pricing is very affordable compared to the value organizations get.

  2. Self-hosting - Make it easy for organizations to install and run the software themselves. Zulip focuses on documentation and support to make self-hosting work well.

  3. Payments from self-hosting organizations - Even if organizations self-host, Zulip hopes they will pay for the value they receive. The work required to build and maintain the software is the same either way.

  • Futo wants to see more open-source developers build great end-user apps and find ways to make money from them, rather than letting big tech companies profit from open-source work.

  • Zulip aims to set an example of a successful open-source company with an app that feels like an open community project. They want open-source contributors to feel their work matters.

  • There is value in polishing the "last mile" - building a delightful interface for end users on top of open-source infrastructure and components. This is where big companies currently have an advantage.

  • Zulip focuses on keeping maintenance and support costs low so they can scale to more users with a small team. They aim to improve the product to reduce future support questions.

Topics are labeled threads that organize all conversations in Zulip. They solve the inefficiency of time-sorted messaging in most chat apps.

  • Topics work like email subjects. They provide context for the conversation and allow replies to be threaded together. This makes conversations much easier to read and follow.

  • Topics reduce distraction and make it easier to avoid losing messages or needing constant notifications. They allow for more productive, focused work.

  • Topics enable linking to and searching for specific conversations. The full context is preserved, unlike in time-sorted chats.

  • Topics take some adjustment but most organizations find them very useful within a week. The benefits to productivity and context are substantial.

  • A common issue is accidentally typing a message into the topic field, since tapping "New message" jumps to the topic by default. This is an easy fix that could reduce frustration for some.

  • Topics have been controversial for some in Lewis's organization, but the benefits seem to outweigh the downsides for most. Some minor tweaks could address the biggest pain points.

  • Topics seem ideally suited for teams of at least 20 or more, where keeping conversations organized and avoiding duplication becomes more important. For very small teams, time-sorted chat may work fine.

  • Overall, topics are one of the most innovative and useful features of Zulip. They enable a new level of productive communication and organization. The benefits to context and efficiency are huge.

    • Zulip gets feedback that topics can be frustrating, but they aim to address issues with onboarding and interaction design rather than removing topics altogether. Topics provide too much value when used properly.

    • Minor tweaks, like avoiding leading users to the interleaved message view by default in mobile, could help. Showing recent topic options in a dropdown when starting a new message could also help.

    • Onboarding and effectively teaching users how the product works is one of the hardest problems. Even "simple" products like Slack can be difficult to learn. Zulip is constantly improving onboarding to increase the number of people who understand topics quickly.

    • Comparing Zulip to other chat apps is inevitable, but feedback based on those comparisons isn't always helpful. Zulip needs to focus on addressing real issues rather than trying to mimic less productive designs.

    • Topics are inarguably better than alternatives like Slack once an organization learns to use them. But learning to use them effectively is key.

    • Zulip is interested in attending Futo's event to connect with other programmers and discuss these types of issues.

    • Overall, this discussion provided a lot of insight into Zulip's thoughtful approach to product design and addressing user feedback constructively. They aim to build the most productive solution rather than just copying competitors or reacting to all feedback. Continuous improvement of onboarding and the experience is key to helping more users realize the benefits of Zulip's innovative topic-based approach.

Did you find this article valuable?

Support Matheus Puppe Blog by becoming a sponsor. Any amount is appreciated!