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.