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

Inconsistent "Leave room" vs "Leave [community]" #5724

Closed
pafcu opened this issue Nov 29, 2017 · 13 comments
Closed

Inconsistent "Leave room" vs "Leave [community]" #5724

pafcu opened this issue Nov 29, 2017 · 13 comments
Labels
P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect X-Needs-Info This issue is blocked awaiting information from the reporter

Comments

@pafcu
Copy link
Contributor

pafcu commented Nov 29, 2017

Description

The button for leaving a room on the room settings page is green and says "Leave room".

image

The button for leaving a community on the community settings page is red and just says "Leave" ("leave what? The settings page?")

image

Version information

Riot web 72563e6-react-7118f7a38f79-js-0238ecebedfc on FF57

@lampholder
Copy link
Member

Interesting.

First up - The leave button on the community should definitely say 'Leave Community', not just 'Leave'

Second - red is a good colour for an action that cannot be reversed (at least by the user alone). Right now, leaving a room is sometimes irreversible, leaving a group always is.

I was going to suggest that the best UX might tell users the consequences of their actions, i.e.

[<green>Leave Room</green>] - this room is currently configured to allow you to rejoin whenever you like

[<red>Leave Room</red>] - this room is invite only; you won't be able to rejoin without an invite

And the same for communities (not yet applicable since communities are all invite only, but that won't be the case for long).

However, I suddenly thought we might be giving users there a false sense of safety - just because a room/community's settings permit rejoining right now doesn't mean they always will.

On reflection, I think the utility of clarity in that instant is higher than the risk of users thinking they can return to a community only for the community admin to change the rules whilst they're gone.

@pafcu
Copy link
Contributor Author

pafcu commented Dec 1, 2017

I think it's a good idea to not over-use red as a danger-color: There should be a difference between "You can definitely not undo this" (e.g. deactivating your account, deleting your E2E keys by signing out, giving someone the highest power level), vs. "You might not be able to undo this at some point in the future, but you probably can, unless someone else does something special".

Alternatively, use red for maybe-dangerous things, and add e.g. a huge image of an exclamation mark to definitely-dangerous things.

@lampholder
Copy link
Member

Right now we use red for:

  • User settings:
    • Found a bug [REPORT IT]
    • [CLEAR CACHE AND RELOAD]
    • [DEACTIVATE MY ACCOUNT]
  • Room membership mgmt:
    • kick
    • ban

We don't use it for:

  • log out
  • blacklist device
  • deleting a room alias
  • enabling room encryption
  • signing out without exporting your e2e keys
  • promoting a user to have the same power level as yourself

@lampholder
Copy link
Member

I think agreeing on warning semantics is an excellent idea. I like the three levels:

  • thing
  • thing that could be undone (conditional on other users' agreeing)
  • thing that literally cannot be undone with all the will in the world

We only have two things which can't be undone (afaik) - deactivating your account and throwing away your encryption keys.

  • Deactivating your account certainly deserves maximum awooga (potentially with a github style "type your name in here so we know you really mean it" wrapper).
  • Quitting without exporting your keys is a funny one - it's hugely destructive, but increasingly not a problem as keyshare works its magic. The full 'type your name' style wrapper would be too big here, but it might be worth a checkbox saying 'I understand that if those keys aren't backed up by me or on another device my encrypted message history is toast'.

I think I would like us to consider a visual distinction between the first two categories of action - whether that's with red buttons or not is certainly up for discussion :)

@turt2live
Copy link
Member

as a data point with not much research backing, here's what we do at my day job (based on bootstrap):

  • primary (dark blue) = prominent action, one per logical area (table row, content area, etc. Generally this is the "Save" button or "View More Details" button on a table row)
  • info (light blue) = secondary action, generally something that could be made primary, but something else is already primary. Such as adding a "Clone" button next to the View More button on a table row. Also used for cases where the user doesn't need to press it, but can for more information ("preview", etc)
  • warning (yellow/orange) = Potentially dangerous action, but nothing that can't be undone. The best example of this is suspending users: you can undo it by clicking the yellow "unsuspend" button.
  • danger (red) = Any kind of delete, or confirmation for a delete. In our application "log out" is fairly prominent and not considered a delete (as you can log in afterwards, but we also don't have e2e keys to deal with). An example would be deleting a user: the delete button is red, and the OK button on the dialog is also red.
  • white outline = All cancel buttons

This scheme could be applied to Riot as follows:

  • primary (green) = Pretty much every button, the default color choice.
  • info = probably not used
  • warning (yellow / orange) = Actions like "clear cache" and "kick".
  • danger (red) = The scary things, like logging out, blacklisting, everything else @lampholder said.

Hopefully this is all helpful and not just noise on the thread.

@lampholder
Copy link
Member

I mocked this up before the discussion above - there's certainly a strong case for the red buttons here actually being yellow/orange buttons as @turt2live says.

image

As per not overusing red (or pink, in this case) I think my list of currently-red things had some stuff that shouldn't be - certainly reporting a bug. Clearing the cache could be yellow/orange as (it certainly warrants some sort of "are you sure, this is going to take foreeeeever" understanding before users commit to it).

@turt2live
Copy link
Member

just as a data point: The leave community button is green if you're not an admin, otherwise it's red.

@aaronraimist
Copy link
Collaborator

aaronraimist commented Oct 23, 2018

What else needs to be done here? Yes the button in the dialog is called "Leave" but you have to click a button called "Leave this community" first and the title of the dialog box is "Leave Community" so I think it is pretty clear what is happening on current versions of Riot.

screen shot 2018-10-22 at 8 35 45 pm

@turt2live
Copy link
Member

I think the issue actually got solved at some point. The "Leave this community" part used to be called just "Leave".

There's a bunch of text which I admittedly have not re-read, but from a brief look it seems like @lampholder might have a bunch of plans to deal with. I'll leave this open pending his review for what to do regarding color choices, etc.

@aaronraimist
Copy link
Collaborator

Easy and help-wanted labels can probably be removed then

@lampholder
Copy link
Member

I made a separate issue for the design-language-around-irreversible-actions stuff more generally: #7539

On this issues specifically, I think it's still worth doing one more thing:

  • make it abundantly clear that if you leave a group and you're a (the) group admin, you won't be able to rejoin unless there's another admin to invite you.

We don't need to do any more than that - just let people know that quitting a group they made is pretty terminal at the moment.

@aaronraimist
Copy link
Collaborator

aaronraimist commented Oct 23, 2018

What should the string be for that?
"You a group admin. You will not be able to rejoin without an invite from another admin."

or I guess use the membershipButtonTooltip so "You are an administrator of this community. You will not be able to rejoin without an invite from another administrator."

@turt2live
Copy link
Member

The last admin thing is reported here: #6183

(closing this in favour of that)

First Impressions automation moved this from To Do to Done Oct 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect X-Needs-Info This issue is blocked awaiting information from the reporter
Projects
No open projects
Development

No branches or pull requests

5 participants