Zulip shortcomings


#1

There have been discussions recently (on Zulip and Discord) the shortcomings on Zulip in terms of usability and interface. Most of the issues are quite small individually, but together they make for a less pleasant experience than alternatives (such as Discord), even though the core idea is very appealing.

We thought it would be a good idea to have a central place to record our frustrations, to aid us when considering where various teams decide to communicate. One big boon with Zulip is that we can fix things that annoy us, which might be sufficient to persuade more stakeholders that Zulip is the right choice. (Whereas conversely, it seems exceedingly unlikely that any other chat platform is going to add threading, which is really useful for the kinds of frequent, branching discussions that take place.)

If you’ve tried Zulip (if not, you can try it out here) and have some misgivings, let’s share them here and hopefully get a better picture of what the core problems are and how approachable they are.


#2

I’ll start: this will be a specific list of the things in the web app that have irked me.

Interface

  • There’s too much wasted space in general. I’d rather have most of the space dedicated to messages.
    • The margins at the sides are too large.
    • The users panel on the right is useless most of the time. It should be collapsible.
    • Likewise for the permanent search bar at the top. This could just be a button somewhere.
  • The colour schemes are both unpleasant.
  • Within a single thread, I don’t need to be reminded of the thread for each new day. It’s already displayed at the top.

Usability

  • The blue box is annoying. Most of the time, I’m just going to be replying to the thread I’m currently participating in — I’m not going to be replying to a particular message. The focus should be on threads unless I’m specifically quoting, etc.
    • Instead of having a “Reply” button at the bottom, we could just have reply inline on a message (if we’re resorting to the mouse already). Same for all the other buttons, for that matter: there are other places that would be more logical and free up more space for the messages.
  • Most of the time, I’m not going to change the stream or topic in a message: I just want to reply. That advanced reply interface can be hidden unless I want to change something (which can be done with a key command) and replaced with a single input field.
  • Streams are not discoverable.
    • If there aren’t very many streams, they should just always be displayed.
    • Streams can either be subscribed to, not subscribed to but visible (under a horizontal separator) or hidden. I have no idea what makes certain streams special: it doesn’t seem to be explained anywhere.
  • If I’ve muted streams, I don’t want to know how many messages I haven’t read. They’re muted for a reason.
  • Zulip doesn’t seem to consistently scroll the chat when new messages are appearing, meaning I have to scroll manually.

#3

+1, the useful text is like 50-60% of the screep width, compared to ~80% for Discord.

This is true as well, the dark theme is so contrast it hurts eyes. Discord is nicer in this aspect.


Other things from the list I either didn’t notice or they didn’t bother me so far.

EDIT: I’m talking about web interface on desktop, not about the application or mobile.


#4

This is a great list. None of these things have bothered me personally but (surprise, surprise) I’m very eager to see us use Zulip more so it’d be good to see these fixed.

cc @rishig from Zulip


#5

In fact, let me add some to the list:

  • On the mobile app, it would be great to be able to scroll to the most recent message. Currently the little blue arrow acts as a sort of page down button which is almost never what I’m looking for.
  • It would be good to allow unregistered users to read and browse the server. Even if they can’t join in without registering. When Zulip conversations are linked from GitHub, it’d be great for those following along to be able to keep up without needing an account.

#6

Re: right-sidebar : I agree that the right sidebar takes too much space and kinda less useful. We have an open issue for this to make it smart (i.e. only show users you have previously talked to/ list of users per stream etc) - https://github.com/zulip/zulip/issues/10513

From this, do you mean the colour schemes of the whole app?


#7

Thanks for this list, and for calling it to our attention!

Margins at the sides are too large Users panel is useless

The solution I’ve been imagining here is an option to move the users list to the left, under streams. What is your screen resolution?

Search bar at the top

We’re planning to replace this with other information (stream name and description). Will still take up space, but hopefully will feel like a more useful use of the space.

Colour schemes

This is tough :). If someone from the rust community wanted to help tweak this, we’d welcome the input.

Within a single thread, I don’t need to be reminded of the thread for each new day. It’s already displayed at the top.

Agreed; this is on our list to change.

blue box

haha, we’ve gone through at least 5 iterations of this. I think everyone agrees it could be better, but it’s been surprisingly hard to get it right. We hadn’t thought about using a different box though depending on whether you’re in a thread view or interleaved view.

The other purpose of the blue box is it helps you determine what has and hasn’t been read.

Reply button

You can also click on any message to reply. The issue with not having the buttons at the bottom is that new users would never figure out how to Reply.

Hide the advanced reply interface

Interesting idea; I hadn’t thought of that. That does seem like it could simplify the experience.

Streams are not discoverable.

You can auto-subscribe new users to a stream via Default Streams (Gear menu -> Manage organization -> Default streams).

unread counts for muted streams

Yeah, reasonable. This one is also tough; I feel like it can go both ways.

Scrolling

The idea here is that we never automatically mark things as read, that you haven’t read. It’s a bit subtle, but you can see what we’ve marked as read via a thick line to the left of an unread message.

On the mobile app, it would be great to be able to scroll to the most recent message.

agreed.

It would be good to allow unregistered users to read and browse the server.

Definitely! This is a big feature, but the top “hard” feature on my list.


#8

Unrelated to the current discussion, but I know moderation has come up in the past, so I put together a quick guide to our current and roadmapped moderation tools: https://rust-lang.zulipchat.com/help/moderating-open-organizations.


#9

I wish there was a button that would mark all messages are read at once (Slack has that feature where you can hit Shift + Esc) and it will mark all unread messages across the workspace as read.

Yeah I can go to all messages and select “mark all as read” but a shortcut would be really helpful :slight_smile:


#10

Another possible enhancement:

  • Having message quotes say who was quoted and link back to that message. There’s another service that does this well but I can’t think which at the moment.

#11

Well, Discourse does it well! I don’t know any chat services that handle quotes this way, though, just message boards.


#12

I wish there was a button that would mark all messages are read at once

The intention is for Esc followed by End to do this on Zulip, though I think it doesn’t yet.

Having message quotes say who was quoted and link back to that message.

Interesting idea! I see how internals does it, and the syntax at least would be pretty straightforward.


#13

Yes (though I realise this is quite subjective).

I was planning to play around with a colour scheme later (I know it’s not an easy task). I’ll let you know if I manage to make something I like :slight_smile:

I think this solution would work for me :+1: (My screen resolution is 1440 × 900.)

That sounds good. (Even if it does contain text, I think it could easily be half the size and still be just as useful.)

Ah, I see: its purpose other than making it easy to quote replies from the keyboard wasn’t very apparent to me. To me it seems just like a visual distraction (I don’t find keeping track of replies while scanning a problem, and I use message-specific actions rarely enough that I’m happy to use the mouse). Perhaps it could be disabled with an option…?

I was envisaging an omnipresent input field, so users don’t need to click anything to reply (such as in a more conventional chat app). It would take up the same amount of space the buttons do currently, leaving the advanced options for those who need them.

Yeah, this could be something that’s solvable by the admins, but perhaps a button at the bottom of the streams (“More streams…” or something) could make it slightly more discoverable?

Agreed. This is more an aesthetic preference. I’m generally in favour of having extensive settings for these kinds of things, but that can be overwhelming.

Okay, I think I’m going to have to play around with that some more!

Yes, this would be so useful!