Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: person icon in "people" room should change color based on presence #4199

Closed
jfrederickson opened this issue Jun 5, 2017 · 21 comments · Fixed by matrix-org/matrix-react-sdk#3751

Comments

@jfrederickson
Copy link

Matrix already exposes (online/unavailable/offline) presence, it would be nice if the icons in the room list changed color based on that presence rather than staying green all the time.

@turt2live
Copy link
Member

How should chats with multiple users be handled? Any room may arbitrarily be tagged as a 1:1 chat, even if it is not.

Example cases:

  • Me, friend, and giphy
  • Me, friend1, and friend2 (because I want to have the conversation under "People")

@uhoreg
Copy link
Member

uhoreg commented Jun 5, 2017

Relying just on colour change may not work so well for people who are colour-blind, so we may want to add some additional method of indicating presence.

@jfrederickson
Copy link
Author

jfrederickson commented Jun 5, 2017

@turt2live Didn't see it before, but looks like this came up in the general UX thread: #2984 (comment)

...in which one suggestion was to have a "multiple people" icon for rooms with more than one person.

@uhoreg That's fair. I'd note that there are other features that may not work well for colorblind people as well - red vs. (default) green for the unread notifications counter, for example. It may be worth considering dedicated color schemes for varying types of colorblindness. (Custom theme support would take care of a lot of this.)

Alternatively, many messengers use a person icon with a clock on it to mean "away" and so on - that would also be reasonable, though the icon may be too small for that to make sense. You could maybe use meaningful icons by themselves (without a "person" icon), in which case I think the sensible thing to do for a "people" room with more than two members is to just not show a presence icon at all.

EDIT: Oh, though one of the examples given above was giphy, and there's no way for an account to advertise the fact that it's a bot, is there?

@turt2live
Copy link
Member

Having bots in rooms causes other issues, such as the room name (https://github.com/vector-im/riot-web/issues/3087). Part of the fix for that would help address the concern of a 1:1 with someone including a bot, I suppose.

@MurzNN
Copy link
Contributor

MurzNN commented Jul 25, 2017

As workaround maybe we can display status of first user in room users list for private rooms, or first room admin?

@MurzNN
Copy link
Contributor

MurzNN commented Aug 18, 2017

At now direct chats in left room list already contain small Human white icon near to user avatar. We can use it for show user presence - green for online and white for offline.

We can show status of second user if room market as direct and with 2 users. And for direct rooms with more that 2 users - very often private chats contain only bots that have no admin permission, so room have only 2 admins and we can show status of second admin of room (or user with max permissions excluding current user). If direct room will contain more than 2 real users, room admin can manually set user to show presence via increase room permission for it.

@Biep
Copy link

Biep commented Oct 26, 2019

What about showing a tiny pie chart? Full disk if all members (not counting oneself) are present, fully absent if none are? Maybe even part of it in a different colour if that is the room they are perusing right now?

@heylix
Copy link

heylix commented Oct 26, 2019

If you showed a pie chart and had a lot of users in the chat, but some of them offline for weeks, the pie chart would never be full. Maybe there could be some threshold based on the median offline time?

@Biep
Copy link

Biep commented Oct 26, 2019

It should show availability rather than presence, and availability is something that depends on presence, but also on a flag settable per user, per room. During work hours, I may only be available to my customer/neighbour in the business rooms, not in the leisure rooms.
In fact, an enumerable would be better than a flag. People might like to show various states - absent, busy, only available for important issues, and so on.

@panki27
Copy link

panki27 commented Dec 13, 2019

Any progress on this yet? It's the biggest "feature" I'm missing from the desktop client. I feel like the problem here is trying to find the "one fits all" solution instead of implementing something basic first (show a green dot when somebody in the room is online).

The screenshots on https://about.riot.im/ show a green dot (which I assume means the person in question is online). Is this a fake? Is this only implemented in web?

@t3chguy
Copy link
Member

t3chguy commented Dec 13, 2019

Part of the issue is the matrix.org server has disabled presence support due to performance issues, so even if that design was implemented it wouldn't work as expected for a huge amount of people

@iuliuh
Copy link

iuliuh commented Dec 13, 2019

AFAIK the server has the presence disabled by default but it can be enabled by the server admin. How about build the feature and let the server owner decide on enabling the feature or not. Because for organizations which host their own server for their companies and for small teams this is really a huge thing to have.
All chat clients have this feature with no exception. I can't think of a chat client lacking this feature other than Riot.
So why not have this implemented anyways? As @panki27 says, the https://about.riot.im/ page highlights this feature although it is not present yet.

image

@t3chguy
Copy link
Member

t3chguy commented Dec 13, 2019

It's enabled by default in synapse

@iuliuh
Copy link

iuliuh commented Dec 13, 2019

Then this is another reason, if there weren't enough, that this should be a high priority feature.

@panki27
Copy link

panki27 commented Dec 14, 2019

@t3chguy I don't really think thats part of the issue.
Matrix is supposed to provide decentralised communication - if everyone is using matrix.org, then it's not decentralised.

And yes, presence is in fact enabled by default on matrix-synapse. I agree with @iuliuh here as I have this exact constellation at work... I brought in Matrix and Riot as a way to handle internal communication, and this is an important feature a regular end user wants and expects to be there.

@t3chguy
Copy link
Member

t3chguy commented Dec 19, 2019

I'm having a little play with this:

image

@iuliuh
Copy link

iuliuh commented Dec 19, 2019

This looks awesome! 😀
Any idea when we could see it upstream? :P

@t3chguy
Copy link
Member

t3chguy commented Dec 19, 2019

It is blocked on an existing PR, the designer also must sign off on it, with it being the holidays a little while.

@iuliuh
Copy link

iuliuh commented Dec 19, 2019

Well, there is hope. As long as it will reach upstream in the next months, it's worth the waiting! :)

@iuliuh
Copy link

iuliuh commented Dec 19, 2019

I've subscribed to the pull request. Can't wait.

@c33s
Copy link

c33s commented Jan 4, 2021

just for googlers: this feature is not enabled on matrix.org for performance reasons

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.