elementary / switchboard-plug-applications

Switchboard Applications Plug
https://elementary.io
GNU General Public License v3.0
14 stars 12 forks source link

Add explanation of permissions panel itself, remove explanations from every permission #148

Closed hanaral closed 3 years ago

hanaral commented 3 years ago

Problem

Right now changing permissions per app is cumbersome, and only pushes users to not want to use a 'privacy by default' mentality. This is confusing too as more options are added with updates to the pages which means the same items and lacklustre descriptions (which have to fit in the long list of settings) repeated for every page.

Wanting to be more selective with permissions requires the user to go and look through each page to see what has access to what - which will only get worse the more permissions allowed, and more apps are installed.

Proposal

Vastly simplify the permission management workflow by giving an overview of what apps have a certain permission. Replace the installed apps in the sidebar with the different permissions apps can be granted, similarly to how macOS does it.

This also means no more UI clutter by repeating the same explanation of permissions on every page.

Prior Art

Screenshot from 2021-01-31 09-37-40 How macOS handles exception cases such as specific folder access: Screenshot from 2021-01-31 09-38-47

hanaral commented 3 years ago

@cassidyjames I feel like this is pretty necessary change for making the flow usably friendly - could you provide some input on whether this is a plausible change?

cassidyjames commented 3 years ago

I know GNOME also struggled with this when designing their settings. I think Android does it both ways. The problem is that both angles are valid:

  1. I might want to make sure a specific untrusted app does not have access to things, and so I want to go look at that app specifically. On the flip side, I might have a trusted app that I want to open up to access multiple things, so again, app-first makes sense.

  2. Then again, yeah, I might want to see what all apps have access to my camera specifically, or to my home folder, etc. So permission-first makes sense.

As a note, these permissions are originally coming from the app at install-time, and will be listed in Sideload and AppCenter. So it’s not like the defaults will be a total surprise—plus any AppCenter apps have their permissions reviewed before they are approved.

Application-first makes sense for now, though, and if we were to add a permission-first view I don't think we'd get rid of this view.

hanaral commented 3 years ago

I think it may be a good inbetween to experiment with having some kind of 'about' view of apps in the appcenter/wherever with links to the different permissions panels. I do agree though, macOS's solution isn't perfect either.

I just thought of another idea to throw at the wall; how about using the simple settings menu thingy from Security & Privacy > History to show the app icon, its name and a description of how permissions work? スクリーンショット 2021-04-23 22 26 57

Something like this but with the changes mentioned above, also the descriptions of each permission could probably be put in to one of those i icons at the end of the list box (like in AppCenter's app size disclaimer for flatpaks) The right column may be useful for specific folder access as they should be listed seperately from other perms.

hanaral commented 3 years ago

Here's a quick edit of the Security & Privacy plug: Screenshot from 2021-04-23 23 27 30

cassidyjames commented 3 years ago

@hanaral we're using a similar pattern already with the current design; I don't really see how this is substantially different or better? Unless I'm missing something. We could maybe add the icon and title up on the right side, but I don't think it really adds any information.

Screenshot from 2021-04-23 20-23-03

hanaral commented 3 years ago

@cassidyjames My issue isn't just with the app over permission workflow, it's also the panel for feeling like a wall of text that doesn't:

Notes:

¹ Nerd speak like 'giving [X] access to an app' translates like crap to other languages that may not have that instant association of non-normative language ('access' pushes you to explain everything in the same way, rather than saying 'permission to [relevant verb] [relevant connective] [relative subject]). It could easily say at the top of the panel that 'the settings below allow you to either give or revoke the app's permission use those parts of your device or storage. Apps may ask you for any of these permissions during use.' and then just have the permissions' labels be its name and desc.

² Giving them big toggles rather than tickboxes/any other solution makes it seem like they can be flip-flopped willy-nilly, ignoring the fact that some of them require app restarts, as well as undermining the huge significance of giving full drive access (I know which dir.s flatpak never allows, but it's still an issue)

Since the conversation has changed direction, I'll should change the issue title

Actionable changes:

edit: oop forgot to tag

hanaral commented 3 years ago

Closing in favour of #156