Community UI/UX Improvement Project

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
obelisk79
Veteran
Posts: 1063
Joined: Thu Sep 24, 2020 9:01 pm

Community UI/UX Improvement Project

Post by obelisk79 »

Cummunity UI/UX Improvement Project

Disclaimer: Nothing I mention here is a demand. Developers are a limited resource, I don't think FreeCAD 'requires' any of these things to be functional and capable. It already is both of those things. Do not suggest additional items which may require major source code modifications to be made.

The goal of this thread and 'project' is to take the 0.21 development cycle and engage the community in coordinating feedback for simple refinements to the UI/UX of FreeCAD while also providing a series of work-optimized, complete layouts and themes in the form of preference packs that can be presented to users upon first launch. My original post text is archived in the code-block at the bottom of this post. Individual lines of effort will be explored in specific discussion threads and cross linked with this one to keep discussion organized and focused. Suggestions for additional lines of effort are welcome and encouraged. If you aren't willing/capable of programming a change to FreeCAD's source-code, please do not suggest any such modification. The intent here is to avoid asking much from the existing developers who are focused on other issues.

Keep your comments on-topic, if you aren't coming to provide something constructive to this effort please don't bother commenting.

Current planned lines of effort in rough order of approach:
  • Identify redundant or irregularly names functions features to make them more clear and less ambiguous.
  • Review toolbars to create consistency across workbenches, and potentially obscure/isolate highly niche tools by default.
  • Review UI element layout, toolbars/panels/widgets, identify potential predefined optional layouts
  • Develop comprehensive themes by leveraging the Preference Pack feature.

Code: Select all

I decided to break this away from the discussion here: https://forum.freecadweb.org/viewtopic.php?f=8&t=66867
There is a lot of [i]interesting[/i] debate to unravel in there that really seemed interesting and got me thinking. 

Stand-by, this will be a long post, and I would REALLY like to engage in some constructive debate about the merits of the following points rather than completely dismissive comments regarding feasibility. Unless some of the project maintainers pop in and tell me my suggested efforts would likely result in a complete waste of time.



[b]Thought #1:[/b] Adjustments which improve usability, workflow, intuitiveness and visual focus not only stand reason to assist new users understand and learn FreeCAD but in many cases can be of benefit to a large number (not all obviously) of experienced and professional users.

[b]Thought #2:[/b] While not a deal breaker to users who've adjusted to working around its pitfalls, the [b]T[/b]opological [b]N[/b]aming [b]P[/b]roblem ([b][i]TNP[/i][/b]) stands as one of the most problematic issues facing FreeCAD overall, and is likely the #1 issue haunting inexperienced users.

[b]Thought #3:[/b] Humans are vain, and they like visually appealing user interfaces, it conveys a sense of refinement, professionalism and often has other functional benefits. A good UI in any type of graphic design software is easy to understand, easy on the eyes, consistent in behavior and organization, and aids the user without cluttering up crucial screen space so mental and visual focus can remain on the work being performed. 

[b]Observation #1:[/b] FreeCAD has a user experience problem. Some things cannot be addressed easily or directly or require potentially involved source code modification. Other things should be able to be corrected with some community effort provided such an effort would be supported by the project maintainers.

[b]Observation #2:[/b] Expounding on my comment regarding the user experience problem is this: there are a few minor examples of non-industry standard terminology for industry standard features, which creates confusion. Other features/functions can be confused due to ambiguous naming. Other items feel like they were named by a programmer and not a design engineer with clarity in mind. Example would be revisiting the naming of Part vs Part Design workbenches in order to disambiguate.

[b]Observation #3:[/b] Default toolbar organization and layout should be reviewed from a holistic perspective to provide greater consistency across multiple default workbenches so less memorization/familiarization is required of icon positioning wherever it is reasonable. Functions which are common (or near identical in function) across multiple/all workbenches should be in the same location no matter what, with the exception of unusual circumstances or a specific requirement. (I'm certainly not an expert on every workbench)

[b]Observation #4:[/b] The UI is actually already [u]incredibly nimble[/u]. It can be configured in a multitude of ways with toolbars everywhere. Then there are addons which extend this further, I would suggest that the most popular addons be considered for integration as optional ui component/settings without requiring the addon. The default configuration of FreeCAD, stylesheet, colors etc presents the software as amateurish and unrefined by using Windows 95(ish) era design language.

[b]Possibility #1:[/b] FreeCAD community could work together on some potential new default themes/stylesheets/toolbar layouts using preference packs and how to disambiguate some of the naming conventions.

[b]Possibility #2:[/b] Integrate already existing and popular UI modifications/addons into the core FreeCAD package as simple settings that can also be activated by the new preference pack functionality. eg, Icon Themes, Glass and possibly one or two others.

[b]Possibility #3:[/b] On first launch (ie no preexisting userconfig file detected) a simple "Welcome" dialog be presented which allows users to either select the current FreeCAD 'classic', modern Dark, or modern Light 'themes', or just allow a user to download and select a preference pack (with still image preview) directly from the addon repo in the welcome window instead. This should minimize necessary code addition and review to facilitate a merge if any developers agree to implement such a functionality.

[b]Final Remarks:[/b]
What this does, in my opinion, is create a little more organization, cohesiveness and consistency to the user experience (particularly for newer users or refugees from other CAD software) while simultaneously providing new users an easy window into the customization capabilities of FreeCAD. Many of the possibilities I have mentioned/suggested can be organized and worked on by non-developer members of the community which means this effort, in theory, should not become a major distraction from other development efforts such as the implementation of TNP mitigation code.

With 0.20 now in feature lock, this could be something which would make for a great community effort for those interested in such matters during the 0.21 development cycle. This is just my own thoughts, but over the 18 months that I've been using FreeCAD, I have obviously found plenty of ways around what I found inefficient and aesthetically displeasing, and while I'm now quite comfortable, I haven't forgotten the struggle it was to get to this point and if I/we collectively can provide others a better starting point or more options for all of us, then that cannot be a bad thing. This also won't force unwanted UI/UX styles (Glass, light vs dark themes etc) on existing users who do not desire them.
Last edited by obelisk79 on Wed Mar 09, 2022 2:40 pm, edited 2 times in total.
shamanths13
Posts: 80
Joined: Mon Feb 21, 2022 3:02 pm

Re: YAUIUXDT

Post by shamanths13 »

obelisk79 wrote: Tue Mar 08, 2022 10:18 pm ping
Concise, consolidated and cognizable. Well done! One thing that was very evident from the previous thread- People are AFRAID of change and are afraid to get out of their established comfort zone. The long time users of Freecad have invested years learning and mastering the existing layout and optimized their workflows based around it, any talk of change is met with systemic criticism. As much as it is about improving UI/UX to appeal to new users, we must also convince the people who are used to the status quo, that there are better ways to go about their workflows if they are willing to adapt. The changes need not be drastic and can be taken slowly. This seems to be a twin pronged problem.
Cheers!
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: YAUIUXDT

Post by chrisb »

obelisk79 wrote: Tue Mar 08, 2022 10:18 pm Observation #1: FreeCAD has a user experience problem. Some things cannot be addressed easily or directly or require potentially involved source code modification. Other things should be able to be corrected with some community effort provided such an effort would be supported by the project maintainers.
I'm afraid you are wrong here; not utterly wrong, but quite. It's not FreeCAD which has the user experience problem, it's the 3D world, which refuses to be easily mappable into 3D data.
This may sound funny, because we all know the 3D world quite well, but we are not used to the required mapping. I have helped ever so many people who thought to have a GUI or whatsoever exeperience problem. Finally it was in most cases a new way of thinking suitable for 3D modeling which was required. These problems are well supported by tons of bad videos and are accompanied by the expectation that 3D is just a little bit more than 2D modeling.

The big boys who sell expensive software to other big boys sell it with 2 weeks mandatory courses; not only because they can, but also because it is sensible. Imagine every FreeCAD user would have attended such a course before being allowed to ask questions here. I'm sure we wouldn't talk so much about user experience.

FreeCAD is serious software for something that is inherently more difficult than a chat software on a mobile phone. Let's make the user interface as good as possible, but we don't really have a problem here.

Edit: typos.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: YAUIUXDT

Post by adrianinsaval »

chrisb wrote: Tue Mar 08, 2022 11:35 pm I'm afraid you are wrong here; not utterly wrong, but quite. It's not FreeCAD which has the user experience problem, it's the 3D world, which refuses to be easily mappable into 3D data.
This may sound funny, because we all know the 3D world quite well, but we are not used to the required mapping. I have helped ever so many people who thought to have a GUI or whatsoever exeperience problem. Finally it was in most cases a new way of thinking suitable for 3D modeling which was required. These problems are well supported by tons of bad videos and are accompanied by the expectation that 3D is just a little bit more than 2D modeling.
while it is true that 3D modelling is quite a complicated subject and it's not reasonable to expect to learn it by just stumbling around pressing buttons to see what sticks, it is not wise to pretend that FreeCAD's UI/UX is in a good state, it's certainly way better than before and it keeps improving but there so much clunkiness still.
The big boys who sell expensive software to other big boys sell it with 2 weeks mandatory courses; not only because they can, but also because it is sensible.
This is only true of CAD software like solidworks, how about onshape or fusion?
Let's make the user interface as good as possible, but we don't really have a problem here.
Disagree, there are many clunky things in the UI and UX in FreeCAD, we just got used to them or are more forgiving than regular random people because we're familiar with it's development and hold the software dear. We should recognize our bias.
shamanths13
Posts: 80
Joined: Mon Feb 21, 2022 3:02 pm

Re: YAUIUXDT

Post by shamanths13 »

Why not have a please all solution? Develop a modern UI/Theme and make it the default. And then, give the option in the Welcome screen to use the "Default(Updated) UI" or use the "Legacy UI" which looks like how Freecad currently looks. That way new users wont be driven off by a user interface that looks like it was made in the early 2000s and the old school veteran users can just choose the legacy UI. Having a better looking UI based on current design principles will also stop people whining about Freecad's UI and give it more appeal among new adopters. And as always, veterans who are used the the current UI design can just use "Legacy UI". Everybody wins! Something like this to have options in the welcome screen will solve so many problems and not a "YIKES" as someone under-informed said elsewhere. I have placed the Inkscape Welcome screen as an example.
Cheers!
Image
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: YAUIUXDT

Post by iplayfast »

shamanths13 wrote: Wed Mar 09, 2022 2:06 am That way new users wont be driven off by a user interface that looks like it was made in the early 2000s and the old school veteran users can just choose the legacy UI.
Um.. I think the time period of FreeCAD look and feel is more windows 3.1 than early 2000's.
User avatar
obelisk79
Veteran
Posts: 1063
Joined: Thu Sep 24, 2020 9:01 pm

Re: YAUIUXDT

Post by obelisk79 »

chrisb wrote: Tue Mar 08, 2022 11:35 pm I'm afraid you are wrong here; not utterly wrong, but quite. It's not FreeCAD which has the user experience problem, it's the 3D world, which refuses to be easily mappable into 3D data.
This may sound funny, because we all know the 3D worls quite well, but we are not used to the required mapping. I have helped ever so many people who though to have a GUI or whatsoever exeperience problem. Finally it was in most cases a new way of thinking suitable for 3D modeling which was required.
When I say User Experience, I'm not generally referring to the difficulty involved in modeling in 3D which I agree you have valid points about. The experience I'm referring to on the other hand has more to do with behavioral consistency and refinement of functions. Maybe I can successfully give some examples, toolbar arrangements can vary widely among default workbenches, functions/processes have similar names with distinctly different function/behavior (Part vs Part Design naming confusion). Then there are things like selection behavior, in sketcher it can often be abnormally difficult to select elements like points or lines/arcs, this seems only partially addressable through pick radius and is frustrating to get right.

People adapt to, and find workarounds for these little things and over time we become blind to them. It doesn't mean that everything is fine though, it just means we eventually became comfortable with the existing state, and after 18 months I'm sure I am also blind to many things now. I certainly am not suggesting that FreeCAD change its modeling paradigms, workbench structure or visually copy some specific piece of software. What I am trying to suggest is a grassroots coordination to evaluate and assess things that can be changed with minimal or negligible developer involvement required.
shamanths13
Posts: 80
Joined: Mon Feb 21, 2022 3:02 pm

Re: YAUIUXDT

Post by shamanths13 »

obelisk79 wrote: Wed Mar 09, 2022 7:01 am ping
So what if we are inspired by a few elements from other commercial softwares? They have teams of people who base their decisions on studies and collected user data to improve user experience, I am sure.
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: YAUIUXDT

Post by chrisb »

shamanths13 wrote: Wed Mar 09, 2022 2:06 am That way new users wont be driven off by a user interface that looks like it was made in the early 2000s and the old school veteran users can just choose the legacy UI. Having a better looking UI based on current design principles will also stop people whining about Freecad's UI and give it more appeal among new adopters. And as always, veterans who are used the the current UI design can just use "Legacy UI".
While you are very correctly asking for open mindedness I am a bit disappointed that your world seems still to be, well, dark and light. No greyshades. You are insinuating that there are modern people wanting a new style and other GUI things changed and then there are some old idiots (I know you didn't say it, but that's how it is received here), who want to have everything as it has always been.

So let me state clearly: I am not against UI changes, not at all. I see many places where cumbersome things have crept in which are widely accepted, because they are far less cumbersome than how they were before.
But I still don't see this as a real problem, especially not the appearance.

Concerning dark UI, which seems to be a synonym for "modern" to you: I frequently see new students working with new applications. Approximately 1/3 uses dark UI, 2/3 uses a light one. That may be the reason, why e.g. Microsofts default for (several?, some?, I don't know them all) applications is light.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
obelisk79
Veteran
Posts: 1063
Joined: Thu Sep 24, 2020 9:01 pm

Re: YAUIUXDT

Post by obelisk79 »

shamanths13 wrote: Wed Mar 09, 2022 8:48 am So what if we are inspired by a few elements from other commercial softwares? They have teams of people who base their decisions on studies and collected user data to improve user experience, I am sure.
There is nothing wrong with being inspiried by things you see in other similar software. Good ideas or interface elements aren't relegated to a piece of software where they already exist. When I say:
I certainly am not suggesting that FreeCAD change its modeling paradigms, workbench structure or visually copy some specific piece of software.
My intent is that these ideas/suggestions aren't meant to fundamentally change the way we use and interact with FreeCAD overall it's already solid but it needs refinement. It was programmed with a specific style of work flow and functionality in mind. Often when comments like "When blender overhauled its UI it got a lot better" the responses are "Blender isn't CAD" or "FreeCAD isn't going to become Blender" which I think overlooks the underlying message, which would probably be better phrased "When Blender which is a similarly large FOSS project really took focus on its UI/UX it really improved for everyone, maybe FreeCAD could also take some time to focus on the same."... Similar interactions happen when people reference other software they've used, Fusion360 being a common reference among hobbyists. It doesn't help that some people really do just show up complaining that FreeCAD doesn't work like XYZ other software they already know.
Post Reply