matrix-org / matrix-org/matrix-spec
user configurable display name colors
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Suggestion**
This suggestion already exists as a feature request by @compu42 to element at vector-im/element-meta#841. Since it requires an MSC, I will summarize here. This feature should be considered optional.
There are a couple reasons for supporting this feature, including:
- self expression and customization make a user feel at home
- visual identification ("grepping") thanks to a wider variety of colors
- de-clashing colors in DMs and small groups
- recognizeability beyond the matrix ecosystem
- it is a common feature in other chat clients/systems and a common request
Implementation ideas and details:
- Clients should offer the theme's predefined colors via a palette. This sets the value to a color name, which another client/theme may interpret differently, but it suggests that a value `red` should resemble a vaguely reddish tone in context of the theme. Advanced values like css color codes or a similar basic format may be allowed.
- Spec should mention that clients should offer the ability to override/disable this optional feature (completely, or arbitrary sublevels), for accessibility and other reasons. vector-im/element-web#13102
- In the end, clientside UX of a colorblind user supersedes me wanting to tell them my color.
- In case the user has no avatar, the fallback should use the same color
- The feature should integrate with global, space, and room profiles. Essentially at every level you could change your display name and avatar, you can now also change your color the same way.
- The feature should integrate with badges or their evolution-to-come in spaces (roles?, ...)
- For example, admins of discord "servers" often manage user's colors as a side effect of their role and permission level, thus being able to manage other user's color within the space they administer. The rules on how to apply this can probably follow the badges.
## Counter-arguments
- Most colours people will choose will not play well with themes
- Clients would offer a palette of theme-defined colors as they exist today
- Clients should offer to disable this optional feature and instead autogenerate or different mechanism. E.g. correct the colors to something more fitting, e.g. choose closest theme-defined color instead.
- It may be considered a feature by some to e.g. have an invisible name. If a client's UI is so bad that this is 100% unrecognizable, then the client has bigger problems.
- This also begins to feature creep, what if someone wants an animated rainbow name?
- Colored names already are a thing. This is a reasonable and clear limit which fulfills common expectations.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the referenced Element feature request at vector-im/element-meta#841 and the existing discussion in this issue. The proposal requires an MSC, so identify the protocol scope and unresolved choices before implementation. Done means the optional display-name color behavior is specified consistently across profiles, themes, accessibility overrides, and avatar fallbacks.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100