Skip to content
This repository has been archived by the owner on Nov 15, 2017. It is now read-only.

Simplification of UI #329

Closed
jonvuri opened this issue Jun 4, 2014 · 8 comments
Closed

Simplification of UI #329

jonvuri opened this issue Jun 4, 2014 · 8 comments

Comments

@jonvuri
Copy link

jonvuri commented Jun 4, 2014

(This is a very open-ended issue, I just want to prompt some discussion and see what gorhill and others think about all this. And this is kind of brain dump, so forgive me if it's a little convoluted, or if I seem insistent - I'm honestly just throwing ideas out.)

Instead of or in addition to focusing purely on performance compared with other blockers, I think it would be good to simplify and clarify a lot of the workings of HTTPSB, to make it accessible to people who would normally go for a plug-and-play solution like Adblock. Currently, every visible part of the app betrays a reluctance to dumb down any of the inner workings or make compromises for the sake of simplicity and clarity. I think if some of those compromises could be made, the extension would be vastly more accessible and simple to comprehend, for users of all levels of skill:

  1. Make Adblock-mode the default. It is far and away the most appropriate choice for nontechnical users who have little understanding of how websites come together and be daunted by having to figure out what to enable or disable just to be able to click a button on a blog or work in Google Docs. Even though a choice is presented when you install the extension, it's a confusing and daunting choice that requires considerable understanding of the internet and the effect of blocking cross-domain requests. The average user wants to block ads and the worst of the privacy-violating trackers, and doesn't want the blocker to get in their way. The potential benefit of greater security could be explained to them, but it would be better to clearly explain the costs and the understanding required to run in that greater security, rather than showing a table of the various modes with brief, mostly-technical blurbs and no recommendation on how appropriate any of them will be for the user's needs. In my opinion a better startup page would be a large, welcoming screen explaining the workings of HTTPSB in very simple terms and then saying "You are now in Adblock (or whatever to call it) mode by default! This mode will block most known ads and trackers but leave the rest of the internet free to roam. If you want more control over the blocking and greater security and privacy, keep reading to find about the other modes you can run HTTPSB in."
  2. Reduce the amount of complexity and interplay between the various sets of rules and scopes. They could still be exposed in an advanced UI, but the vast majority of the time a user is going to want to simply A) block a specific pattern across all domains and websites, or B) block a specific pattern only when it doesn't match the current domain. They don't care how the rule for that pattern will cascade and interact with other rules, and don't want to have to think about all that when they make it. They also don't want to think about the difference between a "ubiquitous rule" and a "scoped rule" and why they have to be set in different ways. Let advanced users change the defaults and how much is exposed on the UI, but by default just keep it dead simple - you can just add rules or override them, globally (maybe with an option to only block for third-party domains).
  3. Explain things in simpler terms with less jargon. What jargon is necessary, explain in plain English close to the first place the jargon is used in the Settings UI. For instance, a technical user knows what a "domain", a "host", and a "whitelist" is and can pretty easily work out what a "scope" means in context, but a nontechnical user will be baffled. And both types of users need a pretty length explanation of what "strict" blocking means, and will still be left pondering how that will interact with various scopes and blacklist/whitelist rules. Graduate both the main UI and the settings by level of technical knowledge required, and at each level explain things clearly as well as the relationships between different settings - currently, it takes a lot of thinking to piece together how the different settings will interact.

Also, features that would probably attract people:

  1. The ability to intelligently block or unblock certain types of requests (images, plugins, frames) by clicking them. Bonus if element hiding rules also applied in the case of blocking.
  2. The ability to temporarily switch between blocking modes or switch off entirely, instantly (with a reload of course), with a single button press.
  3. Ability to view and apply available preset recipes for strict blocking mode in advance of visiting pages that need them.

Thanks for listening!

@gorhill
Copy link
Owner

gorhill commented Jun 4, 2014

Another solution is to not try to make HTTPSB a one shoe fits all. It's probably a better approach (code sanity-wise) to actually have another extension using the same filtering engine that is better suited to users who would rather have a very simple UI.

@jonvuri
Copy link
Author

jonvuri commented Jun 4, 2014

That sounds great too! I'd be thrilled to help out with an effort like that. Is modularization of the filtering engine already in the works?

@jonvuri
Copy link
Author

jonvuri commented Jun 6, 2014

I guess this issue can be closed in favor of #332, unless any of the other suggestions sounded appealing for the main extension?

@ghost
Copy link

ghost commented Jun 6, 2014

I for one love the complex and informative UI and also the level of the control this extension gives me on my daily web routine is extremely helpful.

@jonvuri
Copy link
Author

jonvuri commented Jun 6, 2014

Simplicity doesn't have to be mutually exclusive with power and control. I still think it could be useful to simplify some aspects of the configuration. Or maybe a stopgap would be to just more clearly explain the effects of settings on other settings. That's one of the things that takes the most mental effort to parse and wrap your head around.

@ghost
Copy link

ghost commented Jun 6, 2014

Simplicity doesn't have to be mutually exclusive with power and control.

I wouldn't necessarily want to argue this point since it's a personal choice on UI preference. But for me in this case I would say the current UI is the best way to represent the complicated way to whitelist the web content. And since @gorhill already provides the choice to choose the blacklisting style on install that is more than enough effort and good will towards the users (for me anyways). Again it's a personal choice.

@jonvuri
Copy link
Author

jonvuri commented Jun 6, 2014

Just to be clear I think the matrix is quite good, I'm speaking mainly of the Settings interface.

@gorhill
Copy link
Owner

gorhill commented Jul 28, 2014

We need to stick with very specific issue, it's impossible to mark vague ideas as fixed. In any case uMatrix will come out without ABP filtering, that will simplify the extension. Also, for point #1, I did the change, except that it's allow-all/block-ex I picked, best mode for a complement to uBlock (I may change the list selection in uMatrix though to reduce breakage if any).

@gorhill gorhill closed this as completed Jul 28, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants