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

[Problem] Sketcher construction color + background color are ill-suited for colorblindness #10100

Open
2 tasks done
PaddleStroke opened this issue Aug 7, 2023 · 80 comments
Open
2 tasks done
Labels
FDWG Input or discussion from FreeCAD Design Working Group needed Mod: Sketcher Related to the Sketcher Workbench Topic: User Interface Issue related UI/UX Type: Feature FR for improvements or new features
Milestone

Comments

@PaddleStroke
Copy link
Contributor

PaddleStroke commented Aug 7, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Full version info

0.22

Subproject(s) affected?

Sketcher

Problem description

I have the most common type of colorblindness and for my eye the default color of sketcher construction color is hard to see on the default background color. Here's a picture where I removed the red from the purple-ish color to give you a hint at how it looks blue on blue (I'm not sure if this sample will be very clear though):

image

So I suggest that we change either the background color, or the construction line color.

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 7, 2023

Would a colorblind mode (like in some video games) make sense or are there too many variants of colorblindness?

@PaddleStroke
Copy link
Contributor Author

PaddleStroke commented Aug 7, 2023 via email

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 7, 2023

Right, it's rather poorly visible even for non-colorblind users. I could say the same about the dimensions' color. Theoretically, it contrasts with the blue background but in practice, it's not contrasting enough.

@obelisk79
Copy link
Contributor

obelisk79 commented Aug 8, 2023

When choosing colors, it would be wise to choose based on contrast.

Take the desired color palette and desaturate them against the background color, the resulting contrast of the image afterwards should give a good indication of appearance in instances of color-vision deficiencies.

There was also a great suggestion to implement line patterns using the new sketcher layers functionality to help different line types be easier to distinguish without relying on color alone.

@chennes
Copy link
Member

chennes commented Aug 8, 2023

Maybe the first-run Wizard that @benj5378 is working on should have a "high-contrast" option... isn't that what Visual Studio does?

@benj5378
Copy link
Contributor

benj5378 commented Aug 8, 2023

@chennes Good idea, but implementation wise, it would just be a theme/preference pack together with other themes.

@chennes
Copy link
Member

chennes commented Aug 8, 2023

That makes sense to me, but I am also fine with changing the "classic" (ahem) background color. Just be prepared for loud complaints about it.

@benj5378
Copy link
Contributor

benj5378 commented Aug 8, 2023

@chennes Friedrich Niche: classic is dead

@PaddleStroke
Copy link
Contributor Author

Colorblinds should not have to use the high-contrast option. The high-contrast migh be useful for monochromacy-colorblind, but those are like 10000 times less frequent than the regular 'red-colorblindness' that affects 8% of male people.

It is simple enough to accomodate the classic red-colorblind by choosing some colors rather than others. And I think @obelisk79 is right, choosing colors by contrast makes sure everyone can see them clearly.

Besides @FEA-eng seems to say that even for normal-eyed people the colors are not ideal. So maybe the color has to change. Either the background or the construction geo. Though the background seems to be illsuited for constraints as well for some, so maybe rather the background.

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 8, 2023

Though the background seems to be illsuited for constraints as well for some, so maybe rather the background.

Right, it might be best (and easiest) to change the default background. Currently, dimension labels are poorly visible on it, especially when they are located within the darker regions:

number

@obelisk79
Copy link
Contributor

I am working on a full icon then using a palette of colors I've already tested for good contrast. I can make some proposals for the new light/dark themes which should work well without touching the 'classic' one. Would that be a viable compromise?

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 8, 2023

@obelisk79 New themes are always welcome but, to be honest, I'd prefer the default theme (at least the background color) to be refreshed as well.

@Roy-043 Roy-043 added Topic: User Interface Issue related UI/UX Mod: Sketcher Related to the Sketcher Workbench labels Aug 8, 2023
@PaddleStroke
Copy link
Contributor Author

PaddleStroke commented Aug 8, 2023 via email

@obelisk79
Copy link
Contributor

obelisk79 commented Aug 8, 2023

I can propose some color change suggestions for default in a little bit.

@obelisk79
Copy link
Contributor

obelisk79 commented Aug 8, 2023

Below is an analysis of the current default gradient color against the entire palette of sketcher colors. It doesn't look right, but it isn't entirely apparent until you desaturate the image and see the glaring holes and poor contrast (shown in the green boxes)

If the goal is the easiest solution with minimal changes to the 'classic' colors. I suggest taking the bottom gradient color and making it a variation of the top color with reduced saturation for the gray.
I found #454554 to be a reasonable color without changing anything else. The contrast overall is still poor in several cases but this should be considered for the new default "Light Theme" and "Dark Theme" rather than classic.
image

@luzpaz
Copy link
Contributor

luzpaz commented Aug 8, 2023

Note: this is a duplicate of FreeCAD/FreeCAD-themes#6

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 9, 2023

Note: this is a duplicate of FreeCAD/FreeCAD-themes#6

Only seemingly, here we came to the conclusion that instead of separate modes for colorblind people we need a change in the default colors.

@chennes
Copy link
Member

chennes commented Aug 9, 2023

If I am understanding the discussion correctly, the proposal is to change the default background gradient to use a darker gray tone, as shown in this image from @obelisk79:

ProposedBackgroundColor

This significantly improves accessibility without requiring a complete color scheme overhaul, according to the analysis above. I think this is a solid technical basis for the visual change, but would appreciate feedback from other Maintainers before we go ahead with this. @sliptonic, @WandererFan, @adrianinsaval, @0penBrain, @Roy-043 any thoughts?

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 9, 2023

@chennes To be honest, I'm not sure about it. I appreciate the technical analysis but the top part of that gradient seems to be pretty much the same as in the current background meaning that dimensions will still be poorly visible (my example above). Besides, we should consider aesthetic aspects too - how well the sketches and 3D models will look on this background. There was a discussion about changing the default background (not for colorblind people, just to make it look better) some time ago. I think that the conclusion was that we need a lighter shade. Maybe a more grayish background would work too. It might be best to prepare a few versions (considering visibility for colorblind and non-colorblind users as well as aesthetics) and ask people for their votes.

@chennes
Copy link
Member

chennes commented Aug 9, 2023

A vote is fine for things that are purely aesthetic, but in this case there are technical considerations as well: at some point in the (distant!) past someone thought the current gradient was a good idea, after all 😄. I'd prefer in this case to find a technical solution to the problem first, then if it turns out we don't have an obvious choice and have reduced it to a pure "personal preference" decision, we reconsider whether a vote is appropriate. So if the above isn't good enough, let's keep working to find something that is, and see if the question answers itself.

@obelisk79
Copy link
Contributor

@FEA-eng holistically speaking, I believe some recent PR's are implementing a default Light and Dark themed preference pack which I think is where a more targeted review, assessment and overhaul of the entire color schemes should be conducted and push the aesthetic appearance into what many would call a more 'modern' look.

In this case, we are talking about the classic defaults of FreeCAD. My personal suggestion would be to either make the minimal change to address the visual impairment issue or just leave it as 'classic' and focus solely on the 'modern' ones where it will be less controversial to address.

@FEA-eng
Copy link
Contributor

FEA-eng commented Aug 10, 2023

Here's a previous discussion about the new background color: https://forum.freecad.org/viewtopic.php?t=72672

And GitHub issue related to it (although more general): #7623

@chennes I was thinking about choosing a few gradients that are good technically and then letting people vote which one looks better. But some screenshots with sketches and models on that background might be necessary.

@obelisk79 New/refreshed themes are definitely a good idea but we've reached the point where it might be also beneficial to change the defaults. Even if not specifically for colorblind people (assuming that a decision is made that there can be some additional settings for them) but for non-colorblind users. Maybe a change in the default dimension color would be sufficient (since dimensions seem to have the worst contrast with the default background) but new background color could also improve the presentation of 3D models and make FreeCAD look a bit more modern (nowadays, CAD software mostly sticks to white and gray instead of blue). I like the suggestions from the first page of that referenced forum thread.

@PaddleStroke
Copy link
Contributor Author

PaddleStroke commented Aug 10, 2023

@obelisk79 To my eye this new proposal is actually worse. So it seems contrast is not all that is required.
image

For example the 'external geos' becomes virtually invisible to my eye. This is because I don't see red, so if you remove the red component from a pink it becomes gray, which in this case match pretty well the darker gray.

I think the problem relies on the fact that the computer computes the dark/white picture based on 3 color visions. So the contrast you are calculating by making the picture black and white is not the contrat color blinds are actually seing.

@PaddleStroke
Copy link
Contributor Author

Maybe for the colors we should take a hint from professional softwares such as the palete that visual studio is using. They most likely solved this colorblind issue to the best of their capacity, so there's no need to reinvent the wheel.
IMO we should have just a light theme and a dark theme by default and we should copy-cat the palete that is used in a widespread software such as VS or microsoft-office where they have put in a lot of efforts in solving that issue.

@berniev
Copy link
Contributor

berniev commented Aug 10, 2023

No intention to be critical, but surely this business of color impact is not a new. Seems strange to be having a huge discussion of something that surely has been well researched etc ?? Surely there are papers, research, results, experts etc etc that mean we don't need to reinvent the whole wheel? Can't we defer to the experts?

@0penBrain
Copy link
Contributor

@sliptonic, @WandererFan, @adrianinsaval, @0penBrain, @Roy-043 any thoughts?

Nothing special from my side. Roughly I don't care, maybe because I have no eye deficiency so not really a concern for me. Just avoid something too close from the default grey color of shapes. 😉

@obelisk79
Copy link
Contributor

obelisk79 commented Aug 10, 2023

For cases like paddle brings up, I think the best approach is to leave the classic defaults as-is and develop a color conscious light/dark theme which is consistent with new preferences and considering a first run wizard being included in the next release where classic/light/dark will be selectable by new users etc. Otherwise community controversy is sure to follow. For the time-being, preference packs are usable which should at least moderately suffice regarding colors and vision problems.

@sliptonic
Copy link
Member

The issue has been raised a bunch of times and it never seems to get resolved. @berniev is right that it is well understood and there are even simulator websites where you can test various palettes and they will score it for the various forms of color deficiency.

@PaddleStroke is also right. We should be able to borrow heavily from existing solutions and be done with this once and for all.

@pierreporte
Copy link

@sliptonic I actually wanted to say that, in general, users should be able to change everything that was set by default. The two sketch themes would be temporary while they are tested. If there is an option to have a classic FreeCAD experience (I’ve read this somewhere), it could be brought back with it—provided that the color-only theme loses. I am conscious that having too much choice can be a bad thing, and it is precisely the reason that I advocate for good defaults.

@abdullahtahiriyo
Copy link
Contributor

Choice is a good thing for user satisfaction but it must be used carefully. I'm most bothered when developers are facing difficult choices about UX and avoid making those choices by just passing it off to the user as though enabling one more preference setting is always a good thing.

It's much harder to understand what makes a good user experience and build it. It's easy and lazy to just dump the choices on the user.

Brad, I am sure you appreciate that this is a line of argumentation that can be used to justify any decision. When it is something suiting our goals, we can portray it as essential. When it is something it does not suit our goals, then we should not give too many choices to the user for UX reasons and the tyranny of choices. That is, by definition, rather UX tyranny of itself.

To me FreeCAD's UX needs are not those of a web shop. UX principles that may be very important for the latter, are not necessarily good for the former. A web shop wants the user to buy fast, pay fast. Less choices equals faster paying. Buying fast is more important even than buying right. It is just a cash flow exercise.

If we set a goal for less choices, we will have less choices. Removing choices from those who want to have them (because their use cases benefit from having them) alienates users. So the socalled FreeCAD Design guide then proposes:

When making major changes, minimize discontent by empowering users to continue using a familiar version for a limited time.

When we only want to understand the tools we want to use, it is a simple exercise to take away what enables the tools of the others to be improved.

Every time I have tried to compromise, by offering differentiated profiles, or by providing a similar functionality in a different way, I get the same UX response. I have been coding for years with more or less success and suddenly, when an argument cannot be won technically, UX to the rescue, what I am proposing is bad UX.

UX cannot be made the sacred management tool to subjugate dissenting opinions. It is not right to take an elevated position and ridicule other people's opinion because of UX, or to use it to impose change on others.

Lately you and me, we have had exchanges on the topic of UX and the merge policy. We have diametrically opposed opinions. I offered then a way for me to step down. After further thinking, I am going to make it even easier for your temper. I step down. You win.

@PaddleStroke
Copy link
Contributor Author

Wearing someone out of the project is not a win for the project.

As I said before @abdullahtahiriyo :

You seem very upset but is it worth it? Because of a small disagreements on a toolbar default or on line colors and patterns? Ultimately everyone here should remind themself that we are an extremely small subset of humanity who all ultimately aim at improving freecad. We are all pulling the same end of the rope. There is no reason getting annoyed for a toolbar, especially not for defaults when it is so easy to customize it.

@obelisk79
Copy link
Contributor

@abdullahtahiriyo I hope you reconsider this decision. This is a significant loss. I have always appreciated what you do, and your level-headed approach to interacting with others (especially a strong-willed person such as myself).

@aiksiongkoh
Copy link
Contributor

Abdullah:

You are the KING of Sketcher. Present your way that works and let others to modify as they are capable. What is most important is Sketcher works and works. Even if it is not the most beautiful. Enjoy the poem below
https://www.desiderata.com/desiderata.html

All the best,
Aik-Siong Koh

@sliptonic
Copy link
Member

Others have said it better than I could. You leaving doesn't mean I win. It means we lose. All of us. FreeCAD needs diverse opinions and people to champion those ideas.

@xtemp09
Copy link
Contributor

xtemp09 commented Dec 22, 2023

Perhaps, it would be better if FreeCAD used already existing color schemes made by others, like Flowwie's secret color scheme 1 or ones present in other CADs, of course, given old default theme as an option in preferences.

Footnotes

  1. https://youtu.be/DnWe50PH_GQ?t=63

@pierreporte
Copy link

@PaddleStroke Here is a first DWG proposal to resolve this issue: New sketcher style.pdf. It is currently being discussed.

@maxwxyz
Copy link
Collaborator

maxwxyz commented Jul 25, 2024

Would for 1.0 a new default color for the background gradient (slightly adjusted as in the OP) be enough?
@MisterMakerNL FYI

@MisterMakerNL
Copy link
Contributor

Classic by now is more product identity branding which the purple color is part off.
Light and dark theme have single color backgrounds, reasons are that a modest gradient caused severe color banding which was annoying. And so the best workable solution was just one color.
So I would say this topic is done for?

@pierreporte
Copy link

The issue is actually broader than just the classic theme. The solution will impact all built-in themes (for consistency). I say we wait for the @FreeCAD/design-working-group discussion about the new sketcher style is over, so we decide how the change will formulated in existing or new issues.

@PaddleStroke
Copy link
Contributor Author

IMO 1.0 is a good time to kill off the ugly 'identity branding' colors and use the open light colors. It would mark the new version.

@maxwxyz maxwxyz added this to the 1.0 milestone Aug 5, 2024
@pierreporte
Copy link

I agree but it wouldn't be a complete solution to the problem.

@microbearsmb
Copy link

@maxwxyz Would it be safe to consider this a blocker? Not functionality - wise, but if there is a major style update coming to Sketcher (a la the DWG proposal) soon, it seems, as @PaddleStroke said, that it should happen with 1.0 rather than with a near-future next update.

@maxwxyz
Copy link
Collaborator

maxwxyz commented Aug 13, 2024

As much as I agree that this is an annoying issue, especially with the Classic theme, I don't think this could be a defined as a "blocker" for the next release as the prior stable versions all have the same issue.

@leoheck
Copy link

leoheck commented Aug 18, 2024

Not being able to actually see design features is compromising the functionality. For instance, right now PD is generating objects that I barely can understand. I am not being able to finish my designs.

@obelisk79
Copy link
Contributor

I don't have issues finishing my designs, and neither do many others. You should be more descriptive when making such a broad statement so it will be better understood. I agree the current colors are far from ideal. But since they have been in place for many releases, I don't think it's fair to consider them a blocker for release.

@tcurdt
Copy link

tcurdt commented Aug 18, 2024

FWIW "But we have done it like this for years!" is usually a really weak argument and rarely aligns with "fair".
I am not quite sure it really is a blocker, but it sure would be nice if it was considered to be one.
Improving visuals would be a great opportunity for 1.0 IMO.

@pierreporte
Copy link

The problem is, we’re in feature freeze and the 1.0 release is coming sooner than later. The complete solution hasn’t been properly evaluated yet (due to lack of time partly induced by the feature freeze). Even if it has been decided to follow it, development would be needed because it’s not only tweaking settings. Even the lighting problem, that contributes to the readability of sketches, cannot be fully solved right know because of the feature freeze. The goals for 1.0 weren’t UI/UX so it wasn’t considered a priority. Hopefully the next version will have the improvements.

We don’t like more than you to ship 1.0 with a suboptimal sketcher, but choices needed to be made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FDWG Input or discussion from FreeCAD Design Working Group needed Mod: Sketcher Related to the Sketcher Workbench Topic: User Interface Issue related UI/UX Type: Feature FR for improvements or new features
Projects
Development

No branches or pull requests