Skip to content

Refining the Permission settings dialog

Mario requested to merge Treer:permissions into dev

Created by: Treer

hubzilla permissions dialog

This pull-request might look like meaningless bike-shedding changes if someone already knows how Hubzilla permissions work, but I'm trying to make the permission system deducible from the user interface.

I could sorta guess how things most likely worked, but not being certain, and flip-flopping a few times in my interpretation undermined my trust in the permissions. I ended up reading the code to find out and to have some certainty.

I won't assume these changes are an improvement for everyone, they add a little bit of clutter, so I'm going to post waaay too much text about the rationale and problem each change solves - that way alternative proposals can also address these problems:

To put yourself in the head of a new user, imagine the following:

You can see there's some kind of relationship between the "Public" button and the "Show"/ "Don't show" buttons, but can't be certain what it is - the "Public" colour sometimes changes, but it's not clear what orange or white means.

You click public, then click a "show" button - which shouldn't stop it from being public because you haven't set anything to "Don't show", but the public button changes colour anyway.

So perhaps "Show" is setting something slightly different to public-ness? The word "Show" suggests an active role - perhaps the "Show" buttons are for which channels are notified of the post - where it's shown, rather than who is allowed to see it?

Channels have 3 states (normal, show, don't show), but you're not certain what "Show" means, and the normal state could mean lots of things: Use default permission, allow people to see it but don't spam it to them, etc. It could mean don't show it, but the presence of a "Don't show" button hints that the default action isn't to deny access.

Some other confusion I had was:

  • Permissions button missing from the edit screen (addressed in FAQ)
  • Search button was so wide and same colour as background that I never noticed the icon and never paid attention to it - it became a background shape, like an unlabelled button or spacer. Its position was associated with the Public button, not with channel selection.

Yeah, yeah, I'm an idiot.

With all that in mind, here's what this pull request changes:

  • Radio buttons with labels used to explicitly show the exclusive relationship between public and restricted, and which of the two you're "on".
  • brief text to warn that permissions can't be changed after a post (not shown if you're editing photos etc)
  • brief text to reinforce this is only about permissions and not about actively "showing" anything. (this one is a candidate for being culled, thanks to context help and clever wording in the brief text about Show/Dont show)
  • brief text to clarify how "Show" and "Don't show" differ from "normal". Also hints that "Show" is passive.
  • "Search" placeholder in the search box to make its purpose harder to miss.
  • Layout now associates search box with the channels and groups, instead of being with the public button.
  • lock icon to help people subliminally learn what the lock states represent in terms of permissions. Also helps emphasize when a post is public.
  • Context help icon. This brings up help in a seperate tab/target because the existing context help window needs to be underneath the dialog. (I've also used fontawesome locks in the help file, which I'm not certain I'm allowed to assume?)

Possible future improvements:

  • make it pretty. Fancy radio buttons etc. Or arrows
  • Implement the read-only mode, so permissions for posts you have already sent can still be viewed.
  • Add help for items like photos (they work differently to the items that currently have a help file).
  • Suggestions from others for better phrasing.

Read-only mode can wait until I know what will happen with the permissions dialog.

Merge request reports