-
Notifications
You must be signed in to change notification settings - Fork 324
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
Dark theme, UI elements unification, UX enhancements #2207
base: master
Are you sure you want to change the base?
Conversation
@sensei-hacker @trailx Just updated the PR, now Everything is ready from my side. I probably will do some commits, but in general, it is ready for testing. |
If I'm being brutally honest. Reducing the height of the top bar has made it look extremely cluttered. I much prefer the taller top bar and it's layout. The sensors were easier to read (old icons were better). The old connect/disconnect button is also something I don't think should change. The rectangle button is just boring. The original button is classic and looks cooler. Plus the Configurator and Firmware version numbers shown in the top bar are extremely useful. IMHO, the top bar needs to go back to looking more contemporary. |
I get that the INAV branding color is blue, but that doesn't override good UI practice for functional indication to a user. I run our human factors team at work, and the stoplight analogy is the base rule for status indicator colors. Can you imagine if all of your dash warning lights were blue just because you were driving a BMW? I'm not talking about getting rid of all blue accents, thats a UI branding choice, but status indicators are a different thing. Blue is a fine indicator color for informational items that are not indicating good or bad. There are lots of internet design guides for functional indicator colors that cover this convention:
That would probably be better, but I still think if its actively doing something, yellow isn't a bad indicator color. You probably want some caution while its flashing because you don't want to disrupt the flash. Green to indicate a successful flash also makes a lot of sense to me.
But if everything is blue, then nothing is indicating anything. The blue probably isn't going to confuse anyone here due to the checkmark, but this sort of consistency would be nice.
My issue is that you may understand blue is good here because you've known what it meant. A new user doesn't understand the color coding that blue = good. If we're stuck on the blue color, then can we at least add some hover text or something like that?
It is indeed there on the new PR, but you can't actually see it at the same time as the Servo colors due to the window height. You used to be able to see them at the same time which was helpful. Currently Timer 12's color is awfully close to S3, and without seeing the Servo table at the same time, its not obvious that this isn't the proper conclusion.
Its a good idea never to solely rely on color as an indicator because 1 in 12 men have some form of color blindness. Even stop lights aren't totally reliant on color, since you can also determine position (bottom, middle, top) of the illuminated light. Symbols can be correlated more clearly, especially if you can provide some sort of hover text functionality to help explain it. If we utilize the same symbol for the profile selection dropdowns, and the parameters, it should help a lot with disambiguation. I literally had no idea why these parameters were different colors until about a month ago, so I'm quite certain that the current color coordination doesn't work.
Thanks @Scavanger for the explanation here. I don't fly DJI, so I never would have found this. Can we make it so these elements only turn blue when that toggle is selected? And again - a hover tooltip on the blue elements would be great to help explain this functionality. |
@trailx Knowing humans, and the topic of making things clear and avoiding confusion: Your input is valuable, the topic you've brought up is worth attention. I don't want it getting lost in some confusion. So please, make a Discussion for that topic. Any colors or other factors that are in the existing Configurator are a separate topic from this PR. I don't want that getting lost by putting it here in this PR that's going to be closed soon. Any colors or other things you see in the existing Configurator aren't part of this PR.l, so we should keep those open in a discussion that stays open after this PR is closed. Since this is in its way to be closed, let's use these comments to discuss this PR. Thanks. |
@sensei-hacker I'm not saying I'm an expert, and I'm no psychologist, I struggle to understand humans too. With this PR being general UI and UX enhancements, I didn't know exactly where to draw the line. I believe most of the things in my first review comment are related to this PR, so I'll make a discussion for some of the things in my second comment. Good suggestion. |
Hi guys, thank you for your comments, and sorry for the delays from my side.
This is what we actually need.
The problem with the existing topbar is that it's hard to put everything correctly on the narrow screens (or when the configurator is opened at half of the monitor). On the narrow screen we need 2 rows for topbar layout to put everything correctly, and if we 2 tall rows it will be too tall in that case.
The connect button is aligned with the other buttons and the general design of this PR. We can put some icon there, but I'm not sure the rounded button will look good in the current implementation of the configurator.
I've moved this text to the right bottom corner of the configurator to save some space in the topbar. But we can try to revert these changes somehow. @trailx Regarding your comments, I'll check it and will get back to you. Thank you for your work! |
@MrD-RC So your suggestion is to revert everything in the topbar as it used to be? I'm asking because I want to know what I have to do to fulfill your expectations. |
@bfmvsa Honestly yes. I think the original top bar looked better and cleaner. I understand your comments. But to me some things are trying to fix non-issues. Or at least things that should be compromises. For example.
Does this really matter? It shouldn't be used at less than 1024px wide. If someone has a small monitor they should just run at full screen. Configurator isn't made for smartphones. It would probably be fine on tablets in landscape orientation. But again, it's made for desktops and laptops. The other thing is if someone chooses to run Configurator at a narrow with. There will need to be compromises. There are no free lunches. This could mean that they lose a little vertical retail as the top bar needs to be higher. Or we could simply hide some aspects of the top bar to keep it tidy. For example, the sensors block could disappear when the screen is less than 800px (or whatever the limit is). I think having a compromise when the application is being used in an unintended situation. Is better than a compromise all the time, so that it can run under those circumstances. |
👍🏻
The connect button is a special button. It doesn't need to match the "Save & Reboot" button, for example. It can be individual. I think it looks great in the current implementation. I don't see why it wouldn't in these changes.
I think it was better where it was. It was also more obvious what version was for which part. This is important, especially for newbies. |
@MrD-RC FYI, I want to continue working on this PR after v9 is released. Unfortunately, it took me a lot of time to keep the PR in working condition due to merged changes every few days (I need to resolve merge conflicts manualy often, especially in HTML files). |
THIS IS DRAFT, please do not merge since some parts of this huge PR is still in progress.
Please Note: I didn't test these changes in Windows, because I do not have this OS, if there are any problems please send me screenshots.
I'm going to write detailed docs for all changes. But for now this short description is:
Mostly all changes are cosmetic, the biggest UX changes were in Failsafe tab (simplified visual part).
In this PR I use bootstrap sass framework for unification UI elements like buttons, tables, lists, etc. Also, it supports dark themes out of the box. However, developers still can use regular CSS files as they used to be.
Apart from Dark/Light theme, I've added an inverted sidebar & header according to this reasonable request.
Some screenshots:
[27 October '24]
Ready for testing tabs: