RequestPolicyContinued / requestpolicy

a web browser extension that gives you control over cross-site requests. Available for XUL/XPCOM-based browsers.
https://github.com/RequestPolicyContinued/requestpolicy/wiki
Other
252 stars 35 forks source link

viewing RP rules in a user-friendly format #548

Open acrobat1 opened 9 years ago

acrobat1 commented 9 years ago

Following up the last comment in https://github.com/RequestPolicyContinued/requestpolicy/issues/529 ,here is an enhancement request to view all RP rules in a more user-friendly format, possibly in an subpage patterned after Adblock's lists window, in order to quickly and easily visualize -either when adding a subscription or afterwards- all active lists and to which subscription list does each rule belong to. As I'm not sure I've thoroughly explained this, please feel free to modify the issue as needed -thanks.

myrdd commented 9 years ago

Thanks for creating this issue. However, don't you mean viewing subscription rules or really rules in general?

nodiscc commented 9 years ago

@acrobat1 More detail would be welcome. Doesn't the Your policy (screenshot at #529) preferences page display the rules in a clear way? (it does show whether a rule is from a subscription or not).

If so, can you provide a quick overview of 1) where you expect to find it 2) how it should look like (quick drawings in mspaint or http://www.asciidraw.com/#Draw are ok) Is it about being able to filter the rules list?

Moving comments from #529 here:

acrobat1 commented 3 days ago Do you think it will be eventuallty possible/convenient to organize and display lists more or less the way Adblock does with its own subscriptions ? With Adblock lists you can easily see the actual list content either when subscribing them and/or afterwards : I think that this could improve RequestPolicy usability, as of now I can't find a way in the GUI to see which rules belong to which lists.

nodiscc commented 3 days ago @acrobat1 You can already know what subscription a rule belongs to from your "Manage Policies" preferences page (eg. allow sameorg here)

rulelist

myrdd commented 2 days ago However, as @acrobat1 said, a viewing and filtering the requests from RP's settings page or a subpage would be the final target. @acrobat1 would you mind creating an issue for that enhancement request?

myrdd commented 9 years ago

@nodiscc I would simply add a table to "Your subscriptions" just like at "Your Policy". It would be possible to collapse (=hide) the table. It would be the same table as in "Your Policy", also filterable, but it could show the subscription's rules before activating them.

So on „Subscription Policies“, in addition to the checkboxes, there would be the table, a text box for filtering and a Drop-down list for selecting the subscription (allow_embedded, …).


Above was the main part, but eventually we could also add a button for updating one of those subscriptions. (Don't confuse this with updating the subscription list, as discussed at https://github.com/RequestPolicyContinued/requestpolicy/issues/549) IMHO the subscriptions page should display the age of the local copies of each subscription, and whether it's up-to-date according to the local copy of official.jsm.


Some off-topic – but related: What about finding a shorthand for „subscription“ and „subscription list“? I suggest s10n and s10n list. Plural would be „s10ns“ and „s10n lists“.

acrobat1 commented 9 years ago

@nodiscc, first of all I apologize if sometimes my comments are unclear and/or I 'm overlooking something obvious, it 's just that RP requires some attention from non-technical users and I'm still trying to get the hang of it.

Having said that, I believe that -for the most part- what I still find not so user-friendly in managing the lists is the in-content display as opposed to a separate window, which we've discussed at length in another issue a while ago.

Basicall what I'd expect to find, since we are talking here about subscription lists in RP, would be something more or less patterned after the Adblock filter window (the "Filter preferences window"), where the window is split in two and you have the lists you've subscribed and your custom rules (filters) in two tabs on the left, and then you can click on each of those and see all actual filters on the right part of the page. Plus, other right-click actions are possible in both tabs ,i.e. things like updating or deleting a subscription list.

Another thing that could help IMHO would be renaming the lists to something more intuitive in the GUI, maybe allow_sameorg could be displayed as "allow base domain", the others could be "allow media" and so on.

I don't know if this would be doable in RP, but recently I've noticed that Stylish has an hidden option to display its editor in a separate window (as before) or as in-content page (about:stylish-edit) ,and if you choose the first option the other one will be always available from the about:page.

Please keep in mind these are just suggestions, feel free to discard whatever does not make sense to you.

nodiscc commented 9 years ago

Thanks for your input @acrobat1, first of all no need to apologize, it can take some time to get a clear idea of what's expected/best, especially in discussions involving several persons and aspects (UI is hard to get right)

managing the lists is the in-content display as opposed to a separate window

this is discussed in https://github.com/RequestPolicyContinued/requestpolicy/issues/485)

something more or less patterned after the Adblock filter window

This is what the Adblock Plus filter preferences window looks like: adblock

So you'd like to see something similar in the Subscriptions preferences page? (currently it's proposed to link directly to the json file, https://github.com/RequestPolicyContinued/requestpolicy/issues/546), but having a table like this might be preferable?

     +-----------------------+--------------------------------------------+
     |[x] allow_sameorg      | Policy| Origin            | Destination    |
     |                       |                                            |
     |allow destinations that| Allow   example.org        cdnexample.net  |
     |belong to the same org.| Allow   another.org        another.net     |
     |as the origin page     . Allow   domain.com         domain.net      |
     +-----------------------> Allow   testtest.com       domain.net      |
     |[x] allow_functionality| Allow   domain.com         domain.org      |
     |                       | Allow   .......             ......         |
     |allow requests that are| Allow   ...                 .....          |
     |needed for websites to | Allow   ..                  ..             |
     +----------------------->                                            |
     |[ ] example subscription                                            |
     |                       |                                            |
     |zzz zz z z z  z  z zzz |                                            |
     |zzzz z  z z zz zzzzzz  |                                            |
     +----------------------->                                            |
     |[ ] another one        |                                            |
     |                       |                                            |
     |                       |                                            |
     +-----------------------+--------------------------------------------+

Does this make viewing subscriptions more user-friendly to you? If so I'll open another issue with this specific change.

renaming the lists to something more intuitive in the GUI

We should keep consistency over all. So this is either labeled as allow_sameorg in the list (as it is currently), or the full description Allow destinations that belong to the same organization as the origin webpage which is too long for the table. One thing that could be done is to consolidate Default policy/Subscriptions/Your policy pages into one Policy page, so it's easier to associate allow_sameorg with the subscription checkbox just above. This can be tracked in a another issue.

Please address each point separately :) you can use > at the beginning of a line to cite text.

acrobat1 commented 9 years ago

So you'd like to see something similar in the Subscriptions preferences page? (currently it's proposed >to link directly to the json file, #546), but having a table like this might be preferable?

Yes, I was thinking more or less to a table just like the draft you've done above. Having said that, there is no guarantee that this would be the most usable solution for all, it's just my opinion that an Adblock-style format to display subscriptions and individual rules may be more convenient. I would like to hear what other people think in that regard, given that the UI for such a complex extension is indeed hard to get right.

We should keep consistency over all. So this is either labeled as allow_sameorg in the list (as it is >currently), or the full description Allow destinations that belong to the same organization as the origin >webpage which is too long for the table.

Again ,you may be right on this one : having distinct definitions for the same rulesets may be even more confusing. Then what about having a short definition in the table and a longer ,more complete one as a tooltip on hovering the short description? Maybe that would be just too complicated?

myrdd commented 9 years ago

speaking in general…

After reading the discussion I think we have three possibilities:

I can think of several advantages of XUL Windows, though as there are currently many other things to do I'd suggest to stay with HTML pages for now and consider XUL Windows as soon as 1.0 is stable.

However, there is significant potential to improve the current structure of Default policy/Subscriptions/Your policy and IMHO we should have those three pages restructured before 1.0 stable. The restructuring should have at least the following requirements:


getting more specific…

Below I'll cite @acrobat1's ideas and suggestions; I'll write my thoughts how it would be possible to implement them on a HTML page.

window is split in two and you have the lists you've subscribed and your custom rules (filters) in two tabs on the left, and then you can click on each of those and see all actual filters on the right part of the page.

I like the idea that the subscritptions themselves as well as their rules are displayed at the same time! However, whether the list of available subscriptions is displayed horizontally or vertically needs to be checked.

This split view is definitely possible on a HTML page. Anyway a dedicated XUL window would be more adequate, as it allows directly to adjust the columns' width etc.

Plus, other right-click actions are possible in both tabs ,i.e. things like updating or deleting a subscription list.

Afaik it's possible to have a full-custom context menu (=right-click menu), but I assume some "hacking" is necessary. XUL would be the way to go…

Another thing that could help IMHO would be renaming the lists to something more intuitive in the GUI, maybe allow_sameorg could be displayed as "allow base domain", the others could be "allow media" and so on.

I'm not sure about this. some other text would definitely be more user-friendly. We should discuss this in a separate issue.


pros/cons of XUL windows

These are the aspects that came to my mind: pros:

acrobat1 commented 9 years ago

I've just noticed that using the extension Extension Options Menu RP options actually open in what looks like a pop-up window.

myrdd commented 9 years ago

@acrobat1 I've just tested that extension – nice! So this is the workaround for now.