Replying... real-time indicator avatars spread outside screen width

(ljpp) #1


This is a little tricky to document with the avatars and discussion buzzing, but it appears that at least on mobile screen the Replying… real-time indicator avatars spread too wide and off screen, when there is enough activity.

Should be limited by screen width, perhaps with an UI hint that there are more people typing than shown on the screen?

(Joshua Rosenfeld) #2

Perhaps we should take a page out of Slack’s book here. More than X people typing instead of displaying avatars just display “Several people are typing”. (X could vary based on screen width, or just be set to a reasonable number like 5).

(ljpp) #3

At least in our scenario 5 is a very low number and we would constantly hit that. When there is no more screen estate available, there could just three dots (…) at the end of the list?

BTW, this is a highly appreciated new feature of the 1.9 - it has gotten lot of praise from our users and adds real value, since one can actually see that there are inbound messages on their way.

(Joshua Rosenfeld) #4

I was just throwing out an idea - I’m by no means attached to how this is done, I just agree that avatars falling off the edge of the screen is not ideal.

(Kris) #5

Thanks for reporting this. There are some quick CSS fixes I can do to prevent the overflow.

I don’t think it’s a bad idea to cap it at some point, because if there are more than a dozen users replying, I suspect who they are might be a little less important?

(ljpp) #6

If you have a CSS fix we can implement via Customization, we are interested. We roll the stable branch, so the eventual/actual fix will land much later for us.

(Régis Hanol) #8

FYI: server-side it’s limited to 20 users

(Sam Saffron) #9

20 feels way too much, I think if more than 3 are replying we should just switch to text along the lines of many people are replying

(Jeff Atwood) #10

Sure can you take that @zogstrip I feel 5 is a better limit but agree with the sentiment. It is unnecessary info.

(ljpp) #11

3 is definitely not a good idea. Any thread with a commection to a real life event is contantly over 3, if the community has any userbase. And real-time discussion is one of they key strenghts of Discourse as a playform.

This is a good feature that adds value. There is just a little UI glitch.

(Sam Saffron) #12

I think you are missing the point of the “typing indicator”

“typing indicator” == people are typing

“presence indicator” == people are around

Knowing that there are 20 people typing replies concurrently is of very little value. Sounds to me like you are after a “presence” indicator on topics, which is fine but not the use case here.

“5 people are typing” means, lots of people are already replying to this right now, are you sure you want to get involved?

It is not intended to be

“78 people are around right now reading the topic” awesome, this is popular, I got to get in on it.

(ljpp) #13

Again this depends on the scenario, and real-time events and chats are different.

What you see in my screenshot is a goal scored in a hockey game. A bad goal for our team --> It ignites a strong community reaction of “WTF just happened”.

In real time events the number of people is relatively static. It may increase or decrease gradually, depending on the quality of the event. Now, if something significant happens within that event, it sparks a response like seen in that shot.

Now if you see that there are 20 inbound responses and you are about to say something insightful, this indicator helps you to time your response.

As said, the current implementation has been praised. Just a little UI glitch. Personally I did not think too much of this new feature until I saw it live in our production environment.

(Sam Saffron) #14

I would argue this is an edge case use, and if you need this a ton of avatars on a screen you can turn up a site setting.

I am still struggling with why 20 people typing is materially that different from 5, regardless, I don’t see why show all the avatars for the 20 people.

Which is my point, for real-time events / chat you want presence first, typing indicator is secondary.

Take Slack and family.

You can tell who of the 20 people are online. You can only tell names of people typing up to user 3 at which point “several people are typing”

(ljpp) #15

Oh, I did not mean to say that 20 avatars need to be shown. What I mean is that the number of people typing adds value over number of people reading. The rate of people typing defines the “pulse” on the event. If the UI indicator maxes at a fixed value, there is no value over that level as the information is flattened above the maximum.

You can have a million readers, but if there are zero typers you don’t have much of a chat/discussion.

(Joe) #16

lots of people typing

Sorry…I just had to… :sweat_smile:

(Kris) #17

On Friday I pushed a CSS fix that will allow 20 avatars to wrap under the post if needed (on mobile/smaller tablet screens).

@ljpp adding .presence-users {flex-wrap: wrap;} should fix this for you until your next Discourse update.

I also restricted the width of this in the composer, so if there are many avatars they’ll be hidden instead of overflowing over the content. This required adding an additional HTML wrapper, so it’s not simply a CSS fix.

(Régis Hanol) #18

Added a new site setting to control the number of users shown (defaults to 5)

(Jeff Atwood) #19