During the past few months, I ran an undergraduate computer science research program at my university, and I chose to use Zulip to organize our communication (between 25 people). I wanted to use Zulip because it was open-source and, like you, I was a fan of the threads model. Unfortunately, the participants reported that the notifications were unreliable, the mobile app was janky, and the threads were confusing.
Keep in mind that these weren't average software users but rather CS majors filtered through an application process – even for them, threads took a while to get used to. I concluded that Zulip would work well if every team member was on board with (and understood) the threads model, but a team that doesn't care would prefer Discord or Slack.
That's a shame. Unreliable notifications is a very strong poison. Undeniability of reciept/solving the byzantine generals problem is like, fundamental to all coordination problems.
Interesting and good to hear, as I was thinking of using it for a class too (also surprised; I don't remember the slightest hint of counter-intuitiveness when I personally used Zulip with its threads).
Zulip has a tiny change: you have to make a conversation have a point up front by giving it a thread title. random convos can happen in the ‘random’ thread, so it includes the previous model.
That's not a tiny change. That's a huge change. That's the difference between an e-mail listserv and IRC (or a PHPBB forum and IRC). It seems like what you're saying is that you prefer topic-based threaded conversations to the free-form "chat" model. That's totally valid! However the mere act of requiring a topic, in my experience, totally changes the way people approach and interact with the software, and, as a result, changes the nature of discussions that take place. Personally, I think it's a positive change, but lots of people disagree.
For those who care, it's open source and you can host your own server from a docker image. (In addition to the normal "just click buttons on our website and pay us some money to host a server for you" option)
Discord does have allow you to make named threads that branch off of a channel, and later archive them. It's not the default mode of conversation on Discord but it is available if you care to use it. Also, I am confused what you mean by "threads are made after the fact" on Discord.
This page also provides a neat summary of Zulip advantages; mostly in the similar direction as here: https://stackshare.io/stackups/slack-vs-zulip
Discord recently introduced forum channels that closely approximate Zulip thread functionality, with a much more intuitive UI than Zulip.
My two main gripes with Discord are the default dark theme, and the lack of embedded links.
Slack and Discord are skins over the same thing. A bunch of conversations happening at the same time. Threads are made after the fact, and many conversations are braided together, so you have to untangle them.
Zulip has a tiny change: you have to make a conversation have a point up front by giving it a thread title. Random convos can happen in the 'random' thread, so it includes the previous model.
This is so much nicer. Conversations are untangled and it becomes way easier to go through messages quickly. Conversations also end, instead of just petering out before oozing into another one. Threads introduce cutoff points.
Zulip mobile app is meh though.