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

Permission Tagging #125

Open
TheRealMystic opened this issue Jul 30, 2022 · 10 comments
Open

Permission Tagging #125

TheRealMystic opened this issue Jul 30, 2022 · 10 comments
Labels
enhancement New feature or request help/discussion wanted Extra attention is needed
Milestone

Comments

@TheRealMystic
Copy link
Collaborator

TheRealMystic commented Jul 30, 2022

I have something similar in my mind for the Apps Tab too. I'll post about it once the current issues have been sorted out.

How about allowing the user to assign tags to permissions? That way, you won't have to worry about too many categories, sub-categories, duplication, etc. (please refer to #124 ).

You can provide broad categories and be done with it. But allow for tagging of permissions, and let the user choose how he wants to view the permissions.

Here is a simplified implementation:

User can assign 'favourite' tags to some of the permissions as follows:

Favourite Permissions

There will be a filter that he can choose as follows:

Favourites Filter

The favourites filter will only list the permissions that the user is interested in. For example, I would only mark those permissions as favourites that I can configure for apps. Knowing which apps have those permissions will be easy for me to see with such a filter.

Once user chooses a filter, the permissions should be (optionally) viewable as a simple list, without grouping. User can then sort them by name, no. of apps requesting that permission, etc.

@TheRealMystic TheRealMystic added enhancement New feature or request help/discussion wanted Extra attention is needed labels Jul 30, 2022
@TheRealMystic
Copy link
Collaborator Author

You can allow users to create upto 4 different tags, and users will be free to assign names to them. Those tags will show up under Filters.

A permission can have multiple tags.

Here's what those would be for me now:

  1. Favourites
  2. Privacy
  3. Security
  4. System (I'll tag all those permissions that show up under System Settings)

@d4rken
Copy link
Member

d4rken commented Jul 30, 2022

Hm, feels a bit much. Doubt most users would create custom tags.

Any kind of custom data entry by users is more of a v2.0 feature.

@d4rken d4rken added this to the Blue Sky milestone Jul 30, 2022
@TheRealMystic
Copy link
Collaborator Author

Any user that cares to look into App permissions, would find this pretty straightforward. Adding tags/ labels are the best way to organise/ filter things, and more importantly for two reasons:

  1. User can customise exactly the way he wants.
  2. Developer doesn't have to worry about classifying things, because no matter what he does, it can never be a perfect fit for everyone.

Think about this again. This is very straightforward for you to implement, and makes permission management very easy for the user too, irrespective of their technical knowledge.

@TheRealMystic
Copy link
Collaborator Author

TheRealMystic commented Jul 30, 2022

What you can also do is this:

Provide 2 fixed tags:

  1. Permissions Manager
  2. Special Access

The above two will list the exact same permissions that the user would find under System Settings. The user will be familiar with this and there is no learning curve required. Most users would be fine with just this.

And provide 2 custom tags that are customizable by the user.

If you implement this, I would call them as follows:

  1. Favourites
  2. Privacy & Security

@d4rken
Copy link
Member

d4rken commented Jul 30, 2022

This is very straightforward for you to implement

Says the guy who says he has no coding experience 😄

This needs a database to track which permissions have which tag.
What if the user tags a permission that is declared by an app that is uninstalled or updated, now we have stale data that needs clean up.

@TheRealMystic
Copy link
Collaborator Author

TheRealMystic commented Jul 31, 2022

This needs a database to track which permissions have which tag.
What if the user tags a permission that is declared by an app that is uninstalled or updated, now we have stale data that needs clean up.

It's not data that would change too frequently. And it isn't going to occupy too much space, or cause slow downs.

It is best to retain such data, so that if the user installs the app again, he won't have to re-tag those permissions.

One clarification about the 'fixed tags' suggested above:

Users would still be able to 'add' permissions to those two filters and delete the ones that they have added. By fixed, I mean some permissions will come pre-configured with those tags and user will not be able to change those. They can only change what they have added. This will help them keep these filters as identical as possible, to how they appear under their ROM System Settings.

@TheRealMystic
Copy link
Collaborator Author

On my OnePlus phone, Oxygen OS provides a firewall feature. Let's say I have disabled internet access (both WiFi and Mobile Data) for an app. I then un-install it.

Months later, if I re-install that app, I find that the internet permissions remain disabled.

This is a beautiful feature. So I guess that the OS maintains a database where stale data doesn't get removed. They get re-applied whenever a requirement arises.

@TheRealMystic
Copy link
Collaborator Author

TheRealMystic commented Jul 31, 2022

Says the guy who says he has no coding experience 😄

I may not know coding, but I can say confidently that this should be very easy to implement.

Code checks for just 2 things:

  1. The tag/ label assigned by the user to a permission.
  2. Whether that permission is still requested by any app or system.

99.9% users will likely tag only about 100 permissions or so, may be much less. But those would be permissions that the user deems important.

Where a permission is determined to be stale, PP can mark/ assign such permissions with a new label called 'Permissions no longer requested' in its internal database, and hide them (not delete) from showing up.

How difficult can this really be to implement?

@d4rken
Copy link
Member

d4rken commented Jul 31, 2022

How difficult can this really be to implement?

Please refrain from stating how easy something should be, if you have no experience in coding.
It's insulting 😠.

@TheRealMystic
Copy link
Collaborator Author

How difficult can this really be to implement?

Please refrain from stating how easy something should be, if you have no experience in coding. It's insulting 😠.

Sorry buddy, it was never my intent to insult/ be disrespectful.

I would gracefully accept my mistake, if proven wrong.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help/discussion wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants