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

uBlock Origin on Firefox Preview #1027

Closed
gorhill opened this issue May 14, 2020 · 102 comments
Closed

uBlock Origin on Firefox Preview #1027

gorhill opened this issue May 14, 2020 · 102 comments
Labels
discussion weighing in community's input on a specific topic

Comments

@gorhill
Copy link
Member

gorhill commented May 14, 2020

This issue contains the email exchange I had with Mozilla's @brampitoyo regarding the re-design of uBO's user interface, originally aimed at Firefox Preview but which is currently used on all platforms as of uBO version 1.27.0.

The email exchange is reproduced here with @brampitoyo's permission. Note that I was originally contacted by Mozilla's @kewisch regarding the project of re-designing uBO's user interface, who put me in contact with @brampitoyo.

I am very pleased with the new user interface and needless to say this re-design is just not something I would have been able to come up on my own, @brampitoyo was essential to make this happens.

Not all suggested changes have been yet addressed in the user interface, so this issue is to be kept opened and further discussion regarding user interface improvements can continue here.

@uBlockOrigin uBlockOrigin locked and limited conversation to collaborators May 14, 2020
@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2019-11-12


Hi Raymond,

So glad to hear from you, and to have a chance to work together.

Maybe some buttons are not really needed on mobile?

Agreed. Generally, the more buttons we can take out, the less touch targets we’ll have per page. I’d be happy to assist you in doing an audit of features that are okay to excise for mobile, but I must first confess that I’m not a domain expert!

I wonder whether the text will neatly fits for all languages such that the layout stays the same in all languages.

Our text list items can scale up to 2–3–4 lines. Hopefully this can help rectify the language-fitting issue.

For icon + label items, the space is more limited, so they’re not as ‘stretchable’. I’d advise limiting the amount of items in this category. But a good alternative is to shorten some strings.

For example, instead of saying “Open the logger”, we may be able to say “Logger”. Instead of saying “Enter element zapper mode”, we may be able to say “Element zapper”. I’m not sure if this will impact clarity, though!

How does the overview panel fits in there?

I spent most of today taking a deep dive into features and sub-pages within uBlock Origin. I was able to adapt them and address some of your thoughts around information density.

The good news is, I found that these adaptations can, for the most part, be mostly visual. This means that no new feature or change in functionality is required. In some cases, that’s not possible. Have a browse below.

Main user interface

For starters, I thought that the entry point for the Overview panel should be clearly labelled.

It’s up to you whether this panel is expanded downwards and upwards, or whether it opens as a sub-page. In the example above, it opens in a sub-page.

Overview panel

When users tap “Overview panel”, a familiar-looking table appears.

The Overview panel has a high information density, so adapting it was challenging. My main concern was to have sufficiently large tap targets (48dp) while not losing any feature or complexity.

In the example above, Global and Local Rules are modes that you switch back and forth from/to. Allow/block controls are presented as status to the right of each domain name, and can be modified via a dropdown menu (if “Advanced mode”) is switched on.

Domain details

One thing that was missing from the Overview panel is +++ ---. I want not only to preserve them, but give them ample space so you can explain as much as you’re able to.

To view this domain information, the user can tap the domain name. It will open another sub-page. It has enough space to contain almost anything you want.

Dashboard

The dashboard contains a lot of tabs. We have a scrollable tab bar design that can fit all of them.

These examples may not sufficiently capture the full complexity of uBlock Origin, but hopefully they can still give you a taste of the flexibility that our Android layouts can offer.

Let me know what you think of these? If it’s helpful, I’d be happy to revise these designs and/or continue adapting more pages.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2019-11-21


Hello Bram,

Sorry for the delayed response. Regarding:

The Overview panel has a high information density, so adapting it was challenging. My main concern was to have sufficiently large tap targets (48dp) while not losing any feature or complexity.

I consider the high information density to be a key usability quality for advanced users (which is the purpose of that panel), as it allows to see a lot at a glance:

  • See what got blocked/allowed on which domains, along with a sense of quantity of the number of blocked/allowed requests (the --/++).

  • See all the rules currently in effect, and whether a local rule in inherited from a global one (i.e. pale shade versus dark one)

As an advanced user myself, I consider the "at a glance" aspect to be a key feature and would be unhappy to lose this when I have to assess/modify ruleset for the current site, so I consider this is something that must be as close to what it currently is.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2019-11-30


Hi Bram, feedback regarding the abstract.

I don't think the overview panel should expand before the extra tools, which are part of the basic panel. It should appear below the basic panel -- it's not always to be used for interactivity purpose but also just in read-only mode. The extra tools may affect the length of the overview panel list, the list may change as more requests are made by the page, so it's better that it does not keep pushing further down the extra tools. This is how it currently works in the mobile version of uBO.

The horizontal space available for the hostnames is too small. The abstract sceenshot show a case where all hostnames fit but in the real world this is going to be an issue. We need more horizontal space for the hostnames. Separating the cells with a single pixel space will also help recover space -- this is why this is so in the current version of uBO.

Also a detail, the minus sign should be \u2212 so that it's the same width as the plus sign.

The toggle for JavaScript in the basic panel really need to be visible by default, we may need to remove "Block all pop-ups" toggle.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2019-12-01


Hi Raymond, thanks for your feedback. I’m addressing them below.

…the overview panel […] should appear below the basic panel […] This is how it currently works in the mobile version of uBO.

When I used uBlock Origin on Firefox for Android (Fennec), the overview panel opens to the side. But your suggestion of opening below the basic panel makes a lot of sense. See below:

You’ll also notice that I’ve removed the “Block all pop-ups” toggle and show “Disable JavaScript” by default. I’ve also switched icons from our house style to FontAwesome – the same ones you’ve used on uBO – to present a more accurate picture.

My question: does it still make sense to call this area “Overview” and hide its content by default? (When hidden, the downwards arrow icon faces up).

The horizontal space available for the hostnames is too small. […] We need more horizontal space for the hostnames. Separating the cells with a single pixel space will also help recover space -- this is why this is so in the current version of uBO.

I took your suggestion and applied it. I’ve also switched to the correct minus sign (\u2212). See below:

You’ll note that the hostname font size is now smaller – 14px → 12px – which may be as small as the font size on desktop. Hopefully this will make long URLs fit better.

One thing I didn’t change was the height of each row – it’s still 24px – and this is to keep the target large enough to tap. This, assuming that some mobile uBO users want to modify the Overview panels? If modification is less likely, we can narrow the row height down to 20px, 16px and so on.

Should you like to inspect the pixel-level design, the link stays the same:
https://share.goabstract.com/54f1465e-8d1c-4e7b-9ae4-f37e21bef7fe

What do you think? Thanks a lot for your feedback!

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2019-12-05


Regarding:

When I used uBlock Origin on Firefox for Android (Fennec), the overview panel opens to the side.

Yes, uBO will by default opens the overview panel on the side. However it will calculate whether the panel fits well enough in the current viewport and if not it will send the panel at the bottom. This is why you can still get the panel on the side in landscape mode on a mobile display, or at the bottom on Firefox desktop when we pin uBO in the overflow menu.

So anyways, I think at this point we should start implementing the changes so that we can see and feel the real thing? How is this going to work? Do I make the changes on my side or are you going to make them on your side? The way I see it is to create alternate popup.html/css files and to enable them using browserAction.setPopup().

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2019-12-08


I think at this point we should start implementing the changes so that we can see and feel the real thing? How is this going to work? Do I make the changes on my side or are you going to make them on your side?

Hi Raymond, I agree. I think that you should make changes on your side.

As far as implementation goes, it’s up to you whether there should be an alternate set of popup.html/css files, or whether there’s only one responsive stylesheet.

When you post some screenshots of your process, I’d be able to comment and send along my feedback.

In the near-term, this responsive design would fit well for purpose.

In the future, we hope to have some sort of a Firefox Mobile web component library for all add-on developers to use. You can already use Google’s Material Web Components for this purpose today, but it may not cover unique challenges that add-ons pose.

Talk soon,
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2019-12-15


Hi Raymond (and cc Philipp Kewisch),

If you’ve got screenshots or stylesheets, I‘d be happy to have a look and/or assist this week – just let me know how I can help!

For date and other technical questions, Philipp or Emily will assist.

At the end of my work week this week, I am planning to take some time off for Christmas and New Years, to return in late January.

–Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2019-12-16


Sorry I haven't had much time to work on uBO recently so I haven't started to work on this yet.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-01-25


Hi Bram,

I've committed a first draft of the redesigned popup panel, it's in the
dev build 1.24.3b11 of uBO, available at:

https://github.com/gorhill/uBlock/releases

The new popup panel must be activated though as follow:

  • Go to uBO's "Settings" pane in uBO's dashboard
  • Check "I am an advanced user" option
    • This is necessary to gain access to "advanced settings"
  • Click the gear icon which appear after "I am an advanced user" once the option is checked
  • A page opens with various text editor-based settings
  • There should be an entry named "uiFlavor", which is set to "unset" by default
  • Change the value to "fenix" and click "Apply changes"
  • Now the next time you restart uBO, the redesigned popup panel will be used by uBO

So regarding the redesigned popup panel, I faithfully followed your design as per previous email. However I also made these fine tuning:

  • I added a separator line below the power button
  • I renamed "Overview" to "More", as in reality the revealed panel is really to gain access to more detailed information and/or advanced controls.
  • The refresh, padlock and eraser buttons were not part of your redesigned, so for now I have relocated them at the top along the power button
  • I made the power button sticky such that scrolling down what could be a long list of hostnames in the "More" panel will keep the power button and adjacent refresh/padlock/eraser buttons in view

So I guess we can consider this a first draft, I am open to change whatever you think is worth changing further, while for the "at a glance" firewall panel I prefer to keep it as is as I think it's difficult to improve upon (though font size, dimensions can probably be fine-tuned) as all the space available is used.

For the icons, they are currently all from forkawesome set of icons[1], but if you think better icons can be used then I am also open to improve this part -- since it's a redesigned, might as well maybe revisit everything worth to revisit.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-01-25


Hi Raymond,

Thanks heaps – very much – for your very prompt reply about the badge text and now the redesigned popup panel. We can’t wait to test it, and really hope that it will look great in Firefox Preview!

We will all be in Berlin for a Mozilla all hands even next week. Our replies might come late, unfortunately, but we’ll reply with feedback as soon as we can.

Until then,
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-02-05


Hi Raymond,

I was going to test the uiFlavour change that you’ve made, but unfortunately dev build 1.24.3b11 is no longer available to download.

When I downloaded the latest dev build 1.24.5b1, I wasn’t able to find uiFlavour under advanced settings. And when I tried adding uiFlavour manually, it didn’t work.

Do I need to download another special build to see the UI changes you’ve made? (If it’s too much work for you to make a special build, then it’s not a big deal – I’m happy to see a few screenshots from you).

Thanks again for following the design I sent out. I hope you felt like it was a collaborative process, and that uBO now looks better on mobile.

For the moment, I wonder whether you’ve looked at our icon library?
https://design.firefox.com/icons/viewer/#

At the moment, our Android selection is limited, but we have heaps more in this folder, which is ready for you to use.

https://drive.google.com/drive/folders/1_DeNm4b9z94YhSnxQwhLu6f4mgghf9DN?usp=sharing

There are a couple of icons we have, which looks similar to ones you use. I’ll attach them on this email to save you time and effort:

  • Energy.svg – similar to element zapper
  • List.svg – similar to logger
  • Preference.svg – not similar to dashboard, but we also use it for settings/preferences
  • Pop-ups.svg – similar to block pop-ups
  • Readermode Size.svg – similar to block remote fonts

Unfortunately, we don’t yet have the full suite of icon for you to do a total replacement. And I know you want interface elements to look like they belong together. Have you considered Font Awesome 5?

When I see the new interface, I’ll come back with feedback ASAP.

Thanks again,
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-02-06


When you force an update of uBO, you need to restart it or restart Firefox, as uBO will not restart immediately upon update to avoid loss of user data. Be sure the version in the popup panel is the latest dev build one. Sometimes I found that I need to disable uBO, force an update, quit Firefox, launch Firefox then re-enable uBO.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-02-18


Hi Raymond,

On the last dev build, I wasn’t able to follow your instruction as the “uiFlavour” pref wasn’t there to modify. I was finally able to download the latest build and test the changes today.

I was really impressed by all the changes you’ve made. Thank you very much for rebuilding your UI and restyling it to fit! It has paid off. And when Firefox Preview releases to the public, uBlock Origin will be the first ever add-on to have a mobile-optimised interface.

At this point, I would consider your work complete. The only other set changes I would make, if you are open to it, are minor. They’re to bring your colour scheme in line with Fenix’s (so you look native), and to bring some UI elements in line with how Android works.

This work is totally optional. If you think that uBO’s desktop branding is important to carry to mobile, you can keep your existing stylesheet. The biggest chunk of work was already accomplished. The mobile UI you’ve built is enough to make uBO feel at home on smartphones.

Here are the optional changes I would propose for your consideration:

  1. Change body text colour to match Fenix Text colour

body {
color: black; → #20123a; (want something darker? Try #1d1133)
}

  1. Change switch colour to match Fenix Blue colour palette

#switch .fa-icon {
fill: #0060df; (we also have these shades of blue: #054096, #0250BB, #0090ED, #00B3F4)
}

  1. Change tool text and fill colours to match Fenix On-Light colour (identical to text)

.tool {
color: #444; → #20123a; (darker shade: #1d1133)
fill: #444; → #20123a; (darker shade: #1d1133)
}

  1. Move icon badges from bottom-right to top-right (matches how badges work in Android)

.fa-icon-badge {
bottom: -20%; → top: -20%
}

  1. Change hr border colour to match Fenix Separator colour

hr {
border-top: #ddd; → rgba(21,20,26,0.12); (flattened colour: #e3e2e3)
}

  1. Change table background colour to match Fenix Grey (Light UI) colour palette

#firewallContainer > div > span {
background-color: #e6e6e6; → #e0e0e6 (alternatives: #cfcfd8, #f0f0f4, #f9f9fb)
}

Screenshot of my result:

We also have a dark theme, which you may be able to target with @media (prefers-color-scheme: dark):

Perhaps Philipp can help us confirm whether add-ons can detect Fenix’s theme and show a different set of styles to suit?

Either way, we are good for release as it is.

Thanks so much, again!
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-02-20


Hi Bram,

I did all the changes you suggested below -- they are parts of the uBO version 1.25.0 which I published yesterday.

Things I didn't do yet:

  • Dark theme: I admit I will need guidance for the color scheme.

  • The scrollable tabs in the dashboard. I remember you mentioning that Mozilla had code for this, I would like to reuse this code in uBO.

  • I wonder: should the tooltips in the popup panel be re-designed as well?

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-02-25


Hi Raymond,

Dark theme: I admit I will need guidance for the color scheme.

Good news: I was able to confirm that it’s possible to detect Fenix dark theme through the use of CSS prefers-color-scheme.

I don’t have a uBlock-specific dark theme CSS that I can share. However, in the past, I’ve mocked up what our dark theme would look like on Material Web Components:

https://codepen.io/brampitoyo/pen/Jjoordg

I believe that we can do the same CSS targeting technique for uBO, and achieve a good result.

The scrollable tabs in the dashboard. I remember you mentioning that Mozilla had code for this, I would like to reuse this code in uBO.

We don’t have a code for this, but would recommend using Material Web Components because we know for sure that it’s going to look good on mobile devices.

Here’s an example of your dashboard layout, that I’ve worked on:
https://codepen.io/brampitoyo/pen/zYGNjwG

Unfortunately, because this involves a third-party design library, I don’t know whether it’s going to be easy for you to integrate into uBO.

I wonder: should the tooltips in the popup panel be re-designed as well?

Yes, if you’re interested, then I think we should redesign it.

Because there’s no concept of “hover” on mobile devices – and because long-press is commonly reserved for context-menu – we don’t have any of tooltips on Fenix.

Instead, we rely on the icon to be self-explanatory, or for those icons to have clear labels.

For example, we can prefix the words “Cosmetic filtering” or “Remote fonts” with words that conveys the current state of the feature.

For example:

  • Cosmetic filtering allowed
  • Remote fonts allowed

Alternatively, we could a toggle control that makes it clear whether that feature is ON or OFF. Another alternative is to have checkboxes that the user can check/uncheck.

But in this case, I realise that space is limited. So I’d recommend just making the caption clearer by explaining its current state. Is it on or off? Enabled or disabled? Write that below the icon.

When you tap those icons/captions, firstly we change the icon. If something is crossed, we un-cross it.

Secondly, we change the caption to suit the current state:

  • Cosmetic filtering allowed → Cosmetic filtering blocked
  • Remote fonts allowed → Remote fonts blocked

We use “allow” and “block” consistently throughout Firefox and Fenix for permissions. But if you like, you can use “On” or “Off” for your features. Or even “Enabled” and “Disabled”. As long as it’s consistent, I think your users will find them clear.

In summary, what I might do on mobile, is to clarify the caption text underneath each icon. On desktop, tooltip might be appropriate as those devices have a mouse-hover state.

What do you think?

Talk again soon,
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-04-08


Hi Bram,

I finally found some time to work on the dashboard and the latest dev build [1] contains the changes to implement your sketch at [2]

I tried to replicate as well as possible what I could see in your sketch.

I decided that the redesigned dashboard will be used for all versions of uBO instead of just for Firefox Preview. So far I have converted the two most-used panes which suffered the most on small display, the Settings and "Filter lists" panes.

I will be happy to make changes and fine-tune as you see fit. I didn't test the re-design on Firefox Preview because I can't easily install uBO's dev build on it, I used the Responsive Design Mode on Firefox Nightly and I also tried it on main Firefox for Android version.

[1] https://github.com/gorhill/uBlock/releases

[2]
https://app.abstract.com/share/54f1465e-8d1c-4e7b-9ae4-f37e21bef7fe?collectionId=72b94e4e-2e7d-4e43-b5fc-aadd451939ea&collectionLayerId=13e3ba28-ee47-46e8-98f5-6f00948c5168&sha=95d331bab08df7e733f2aa54eb60fc5acff40765

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-04-09


Hi Raymond,

Sending you all the screenshots from my test device, below.

I really appreciate you for working on this “last mile” feature – pages that many users don’t see, but will make all the difference for those who use them.

Seeing your designs was encouraging. I honestly think that there won’t be much more to do other than the usual suspects: matching font/form element styles, sizes, colours and paddings to Fenix style, making sure that everything is sized properly for touch targets (48dp height if possible), etc. And that’s because you’ve done the hardest part of the work: making the navigation tabs mobile-friendly and horizontally scrollable.

I’m about to go on holiday starting tomorrow until the end of next week. I’ll review the design and send along suggestions when I’m back.

uBlock Origin is still the most Fenix-native looking add-on so far. And with this Settings design, I think it will continue to widen the lead. Congratulations again, and thanks for working on this!

–Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-04-09


Hi Bram,

Thanks for the feedback screenshots, they made me realize the results is not what I thought it would be. I did follow your guidelines regarding color and font size, but I see issues in the screenshots:

  • The non active tab buttons in the dashboard are blueish in your screenshot -- I did not expect this. I found this is caused by the fact that these buttons are a tags and thus in your case they are rendered as unvisited links. I fixed this by converting these elements to span tags.

  • I realize the font size is not as 16px/24px as you suggested. I found this was caused by a bad cut & paste of CSS code, which caused the desktop font size (14px/21px) to be used. When I used the Responsive Design Mode in Firefox's dev tools the font appeared larger and I wrongly assumed that the 16px/24px was really being used.

The fixes above are in latest dev build of uBO[1].

Hmm, as I write this, I realize that by converting the tab buttons to span tags, I may have made uBO's dashboard less accessibility-friendly -- the buttons can't be selected using the keyboard, I will look into this.

[1] https://github.com/gorhill/uBlock/releases

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-04-19


Hi Raymond,

Here are screenshots from the latest dev build (1.26.3b0):

Responding to the issues you’ve written:

The non active tab buttons in the dashboard are blueish in your screenshot

This seems to have been fixed. The non-active tab colours are now dark grey, just like normal text.

I realize the font size is not as 16px/24px

Although there’s no apparent font size change on the last set of screenshots and these ones, I can confirm that the size you’ve specified matches ones found in our Main menu and Settings. In other words, they’re 16px. Compare the font size of your tab titles with the screenshot below:

On the contrary, a 14px text looks smaller, like what we use under Settings → Add-ons → Details:

Lastly, here are a couple of small visual recommendations that I’ve promised to send:

  1. Have you thought about changing the blue highlight colour of your checkboxes, into the same accent colour that we use (#312a65)? Alternatively, you can use a brighter accent colour, which is #592acb. Feel free to pick!

  1. Have you thought about changing the colour of your links, into the same colour that you use for active tabs (same colour that we use for links – #592acb)?

  1. On your dashboard Settings sub-page, I notice that you have a few headings: “Privacy” and “Default behaviour”. And on your Filter lists sub-page, you have various headings like “Built-in”, “Ads”, “Privacy”, “Annoyances”, etc.

If you’re wondering about how we style them, you can look at our Settings for inspiration. We also have a few headings: “General”, “Privacy and security”, “About”, etc.

Each heading is set like this:

  • font-family: Metropolis
  • font-weight: 600
  • font-size: 14px
  • color: #312a65
  • horizontal ruler colour: #e0e0e6

  1. For all of your list items, have you thought about making their measurements, width/height and paddings consistent? See this example:

  1. Have you thought of matching your button measurements and style to ours?
  • font-family: Metropolis
  • font-weight: 600
  • font-size: 14px
  • color: #312a65
  • background: #e0e0e6
  • height: 36dp
  • left/right padding: 16dp

We follow Android Material button specs closely: https://material.io/components/buttons#specs

Your buttons are on the left, and Fenix buttons are on the right:

a

  1. On the Filter lists sub-page, you have the +/- symbol to indicate that each heading can be expanded. In Android, we use the downwards arrow for this purpose.

Because you aim to make your mobile and desktop UI consistent to some degree, I’m not sure if a downward arrow would be appropriate to use in this case? It’s just something I put here to consider.

Your UI is to the left, and Android System Settings UI is to the right:

a

You’ll notice that all these recommendations are just small refinements on top of all the hard work you’ve already done. I hope I’ve put them in a format that makes it easy for you to consider, in case you’re interested!

Talk soon,
Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Raymond Hill
2020-05-13


Hi Bram,

I was wondering if you mind that I create a new issue on uBO's repo to reflect the relevant email exchanges we had since the beginning?

The main idea is that your contributions to uBO are made public and in general I just like that uBO is development details are completely open to the public. There are also many details in your past emails which I know I still need to address so having those details collected in an opened issue will document what is still left to do.

I have no problem if you prefer to decline so don't feel like you have to accept.

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Bram Pitoyo
2020-05-13


Hi Raymond,

I don’t mind at all! In fact, I was emailing you initially just in case you’d prefer mobile contributions to be made private until you’re ready to announce them publicly.

In the future, it’s good to know that I have your permission to directly file GitHub issue and get community’s eyes on it, instead of working privately all the time :-)

Thanks for being a great collaborator. I look forward to seeing the issue in the repo.

Bram

@gorhill
Copy link
Member Author

gorhill commented May 14, 2020

Related issue: #1005

@uBlockOrigin uBlockOrigin unlocked this conversation May 14, 2020
@uBlock-user uBlock-user added the discussion weighing in community's input on a specific topic label May 14, 2020
@gorhill
Copy link
Member Author

gorhill commented May 16, 2020

Just to clarify some choices that were made in the new popup panel, there are changes that I have made on my own and for those who do not like them, I am the one to whom you should complain. Here are the choices I made on my own:

Re-purpose the Firefox Preview popup panel to become the deskop popup panel on desktop browsers.

Bring the per-site switches close to the power button: The per-site switches affect the current site, and may require a reload of the page, or may require clicking the padlock or eraser, hence why it makes sense to have them closer to the power button at the top. The only reason they were at the bottom in the previous panel is just because I originally threw them there years ago to not change what was above, there was no profound reasons to have them there.

Move the less often used "go somewhere" icons toward at the bottom: Because they are less often used, and well separated enough from the per-site switches such that they are not to be confused as per-site switches.

I added the hostname label of the current site. This is something I have tried numerous times to accomplish with the old panel, but that did not work well (panel was too narrow). It finally fit in there well with the new panel.

I extended the existing "More" button into More/Less buttons to give more control about which sections are visible in the popup panel. This takes care of many issues including those which were not made official in the issue tracker. For example there had been requests in the past about not showing the "Blocked since install" count. This also allowed me to now hide the per-site switches by default on new installation of uBO: I want the panel to be suited to install-and-forget users by default, and per-site switches should not be visible for install-and-forget users.

Edit: Clarify to more points.

@guillotjulien
Copy link

guillotjulien commented May 16, 2020

I don't think it's a good idea to listen to Mozilla's advice, they aren't good at UI/UX, just look at firefox.. they lost all their users in the past years, and UI/UX is one of the reason of the exodus

Maybe you need to take a closer look to Firefox preview, firefox focus and the new desktop interface then. They changed a lot of things for the best.

Design choices are at the end only a matter of personal tastes, for exemple, I feel that Chrome UI sucks. But the advices provided here (if you exclude the part with matching colors), are advices that make sense for most mobile interfaces. Bigger controls and text, plus lower information density make it easier to interact on mobile for most users.

@andyljones
Copy link

This thread has made it to the front page of HN. You may want to lock the thread for a while, and delete this comment either way.

@objection-1
Copy link

objection-1 commented May 16, 2020

@RUSshy

  1. You claim an "exodus" but show relative data (%). The percentage can decrease by simply increasing the total amount of users. And into the reference time falls the rise of mobile and tablet with the increase of usage of Chrome and Safari. So, please use different data to prove an exodus.
  2. You claim Firefox has bad UI/UX yet argument against one of the most popular extensions using the same UI than the main program. Isn't this a point that you should consider?
  3. There is so much more to consider (e.g. Google.com and youtube.com encouraging users to switch to Chrome?) than just claiming people are leaving with bad UI design being "one of the reasons".

@hjek
Copy link

hjek commented May 16, 2020

New design is lovely. Minor new issue: The pop-up is quickly resized four times before it displays (causing bright flashes if a dark browser theme is used).

@volcbs

This comment has been minimized.

@zakius
Copy link

zakius commented May 21, 2020

I consider these 6 buttons used for domain filtering a bit too tall but definitely not wide enough on mobile

And the overall look of interface and settings is kinda off, looks like mobile app made to look good, gives me the same feeling as DevTools in Quantum

@minig0d
Copy link

minig0d commented May 21, 2020

  • In the Advanced part of the Overview section:

    • Add a column header with either the text or icons to remind which column is global vs. local

Declined many times already

Must be requested multiple times because a lot of people think it's a good idea... :)
Maybe a watermarked icon as an image background as a compromise?

  • Rather than just one long grid with those two columns, consider horizontally splitting the chart into 3 sections:

This will suggest they are separate, but they depends on each other (rule precedence)

None of my suggestions are intending to suggest that there is a PHYSICAL separation in function (except the zapper/picker), they are simply suggesting that some of the layout doesn't really match up with how we subconsciously expect to see it laid out, so it increases the learning curve. So again not to suggest there is a physical distinction, just saying when I'm trying to mentally organize what blocking I want to implement or what I am comfortable relaxing based on the the site, I'm thinking... 1) This is what I'm ok with relaxing globally 2) then based on the site I trust their first party content X amount 3) but still don't trust the third party content. (and based on each of those 3, then whether it should be blocked/allowed globally or locally. But right now it mentally directs you to the global vs. local decision and then lumps everything besides that in one bucket which is backwards.

  • Back in the "basic" section:

    • Consider a "rebrand" of the element zapper mode vs. picker mode to more clearly differentiate the purpose. Ex. rather than "Enter element zapper mode" and "Enter element picker mode" something like "Temporarily zap elements from page" and "Select elements to permanently filter"

Hmmm...

  • Maybe just personal opinion but in the many years using uBO I've never used these toggles so I suspect others don't either.

Some use them many times a day
(sorry this comment was just an introduction leading up to the next)

Thought about burrying them all behind the master power switch in one of those downward arrow on the right "additional options" dropdowns? If not behind the master power switch potentially burrying the large media and remote fonts (which I would bet are used significantly less than any of the other buttons) to reduce "clutter"?

This is the default for new installations? Click again on "Less"?
Wasn't meaning as far as collapsing the advanced options panel, was meaning that the quick toggles for all the smaller options be placed under a "split button" of the main power button. (or
Screenshot

Sorry didn't know the official name but one of these: (and if not a split button, maybe put the buttons in a small accordion/collapsible section or in one of those floating modals when you hover over something... )
Screenshot

If not doing it on the main power button, possibly collapsing "fonts" and large objects under a split button. Not earth shattering important but theres just tons of buttons everywhere and there are techniques to help bring order to them and present them in a little bit cleaner of a manner.just a lot of "clutter"

  • If the intent is for the DOM inspector to be the primary place for creation of exception rules, suggest adding a direct link from the overview directly to it. Probably 90% of the time I even touch uBO that is not creating an additional block, is to have to whitelist something (usually due to a filter list), so IMO, there should be quick access to whitelisting.

This is rather advanced tool, for easy usage there is already cosmetic filtering switch.

Sorry not meaning to spotlight the functionality of the tool, just pointing out the lack of symmetry/consistency in workflow that could seemingly be remedied with a direct icon to the DOM inspector like there is one to the logger. But that's also an inconsistency in itself... I actually really like the little mini "wizard" to build filters/exceptions within the logger and get disappointed when I'm not able to use it to whitelist cosmetic exceptions.


Again none of these are earth shattering, just slight tweaks that would make the layout more intuitive and cleaner.

@ghajini
Copy link

ghajini commented May 22, 2020

@gwarser
Iam on firefox android 68 and firefox android beta 75.0.0 beta 6

Ublock origin 1.27.6

Iam not seeing tooltips yet

  1. No popup switch is absent on firefox android stable build, ublock origin 1.27.6

@gwarser
Copy link

gwarser commented May 22, 2020

Iam not seeing tooltips yet

@ghajini no icon captions? "tooltips" are only possible on devices with mouse pointer.

No popup switch is absent on firefox android stable build

Yes, by design, explained above.

@ghajini
Copy link

ghajini commented May 23, 2020

Ubo 1.25.2
Long pressing on switches will show
tooltips
IMG_20200523_152734

for touch android devices....these buttons now in 1.27.6 don't describe what they meant for?

Also brampitoyo explained how to implement tooltips feature here

#1027 (comment)

At least like this to be done
IMG_20200523_154615

@zakius
Copy link

zakius commented May 23, 2020

by the way, the "show more, show less" row shows only one more row for me when unfolded, wouldn't it make more sense to just show that row directly instead? or is something more supposed to show?

@gwarser
Copy link

gwarser commented May 23, 2020

At least like this to be done

@ghajini but captions are already here. How it looks on your phone? Screenshot?

by the way, the "show more, show less" row shows only one more row for me when unfolded,

@zakius click again.

@zakius
Copy link

zakius commented May 23, 2020

ah okay, so it can be folded further, in that case it makes a bit of sense

@gorhill
Copy link
Member Author

gorhill commented May 23, 2020

@ghajini

brampitoyo explained how to implement tooltips feature here

See:

There are also many details in your past emails which I know I still need to address so having those details collected in an opened issue will document what is still left to do.

@ghajini
Copy link

ghajini commented May 24, 2020

@gwarser automatic update from previous version of ubo crippled some ubo settings and I reinstalled fresh ubo 1.27.6 & it looks like good now...
I read above about block all popups switch removed due to limited horizontal space....would it be possible to add horizontal scroll bar to adjust block all popups switch

https://user-images.githubusercontent.com/20338483/82748400-28614880-9dbf-11ea-827d-69cebeab5b8e.jpg

@gorhill thanks I will stay tuned to more updates and firefox preview stable....

@gorhill
Copy link
Member Author

gorhill commented May 24, 2020

@ghajini For now you can add +no-popups to undocumented advanced setting uiPopupConfig to force the no-popup switch to appear in the popup panel.

@volcbs
Copy link

volcbs commented May 25, 2020

@gorhill Any chance to bring back ub0 version number to popup again like in the legacy one?

@SumatraPeter Huh? Just install the ms store one, dude. Read the release page, he's recommending to use the ms store one for chromium edge users.

@setanarut
Copy link

hover color bug.
a

@filips123
Copy link

I actually made fix for this (which removes shadow) few months ago but I forgot to make PR. Branch with fix is here. But I can't made PR anymore because:

An owner of this repository has limited the ability to open a pull request to users that have contributed to this repository in the past.

@gwarser
Copy link

gwarser commented Jul 22, 2020

@hazarek all buttons have shadow on hover, why this one should be different?

@uBlock-user
Copy link
Contributor

That's not a bug, it's by-design in the new UI.

@filips123
Copy link

It is different for other buttons:

  • Shadows for other buttons have some padding around the icon. This button's shadow doesn't have any padding and stops immediately where icon ends.
  • Other buttons are located in some kind of "box" (there are lines at the bottom and top) and there are multiple buttons located next to each other. This button doesn't have any "box" and nearby buttons.

@filips123
Copy link

I like your first mockup. Except color should maybe be different to be consistant with other elements.

@setanarut
Copy link

Old and better icons in the logger window.
c

@filips123
Copy link

Well, icons are better in redesign. Shadow on hover also looks good most icons, except main on/off switch because it is not contained in any box. For that icon, I think that it would be more appropriate to change color instad of adding shadow.

I tested few availible var colors and I think fill: var(--default-surface-hover); would be most appropriate when switch is turned off on hover and fill: var(--blue-60); when it is turned on on hover. It's not very drastic change, but would probably help.

This is how it looks:

button

Maybe colors should be changed a bit to provide some more contrast, but in general I think something like this would look nice.

@setanarut
Copy link

setanarut commented Jul 25, 2020

@filips123 it's good but Remove these borders, just get gray.
88457541-d05ec500-ce87-11ea-9914-20d2cae044d0-72 (sürüklenen)

@setanarut
Copy link

The ugly yellow refresh button does not fit into the layout, IMO it should be refreshed automatically. "Automatically refresh" option should be added to the settings. Browser's refresh button and shortcut already exist.
the following message is displayed if "Automatically refresh" checkbox is not selected,
"Refresh for the changes to take effect"
cap

@garry-ut99
Copy link

garry-ut99 commented May 31, 2024

No need for a duplicate thread, the whole discussion is in the current thread, you can continue here.

dzienisz: You don't know what to do

Most likely to click one of the buttons....if you don't know what buttons do:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion weighing in community's input on a specific topic
Projects
None yet
Development

No branches or pull requests