-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
UI improvements for Firefox add-on running on Android #1890
Comments
It's even harder with the advanced mode, where you can use the different colors to allow/passthrough/block certain other domains/objects. After using it for quite some time now, I'm able to reliably hit the "grey" that I use to allow images/etc. from certain other domains, but still not always. uBlock Origin in general really works very well on Firefox on Android, but the UI is a bit difficult to use with touch. |
I think I've just tried Though |
I would agree, a specific UI for mobile would be awesome. I know for example, just to be able to select the element picker on Firefox for Android I have to zoom in like 500x into the small area where the dropper icon is to get a finger touch to register on that particular element. There is definitely a lot of "white space" that isn't really optimized for a small mobile screen. @gorhill How could the community help implement & test a better mobile UI? |
I've got so excited about uBlock Origin, and it run so much better than ABP that I got really into helping making this tool work better for mobile (and desktop) devices. Here is a (tiny tiny) sneak peek of what I've been thinking for it: (Some labels are not in english because I only had a portuguese version of uBlock running on my machine) Also, a desktop version: I would create a new Issue to propose some UI improvements, but just noticed that @gorhill do not accept "design proposals" as Issues, so I'm really not sure if the project is open to new UI ideas at all. But anyways, if there is some space to work on the code to make this happen, I would gladly help build it (most of the current DOM structure and JS plugins remain the same, so it should not take much effort to make those visual changes). |
@kazzkiq I like what I am seeing in your pics. I am willing to bring in your design -- as long as for now the redesign is limited to the dashboard. Is this really just CSS work? |
@gorhill Yep. I would say 4/5 CSS work, 1/5 HTML or JS changes. As the core behaviors (tabs/views, collapse-panel, etc) already work pretty well, I think the work would be put mostly into styling the dashboard and adding some classes to some elements. Small HTML rearrangement would be needed to make a prettier mobile menu, but analyzing the Dashboard code, I can't see any other considerable HTML change besides the mobile menu. If you want to go forward with this I can show some other screens from the dashboard and start implementing it this week. |
For me, the most important UI improvements for mobile (which the original issue was about) could be done to the panel in the second screenshot in the original post and especially the advanced view of that: This is really hard to use by touch on a 4.7" 1080p phone screen - especially selecting red/grey/green. |
Speaking of the dashboard (and UI/UX improvements): One thing that always felt a bit strange somehow and not really intuitive, is that the default dashboard tab (i.e. where you always land when accessing the dashboard) is the settings pane. Because in normal usage, normal browsing etc. it is never my actual destination. I open the dashboard and switch to 'My Filters' or '3rd Party Filters' immediately. I basically use the settings tab only once, to pick my preferences, and then I'd never go there again. I don't know what you guys are doing there or how you are using the extension, but I don't really get the thought process behind this. Maybe it's just me.. So, I would propose to either...
I don't know. Just my two cents.. |
@Hrxn just to add a little to your discussion point, the only thing I use on the landing page frequently is the 'Backup to file' option. Honestly though, this could be moved to the 'About' tab to mirror uMatrix functionality and I would have no problem with that. I agree that most of the other Settings are probably set once and then never changed for the average user. (That is the case for me at least). It does seem to me that the majority of users would find the '3rd-party filters' or 'My filters' tab more useful as the default landing page. One additional thought if we are thinking of UI improvements for uBlock, does it make sense to include a link to the logger on one of the landing tabs? Not sure if this would change the resources needed to run the extension but another idea is to just incorporate the logger as a tab from the dashboard. From monitoring the issues submitted here over the last few months I think a lot of people who use uBlock have no idea the logger even exists because it is hidden behind a graphic icon that doesn't always even pop up the "alt text" when you hover over it. |
Let me mention a bit of my ideas, too:
P.S. @kazzkiq I'm quite impressed with your initial sketch design, please show us other parts! Also, do you have any ideas for popup panel UI improvements? |
To be clear: I am opened for a re-skin of the dashboard for now. To keep a possible re-skin of the dashboard as simple as possible, I prefer everybody hold onto all their ideas of what everything should look like, etc., that is an endless debate and will drown out what the narrow "reskin dashboard" issue with minimal code changes. For the popup panel, it's set in stone, I may investigate what helps for mobile, but no grand redesign or grand re-skin. |
@spectatorBH Here are other screen samples: I agree with @gorhill. Perhaps we should start only with dashboard and then in the future, once dashboard is finished, and once the changes are accepted, then maybe we look forward to change other parts with the project owner's approval. For now, dashboard is a good (and ambitious) challenge. @gorhill I can make a fork and start working on the code already, once its stable enough I can send a PR for your approval. Its that ok for you? |
In 3rd-party filter lists, I like it better if the visual emphasis is more on the checkbox and the name of the list (I still prefer a checkbox than a switch-like UI). The visual for the purge-cache and out-of-date buttons need to be less prominent -- these are secondary information, the primary one being the list name and whether it is selected. |
Is the dashboard redesign still on the cards? I ask because I like it a lot and because a fork or any other discussion hasn't happened for a little while now. |
@kazzkiq Please don't use those switch-like checkboxes. They are not "modern", they are just bad. Normal checkboxes serve the same purpose while occupying less space, and are not any harder to hit with fingers either. |
Visual Recognizability > Occupying Space |
Yes, they are also ugly. And side vision won't tell you their current state, you have to actually look at them to see their state. |
As proof of concept, decided to make some quick and dirty CSS only changes to the dashboard. I made some progress on the first two panes:
|
100% subjective.
? |
@FatOrangutan Good job on that PoC, could you make a repository for it? |
@FatOrangutan Good stuff, please post the CSS.
Indeed.
Normal checkboxes were made with mouse and keyboard in mind, whereas "slider" checkboxes were made for touch devices to prevent the user from accidentally switching them. With mouse that's never been a problem. |
How? |
If you try to swipe them in the wrong direction they won't work. Not all touch applications behave like that, though. |
Sorry folks, I've been deeply engaged in a project these weeks and couldn't start working on the implementation until now. @gorhill I've made little changes to the 3rd-party filter lists with more focus on the names instead of the secondary information: Checkboxes vs SwitchersWhile I agree that for desktops a checkbox might be enough (and maybe even better for UX, as users are already used to it), on mobile-devices switches are way more used. This is better for user recognition, and easier to deal with a finger than a mainstream checkbox (better usability). So I would say the best option would to keep checkboxes in desktop devices, while showing switches to mobile users. Note that this also can be easily achievable with only CSS (and maybe a little change in the checkboxes HTML). @FatOrangutan Neat! Could you please make the code available so we can also help implementing it? Perhaps we should define an oficial repo-branch to start working/testing the new design? |
I have attached the CSS code / userstyle. I worked a bit on the remaining pages in the dashboard and made some slight improvements to the ones in my previous comment. Here's how it looks like now: http://imgur.com/a/oGmox Please bear in mind that I'm new to CSS and the code is very messy. It was originally meant just for my personal use so it wouldn't scale very well at all. I am on 1366x768, and it should look mostly fine at this resolution and maybe even resolutions close to it. I was using this with Stylish, so accordingly the @SW1FT , @kazzkiq : I don't know much about how to do things at Github. I think it would be best if one of you handle the repo. |
I personally like the Fontawesome switches, I used them in uMatrix. I wouldn't mind if these were used for both desktop and mobile. See: There is a good enough difference between on/off, so that it makes it easy to see at a glance what is selected or not. Btw I like the trash can to purge cache -- probably makes it easier for everybody to understand what the button does. |
@gorhill At least please consider leaving an option to use classic checkboxes, not everyone is fond of them. I personally feel like they were made for the tech illiterate who would be confused when looking at an empty checkbox. |
@FatOrangutan First of all, thanks for sharing the code, I really like the design. I did find some issues with the scaling of Regarding who should make the repo, it should probably be done by the person who is gonna do most of the work on this, or just @gorhill as he has the final say on everything. |
I took the liberty to fork the project and start implementing the new design. You can check the status (and build it locally) here: https://github.com/kazzkiq/uBlock/ I've added SASS as a CSS pre-processor to make DRY a reality in CSS (and help with the development speed). While this don't affect the final CSS, the build process do get affected a little bit. So if you wanna build the project by yourself while the new UI is on development, you may have to follow this small guide: https://github.com/kazzkiq/uBlock/blob/master/BUILDING-NEW-UI.md P.s. Please keep in mind this fork is in DEVELOPMENT status and may end up breaking UI and/or functionalities from uBlock Origin until finished. This mean you should not build an extension from this fork and use it "for production" in your browser. Things will break. Use only for testing/developing purposes. You've been advised. 🚨 |
Hey guys, first thank you @kazzkiq for your work on the UI. E.g.: |
This needs redesign. Looking at it again, I should eliminate the redundancy of showing twice the same rules. One line per rule with a padlock + remove icons for each rule should be sufficient. The padlock tells whether the rule is in the permanent ruleset, the remove icon allows to remove the rule from the temporary ruleset. |
@gwarser Bear in mind that UX designers are moving away from hamburger menus wherever possible because of the discoverability issues they create, not to mention they're very fiddly to open on large screens. It's better to have your menu in plain sight. |
bump |
@Serkan-devel No it shouldn't. For CSS to have real impact in painting/rendering performance, the number of rules and/or visual effects must be ridiculously high. This isn't achieved in ordinary browser pages, unless you're doing something smelly on your page (like rendering tens of thousands of elements at once using animations and slow visual effects like Sadly, the new visual isn't fully finished yet. There are some corners to be polished (you can see what is pending here), and I've been |
@kazzkiq Great work! First of all, when do you plan to merge the main repository changes into your repository? Unfortunately, your repo is a bit behind the main repo (by 471 commits at time of writing), but automatic merging resolves almost all differences. However, problematic files include Secondly, may I use your style sheets for a website? Probably, "yes", because it is under GPLv3, but wanted to double-check. |
@kazzkiq I notice one of the issues you've laid out is that you feel the iconography regarding synchronisation needs to be swapped/updated. But given that such large changes are being made in regards to the look and feel of uBO, wouldn't it make sense to change that iconography later rather than sooner in order for users to maintain familiarity . Also I quite like what you've done with the mobile version. It's a vast improvement in terms of usability, but I noticed that there are some aspects where the information icon seems to drop to the line below the element. That doesn't seem right. |
@bershan2 Just merged. Now the repositories are synced.
Of course! The code is under GPLv3 but honestly all my changes should go to the WTFPL. Do/copy/modify whatever you want. I also updated some styles missing (like the cloud-storage panel). Following @sabret00the tip, I'm not going to update all the icons. That would impact other areas of uBlock that also use them, and its out of scope right now. The only screens that still need working are:
All the other pages are production-ready. As always, instructions for building and testing locally can be found here. |
@sabret00the there are still some minor tweaks to get to 100% before submitting a PR. @gorhill Any specific reasons, so we can work on it? |
Too much subjective changes -- some may like the changes, others will dislike the changes. Where subjectivity is involved, status quo prevails. |
While we may all feel that it's a vast improvement in terms of aesthetics and perceptive usability, Raymond is the one that has built and maintained this extension, if he's not happy with it then that's his decision and we must respect that. |
What I've noticed is that the new CSS ends up "leaking" to other parts of the extension like the popup, events window, etc, perhaps those are examples of subjective changes @gorhill commented? The options page CSS shouldn't affect other parts of the extension, but is relatively simple to solve. |
How will this actually work as web-extension? |
@gorhill I can understand the argumentation, but I have to disagree strongly. The design is something never everyone will agree but that doesn't mean you should not change it at all. Let's make an official test build and then receive the feedback from the user. |
Its up to @gorhill and community. If its decided to give it a chance, development will be retaken. |
Hi All, I'm the original topic starter from 2016, I haven't been an active participant so far but latest comments made me feel worried. Please scroll up to my first post. I'm not complaining about design, which would be indeed very subjective. And subjectively I would definitely appreciate re-design according to most modern UX practices. But my complaints were about USABILITY on mobile devices. And this is objective. On a smaller vertical screen dealing with uBlock Origin UI is not easy. The control elements just too small and their positions not very accessible! Can we at least make an effort to make UI adoptive to user screen size? Currently, there are more mobile internet users than desktop, so it would be nice to make uBlock Origin more friendly to smaller screens. |
Here is what I would like to approach this issue:
|
Anyone wants to have another look at this in Nano? I'm planning a complete remake of Dashboard (for look and feel) and Logger (for performance and usability, I'm confident that I can make it to be able to handle 10k logs with ease). |
Have issues just been unlocked here? |
This should probably be closed now. |
Closing as suggested. The UI work is still ongoing but it's not done as per this specific issue (which has be stale for years now), it's done with input from Mozilla's @brampitoyo and the end goal is to make uBO's UI fits Firefox Preview's own design. |
Describe the issue
This is cosmetic issue I'm using uBlock Origin on Android Firefox. I don't know, is it possible come up with some adjustments on how uBlock elements look like on mobile, but it would be nice to have them optimized for mobile use.
Now I have FullHD screen and I can live with it, but previously with smaller screens it was unbelievably painful.
Note huge white space areas, and some missing descriptions for a checkboxes. Also on status popup you can see elements that could not be used for mobile phone, like eyedropper. Ok, they could be used... probably, but due to small screen it would be painful. So on my opinion they should not be displayed at all.
I don't know is it supported, but it would be nice to have add-on determine, is it running on mobile or desktop and provide user corresponding UI.
Screenshot in which the issue can be seen
Steps for anyone to reproduce the issue
Your settings
The text was updated successfully, but these errors were encountered: