Zulip: "IRC-style" / no-topic mode for Zulip

Created on 11 Apr 2016  路  5Comments  路  Source: zulip/zulip

There are tons of people out there looking for a good, robust, open-source alternative to Hipchat, Slack, etc., that they can run on-premise, and Zulip could totally fit the bill... but some percentage of these users are turned off by Zulip's "streams and topics" model. If we can (optionally) simplify this, I think it could make the offering fairly compelling to users who would not otherwise use Zulip today. (Which would be good for them and good for the project, since it'd get us more users and a larger community invested in improving it.)

v0.1 of this might just be a simple mode that individual users could optionally toggle (or the administrator could set for the whole realm), where e.g. you:

  • Wouldn't display (no topic)
  • Change the compose box to not offer a topic by default

v0.15 is probably figuring out what to do with this on mobile, if anything

v0.2 is maybe

  • Enable auto-scroll-to-bottom
  • Do a facebook-style or slack-style "Hey, 23 older messages since you were last here, click here to jump to to them" notification when you toggle into the stream

Admittedly, this is a pretty meaty UX issue, because you need to figure out how to do it without wrecking the value of subjects for people that use them (or you could decide that this needs to happen at the whole realm-level, which maybe simplifies matters.)

Regardless, this is a change that definitely needs more thought than I've articulated here (and the next step is probably for someone to mock up what it should look like, not to start changing code).

message view new feature

Most helpful comment

Hi all, I am one of the "most active community members constantly complaining about [Zulip]". My background is that I have been chatting with various communities on IRC for 13+ years, and I am now also forced to use Slack for work. I like using Slack, but I would prefer an Open Source alternative for my favorite Open Source software communities :)

My problems with Zulip are exactly as described in this issue. These problems have prevented me from using chat hardly at all since we switched over from Gitter to Zulip.

Don't get me wrong, I get that the way Zulip does things has value. The people who use it a lot have adapted to doing things "the Zulip way" and really love it. (This is why we chose to adopt it over Gitter.)

But as someone who doesn't have a whole lot of time, I don't like being forced to think this hard about where I'm supposed to type my message.

I find it terribly frustrating to open Zulip and not be somewhere that I can just type. (I first need to scroll past 300 messages that are irrelevant to why I am here, then click on something, then select or change a stream and/or topic.) I don't want to click on ANYTHING. I just want to use my keyboard shortcuts to open the app, type my thought, and hit enter.

I'm also concerned that people who are new to our community will be turned off by Zulip, and may never join our chat. IRC turned people off because it was impossible to install a client, but at least once you got people into the room they would talk to each other. With Zulip I'm worried imposter syndrome will stop people from talking because they don't know where to do it.

I, for one, would love a no-topic mode, and an auto-scroll-to-bottom. These options would make curmudgeons like me happy, and I also think it would be an advantage for newcomers.

All 5 comments

An always open text entry box with the last Stream/topic used would be an ideal implementation to this I think, would give a more chat feel to the stream concept.
Also, a shortcut to change the stream or topic on the fly would help heavy chatters such as IRC users feel more at home.

Backdrop CMS has recently changed from Gitter to Zulip. Although most of the community has adapted to the change, we do have a few of our most active community members constantly complaining about this, and wishing that there was a way to "just chat" in Zulip.

They have expressed the opinion that they see the current way of having to choose a stream/topic as being a trow-off for people new to the way Zulip works. They said that they wish there was some way to have a "default" catch-all topic (which is not an actual topic) ...people could simply jump on a stream -> type anything they want -> if their message matches an existing topic, or if it worth a separate discussion, then admins/moderators can switch that to a topic.

Perhaps this can be implemented in a way that the above behavior happens when the person has clicked on a stream, but has not clicked on any specific topic:

  • Typing a message without clicking on any specific topic would make it a "topic-less"/orphan message; and perhaps there could be a setting to make this the default behavior for the entire realm (have I used this "realm" term correctly?).
  • Clicking on a stream would take people to this stream of topic-less comments (the "IRC mode").
  • A "show all stream messages" checkbox somewhere at the top would toggle viewing only topic-less messages vs viewing everything (current behavior).
  • There'd be a "create topic from this message" action.
  • When creating a topic off of a topic-less message, as the user is typing a topic, there would be auto-completed suggestions of existing topics. If a user choses an existing topic, the label of the action would change to "move this message to existing topic".

Thoughts?

Hi all, I am one of the "most active community members constantly complaining about [Zulip]". My background is that I have been chatting with various communities on IRC for 13+ years, and I am now also forced to use Slack for work. I like using Slack, but I would prefer an Open Source alternative for my favorite Open Source software communities :)

My problems with Zulip are exactly as described in this issue. These problems have prevented me from using chat hardly at all since we switched over from Gitter to Zulip.

Don't get me wrong, I get that the way Zulip does things has value. The people who use it a lot have adapted to doing things "the Zulip way" and really love it. (This is why we chose to adopt it over Gitter.)

But as someone who doesn't have a whole lot of time, I don't like being forced to think this hard about where I'm supposed to type my message.

I find it terribly frustrating to open Zulip and not be somewhere that I can just type. (I first need to scroll past 300 messages that are irrelevant to why I am here, then click on something, then select or change a stream and/or topic.) I don't want to click on ANYTHING. I just want to use my keyboard shortcuts to open the app, type my thought, and hit enter.

I'm also concerned that people who are new to our community will be turned off by Zulip, and may never join our chat. IRC turned people off because it was impossible to install a client, but at least once you got people into the room they would talk to each other. With Zulip I'm worried imposter syndrome will stop people from talking because they don't know where to do it.

I, for one, would love a no-topic mode, and an auto-scroll-to-bottom. These options would make curmudgeons like me happy, and I also think it would be an advantage for newcomers.

Thanks for the thoughtful feedback, folks! A few thoughts (not necessarily fully thought through; it's the middle of the night right now):

  • We have a "no topic" feature implementing part of what you describe already -- if you hit c when looking at a stream, it'll open the compose box with the topic field blank. If you don't want to enter a topic, you can hit tab to skip the topic box, type a message, and send, and the message will be displayed as sent to "(no topic)". Any user in the organization can edit the topic of a message sent to "(no topic)" later to fill it in. We could probably make this more visually appealing.
  • There's also the social convention approach of encouraging folks who are feeling unsure to just post to a fixed stream/topic pair, say "general > misc". You can even bookmark it in your browser and navigate directly there.
  • One thing I wonder about is whether your organization is using topics in a prescriptive fashion, with a lot of focus on topic reuse, vs. just encouraging folks to just pick a word or two that reflect what they're talking about.
  • One tradeoff for us in investing engineering effort into making the "no topics" experience "nicer" is that there's a real usability tradeoff here. Zulip's user experience is optimized to make the reading experience efficient, because a message is sent once but viewed/read N times, potentially with N>100. So to some extent it's desirable for the product to encourage folks to use topics, to encourage them to figure out how to do it, because a few users steadfastly not using topics does make the reading user experience significantly worse for all of the other member sof the community.
  • A convention we've found really useful for the "impostor syndrome" issue is the advice we have in our contributing documentation to just post to #new members with your name as the topic as a place to introduce yourself and get welcomed to the community. I would argue that IRC-type systems, where one might feel one has to "interrupt" an ongoing conversation to introduce oneself, is actually scarier than something like Zulip, where you can send to your own new topic.
  • Specifically for this thought:
    > (I first need to scroll past 300 messages that are irrelevant to why I am here, then click on something, then select or change a stream and/or topic

There's a few keyboard shortcut sequences that might make your life a lot better:

  • Rather than scrolling through the history, you can use end to jump to the end if you never want to see them.
  • Or you can skim them topic-by-topic using n and end to see if there's anything you want to read or reply to.
  • To start a new thread, click on the stream (or navigating via /streamname`),
  • Or hit c right after loading the app, type the stream/topic, sending, and then using ctrl+. to jump to the new topic you just created.

Thanks again for the feedback, and I'd be curious to hear your thoughts on these ideas. One thing I've already gotten out of this discussion is that we should really have a page "Zulip keyboard workflows" that describes things like what I just wrote; our keyboard shortcut documentation just has what the keys are, not the workflows we recommend doing with them.

We have a "no topic" feature

We found this feature recently, and have enabled it. It makes things a lot better for those of us who are already using Zulip, but doesn't help with the "where should I put my message?" paralyzation that happens for new users. "No topic" just becomes another option in the list...

There's also the social convention approach

The problem with this is that you first need to 1) know these people exist, then then 2) explicitly tell them what to do. In our implementation, we ended up adding a bot that would greet people when they first joined, and show them a 3-minute video on "how to use Zulip". It should not take a 3-minute video to learn how to chat :(

One thing I wonder about is whether your organization is using topics in a prescriptive fashion...

If you're not using topics "prescriptive fashion" then what's the point? I'd rather not have them at all if they don't mean anything and don't add any value... hence why I'm in this issue, I suppose :)

Zulip's user experience is optimized to make the reading experience efficient, because a message is sent once but viewed/read N times

This is why we chose Zulip: people who do read every message love the organization of everything!

So to some extent it's desirable for the product to encourage folks to use topics, to encourage them to figure out how to do it

This assumes that people are significantly motivated to learn how to use a different kind of chat tool. If this chat is something they use only once a month (or less) to ask a quick question, that motivation isn't there.

because a few users steadfastly not using topics does make the reading user experience significantly worse for all of the other members of the community.

This kind of thinking does tend to significantly favor the experience of the expert Zulippers over that of newcomers. In our community the point of chat is primarily for community building. Though talking to each other is nice, if the experience for new people is too overwhelming and we drive them away, we're not growing.

with IRC, my experience was that when I first started chatting I was only in a single channel with a ton of people and a lot of noise. As I got more experienced, I learned that the people that were in that main channel were also in other channels with fewer people, where they could have more focused discussions.

I feel like Zulip could have that same progressive experience (but better!) if it only added that first crowded, noisy room.

A convention we've found really useful for the "impostor syndrome" issue is the advice we have in our contributing documentation to just post to #new members with your name as the topic as a place to introduce yourself and get welcomed to the community.

Interesting. We should try this!

I would argue that IRC-type systems, where one might feel one has to "interrupt" an ongoing conversation to introduce oneself, is actually scarier...

this is a good point... at least in Zulip there are threads, so it wouldn't be as much like interrupting as it was in IRC.

There's a few keyboard shortcut sequences...

Keyboard shortcuts are great, but again, they are tool that only benefits the expert Zulippers or people who are going to be in there all the time. It won't help the people who need the help the most: the noobs! These people are not motivated (yet) to learn another unique set of keyboard shortcuts.

Was this page helpful?
0 / 5 - 0 ratings