[Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

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
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

[Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Kunda1 »

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
This thread's intention is to accumulate and categorize a list of ways to diminish the amount of mouse clicks a user has to make in order to get their task done. Of course there are key combos and we can incorporate that as a possibility but lets not neglect the non-key-combo users and/or the optimization of the FreeCAD mouse workflow.

If this thread succeeds and gains popularity, I imagine we'll have to get a little more creative with how we log and discuss each idea. For now, lets just start and see where this goes.
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
doia
Posts: 251
Joined: Sat May 29, 2021 5:47 am
Location: Düsseldorf

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by doia »

Well, I had a similar idea for some kind of a macro or learning tool, which tracks the commands you use, ordered by usage - with statistics daily/weekly/monthly whatever. From time to time it suggests to use or set a keyboard shortcut for the most used command. This way you learn kb shorts one by one.
User avatar
doia
Posts: 251
Joined: Sat May 29, 2021 5:47 am
Location: Düsseldorf

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by doia »

I think the most time used by a mouse based workflow is the travel/aim time from the middle of the screen, where the model is, to the side into the parameter/task panel. Back and forth all the time, searching for where a parameter field is located, aiming, entering values etc.
Reducing this spacial as well as cognitive distance can save a lot of time.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Kunda1 »

doia wrote: Fri Jan 14, 2022 10:16 pm Well, I had a similar idea for some kind of a macro or learning tool, which tracks the commands you use, ordered by usage - with statistics daily/weekly/monthly whatever. From time to time it suggests to use or set a keyboard shortcut for the most used command. This way you learn kb shorts one by one.
That would be awesome. Maybe we could add an optional way for users to share their click stats via the forum or something? Either way, this is a great idea!
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
Chrismettal
Posts: 43
Joined: Fri Sep 18, 2020 11:44 am
Location: Germany
Contact:

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Chrismettal »

Not strictly a mouse click, but instead of entering a features value often dragging the feature can be quicker and use less interactions. This also leans into what doia suggested.

A pad for example. If I don't now how much I want to pad the workflow ends up like this:
- Select feature to pad
- Pad
- Type 10mm
- Enter
- No thats not right
- Doubleclick pad feature
- Type 12mm
- Enter
- Repeat until happy

A dragging arrow on the pad in other cad packages makes this a bit more hassle free
- Select feature to pad
- Pad
- Drag arrow to where it looks right
- Enter
- Be happy

Of course, knowing the exact amount you want to pad makes this irrelevant as you are happy after the first Enter.

Possible Solutions:
- I know there is a live feature preview, but for me it only works when using the Up and Down buttons, but not when entering a value directly. Maybe we could use the first Enter press to update the model and the second to close the dialog?
- Dragging feature
---

Another big point for me are spreadsheet variables. Even with Hotkeys the workflow takes a lot of interaction.
- Create Spreadsheet
- Set alias for cell
- Set value of cell adjacent to the same as the alias so I can see what the alias was more easily
- Enter value for aliased cell
- Go back to model
- When trying to use the value, click the little expression ball
- Start typing spreadsheet name, Enter
- Start typing variable name, Enter
- Enter, Enter

When you forget your variable name you also have to exit out of the popup completely, open your spreadsheet again (Which I think you cannot have next to the model view?) and look up your alias, as I think there are no suggestions for variables until you start typing the correct name, or maybe I am blind.

Possible solutions:
- Accept functions / variables in the main popup without the expression dialog
- Accept variables without the spreadsheet name prefix if variable is unique

---

Also, if there isn't a way to split screen the spreadsheet and the model view next to each other, I find myself often going into the spreadsheet, editing a value, going back to the model, and wondering if it even changed as so much time passed due to recompiling the model. Tweaking multiple values and seeing the model update makes me switch between spreadsheet and model back and forth. Probably user error but maybe a split view function is just hidden unintuitively for me.

Possible solutions:
- Create split view of Spreadsheet and model OR make functionality more intuitive if it already exists.

---

Minor gripe, but we know that because of the underlying kernel a 2mm chamfer won't fit on a 2mm wall and instead we have to go 1.999mm. Still, you forget every time, try it once, chamfer fails and dialog closes, you open the chamfer again, go 0.001mm smaller and have it work. I am sure this has been talked about a lot, just bringing this up as a big time / interaction sink
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Kunda1 »

@chrismetall thanks for sharing. That is a good point. I wonder if the work of Design456 (which uses push/pull methodology but is not parametric IIRC) would be helpful here (with some modification)? Or @joelgraff's Pivy-Trackers which leverages coin3d, the FreeCAD scenegraph, via Pivy

Also see
Feature: pivy-trackers + editable context menus = smoother workflow? thread

Image
phpBB [video]
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: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Kunda1 »

Another case to examine:
@Petrikas using the Curves workbench in his tutorial:

phpBB [video]


You can see the amount of redundancy in mouse travel and clicks.
Petrikas wrote::bell:
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
Grub
Posts: 303
Joined: Sun Nov 15, 2020 7:28 pm

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by Grub »

- It could be interesting that some functions keep in memory the data previously entered: I am thinking of the Hole function of PartDesign in which it is necessary to select again the ISO or UTS profile etc. and the size for each new hole even if we need the same as the previous one... Probably other features could also benefit from this advantage.

- When creating a new Body or Part or Spreadsheet, offer to rename it immediately.
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by chrisb »

Grub wrote: Wed Jan 26, 2022 2:02 pm - It could be interesting that some functions keep in memory the data previously entered: I am thinking of the Hole function of PartDesign in which it is necessary to select again the ISO or UTS profile etc. and the size for each new hole even if we need the same as the previous one... Probably other features could also benefit from this advantage.

- When creating a new Body or Part or Spreadsheet, offer to rename it immediately.
I like both ideas. The former was discussed recently. I can imagine a template technique for features.
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: [Tracking Thread] [UX] List of potential ways to decrease the amount of mouse clicks

Post by adrianinsaval »

Chrismettal wrote: Wed Jan 26, 2022 11:32 am A pad for example. If I don't now how much I want to pad the workflow ends up like this:
or you could...
- Select feature to pad
- Pad
- Type 10mm
- Enter
- No thats not right
- Doubleclick pad feature
- Type 12mm
- Enter
- Repeat until happy

- Scroll up or down on the length spinbox until happy then hit enter
- Enjoy, you're done ;)
- I know there is a live feature preview, but for me it only works when using the Up and Down buttons, but not when entering a value directly. Maybe we could use the first Enter press to update the model and the second to close the dialog?
Press tab or click outside of the spinbox, when it loses focus the preview is updated
- Create Spreadsheet
- Set alias for cell
- Set value of cell adjacent to the same as the alias so I can see what the alias was more easily
yes this is tiresome, luckily for us there is Macro EasyAlias that makes this very easy
- Accept variables without the spreadsheet name prefix if variable is unique
If this is done then it should autochange to include the spreadsheet or it would be a recipe for disaster if you later set the same alias to a cell in another spreadsheet. Not sure how feasible this idea is.
Also, if there isn't a way to split screen the spreadsheet and the model view next to each other, I find myself often going into the spreadsheet, editing a value, going back to the model, and wondering if it even changed as so much time passed due to recompiling the model. Tweaking multiple values and seeing the model update makes me switch between spreadsheet and model back and forth. Probably user error but maybe a split view function is just hidden unintuitively for me.
Yes, it's in windows -> tile but this tiles all open tabs so it's not optimal either. And it looks awful in windows 8 and above because it uses 7's frame decorations for some reason...
Minor gripe, but we know that because of the underlying kernel a 2mm chamfer won't fit on a 2mm wall and instead we have to go 1.999mm. Still, you forget every time, try it once, chamfer fails and dialog closes, you open the chamfer again, go 0.001mm smaller and have it work. I am sure this has been talked about a lot, just bringing this up as a big time / interaction sink
same as with pad, change focus out of the spinbox so it updates the 3d view (without closing the dialog), there you would see if it fails

Not trying to dissmiss your suggestion, just trying to help with the options currently available
Post Reply