[UX] FreeCAD getting started wizard

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

[UX] FreeCAD getting started wizard

Post by Haavard »

Multiple forum threads in the last months/years has mentioned that a Welcome Wizard that shows up on a new install would be a great tool to guide new users to a better default FreeCAD experience.

Rationale: not really needed, but if you need a reason for such a wizard to exist, here is a small list: In my opinion the "FreeCAD learing curve issue" is not caused by 3D modelling being inherently difficult or by an old looking UI. I think the lack of guiding or hand-holding that other software provides is the main issue. Yes of course there is always a few savants that are able to pick up FreeCAD in a matter of hours and be productive in days, but that is most definately the minority, not the rule.

Say you are a mechanical engineer, MCAD hobbyist or a student, coming from another paid software you use at work or learned at uni, and want a free CAD for home use. I would guess, without any data, that this is a moderate amount of the userbase. You open FreeCAD, and have no clue where to start. You see a workbench selector, and navigate to "Part", because that's what you want to make. However, you have never learned CSG, and want to design the modern way with sketches and features. You click all sort of different buttons, watch some "Part Tutorials" on youtube, get scared of booleans and an unusual looking model tree, and uninstalls FreeCAD. This is exactly what my colleagues did, and probably what many other engineering forums users also have done.

What i would propose as at least a start, is a "Getting started wizard" that customizes the UI and settings to suit the new users needs. It will not fix the many UX issues that exist, but it could at least guide the new users through the first two or three steps in getting started. Here is a QT5 Designer mockup of what the skeleton could look like:

1.png
1.png (111.52 KiB) Viewed 3090 times

----------

2.png
2.png (43.5 KiB) Viewed 3090 times

----------

3.png
3.png (70.64 KiB) Viewed 3090 times


With the work @chennes have done with preference packs, implementing this wizard should hopefully be simplified greatly, as settings, toolbars, themes ect can be applied via preference packs.


Here are two screenshots of how a "simple" layout could look like compared to the default layout.

Simple
FreeCAD PD Simple.png
FreeCAD PD Simple.png (103.09 KiB) Viewed 3090 times

Default
FreeCAD PD Full.png
FreeCAD PD Full.png (116.76 KiB) Viewed 3090 times


The exact implementation details and default settings should of course be discussed and agreed/voted upon, but the goal would be to make a fully usable UI, not a dumbed down thinkercad clone.

Disclaimer: I can't start programming this by my self atm, mostly because i have no idea where to start implementing such a wizard, secondly because i'm scared to death by C++. I'm taking a general programming course in python at uni this fall (besides work), and hope to start coding Q1 2023. If someone could help with the code stuff, i can absolutely find time to help with preference packs, defaults, documentation ect, and of course do some python coding where i can.

I see there is a lot happening in this thread already, the @Zolko preference pack could be a default layout perhaps?

Ping: @paddle @chennes @Kunda1 @drmacro +++++

Disclaimer 2: I love FreeCAD and will use it for as long as it is the leading FOSS MCAD. I am insanely greatful for the work that has gone into it the past 20+ years, and do not wish to come off as demanding or ungrateful. I wish the UX was better and that OCCT was as good as parasolid, but i do not expect or demand anything by anyone. And by the way, i have never heard of QT Designer before installing it as a FreeCAD compile dependency. I made that mockup in 15 minutes, without any tutorials or web searches. UX should not have to be difficult. :)
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [UX] FreeCAD getting started wizard

Post by Kunda1 »

oooh...at first glance, i like this proposal. Lots of effort went in to it. Digging in to it deeper now. Just wanted to acknowledge the effort by @Haavard :ugeek:

Edit: @Haavard lets get the .ui files up on git so people can start playing with them?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [UX] FreeCAD getting started wizard

Post by Kunda1 »

FWIW +1 from me. This would be awesome to do in conjunction with the v1.0 toponaming release. Once toponaming is merged the influx of users will be INTENSE. This proposal seems like it will help reorient disoriented users newbs and returning old newbs wandering in to the FreeCAD UI willy nilly.

For those with aversion to Wizards, I get it. We can have a box at the onset that lets users opt-out.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
chennes
Veteran
Posts: 3876
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: [UX] FreeCAD getting started wizard

Post by chennes »

This is a very common paradigm in software right now: the first-launch dialog that allows some basic settings to be applied (most commonly the color scheme). I think it would be very at-home in FreeCAD -- other complex software (e.g. Visual Studio) has a similar first-launch experience. And of course I think it should be implemented behind-the-scenes using Preference Packs. Not that I am biased or anything :lol: .

Frankly, as long as there is a "skip" button in there, I think we should go ahead with this. To do that we first need a couple of Preference Packs that we ship along with FreeCAD that set things up as described. I propose you start with that, @Haavard -- no coding is necessary, just set up FreeCAD the way you are proposing for each category of users, and save a copy of your user.cfg file. There are some defaults missing that we'll want to add, but that will get us started. Writing the actual UI for the startup dialog is very simple, it's the preferences themselves that will require some discussion and fine tuning.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [UX] FreeCAD getting started wizard

Post by Kunda1 »

chennes wrote: Sun Aug 21, 2022 5:49 pm I think we should go ahead with this. To do that we first need a couple of Preference Packs that we ship along with FreeCAD that set things up as described. I propose you start with that, @Haavard -- no coding is necessary, just set up FreeCAD the way you are proposing for each category of users, and save a copy of your user.cfg file. There are some defaults missing that we'll want to add, but that will get us started. Writing the actual UI for the startup dialog is very simple, it's the preferences themselves that will require some discussion and fine tuning.
How do we set up discussions about this?
Choosing Preference packs and do what @chennes above proposes
Discuss which and what sections the wizard should have? (layout -> themes -> workbenches -> mouse preferences (incl. 3dconnexion) -> keyboard shortcuts + locale preferences
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
chennes
Veteran
Posts: 3876
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: [UX] FreeCAD getting started wizard

Post by chennes »

I think it's best to start with some concrete, apply-able examples, so let's get some preference packs created that folks can actually look at. Otherwise we're just talking hypotheticals, and that will drag out forever :) .
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: [UX] FreeCAD getting started wizard

Post by Haavard »

Kunda1 wrote: Sun Aug 21, 2022 5:16 pm oooh...at first glance, i like this proposal. Lots of effort went in to it. Digging in to it deeper now. Just wanted to acknowledge the effort by @Haavard :ugeek:
Thank you! Yes some hours of thinking has gone into this. I tried to make a high value post, not just a rant.

Kunda1 wrote: Sun Aug 21, 2022 5:16 pm Edit: @Haavard lets get the .ui files up on git so people can start playing with them?
As you wish:https://github.com/howie-j/FreeCAD-Wizard
The Qt5 Designer files are very rough and probably not what we will end up with, but it's a start at least!

Kunda1 wrote: Sun Aug 21, 2022 5:44 pm For those with aversion to Wizards, I get it. We can have a box at the onset that lets users opt-out.
Yeah i think the default user.cfg and settings should be quite conservative and all enabled as it is now, and if you press ESC/Cancel/Skip that would be the same as default FreeCAD.

chennes wrote: Sun Aug 21, 2022 6:18 pm I think it's best to start with some concrete, apply-able examples...

I agree. If we land on the basic structure of what choices the wizard should provide, then i think we have a good start.

When it comes what to choose as default, i think voting is the only way to reach concencus. It worked for the splash screen logo, so why not on default settings? :)
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: [UX] FreeCAD getting started wizard

Post by obelisk79 »

Thank you for this proposal. I had planned to propose this same thing later this year after I complete a couple of other projects I'm working on. To whit, I am currently working on some relatively neutral light and dark stylesheets utilizing an expanded version of the very popular Nord color palette.

I completely agree with the proposed following options being presented. (In this order)

Layout:
-Simplified - Essential basic tools/operations only
-Advanced - Full toolbars

Workbench Configuration: Add note about addon manager for additional WB
-Mechanical
-Architectural/BIM
-All

Theme: Add note about additional preference packs in addon manager
-Light
-Dark
-Classic

Once the welcome/first run wizard options/order is agreed upon I propose we begin working on what a simple vs advanced toolbar layout will *actually* look like. Advanced seems pretty straightforward in terms of all icons/toolbars basically enabled by default. The simplified version may be a little more contentious to reach a consensus on. However, I think we would only need to focus on the workbenches listed in the Mechanical/Architectural options. I will start to mock up some toolbar layouts for a "Mechanical CAD" setup ie Part/PartDesign/Sketcher/TechDraw

Also, I think the workbenches enabled with Mechanical and Arch/BIM options need to be determined as I don't think the ones in the proposal above are necessarily complete.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: [UX] FreeCAD getting started wizard

Post by adrianinsaval »

I understand removing the view and macro toolbars, but does removing the document toolbar make any sense? These are pretty standard command across most applications, they shouldn't be confusing to anyone who has used a computer before, and for the point and click fans that don't remember shortcuts for new, open, save, etc. it would be detrimental to not have them available IMO.
The structure toolbar is not standard across other apps, but it is one of the basic concepts in FreeCAD, I'm not sure if it's a good idea to hide those.

Once you have a working implementation the workbench lists for the categories should be further discussed, IMO FEM and Path WB are vastly more relevant for mechanical CAD than Render WB. IMO in FreeCAD the distinction between fields is not very well defined to justify separate sets, Many times you may need stuff from Draft WB or others for mechanical design, the only one you likely wouldn't use is Arch, similarly for arch stuff a lot if not all of the WB are relevant. So I don't see a lot of value in disabling WBs, in the end what will happen is that a ton of people will come here and say "why doesn't freecad have this functionality?" and we'll have to respond again and again: "it has it, but you have to go and enable X WB because it was disabled in your initial setup", this IMO just makes it more cumbersome to learn FreeCAD, because besides having to learn how to use a feature, you have to learn that it exists and how to go and enable it.
obelisk79 wrote: Mon Aug 22, 2022 7:43 am Theme: Add note about additional preference packs in addon manager
-Light
-Dark
-Classic
"system" might be a better term at least for linux and probably for mac too.
drmacro
Veteran
Posts: 8864
Joined: Sun Mar 02, 2014 4:35 pm

Re: [UX] FreeCAD getting started wizard

Post by drmacro »

adrianinsaval wrote: Mon Aug 22, 2022 2:26 pm I understand removing the view and macro toolbars, but does removing the document toolbar make any sense? These are pretty standard command across most applications, they shouldn't be confusing to anyone who has used a computer before, and for the point and click fans that don't remember shortcuts for new, open, save, etc. it would be detrimental to not have them available IMO.
I'd say this config/PP is a work in progress...

While tinkering with this config, I added the document toolbar back, down the left side and removing the tab bar.

I also added back the report panel and would probably prefer the Python console to be present as well.
(Spreading them across the bottom of the window. Their shape is a bit of consternation, since this size appears to be in the FreeCAD.cfg and maintained by QSettings...my experiments with that are ongoing.)

I also think there is a case to be made for providing one or more of the measure tools as a basic offering.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Post Reply