An exercise in UI/UX design

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
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: An exercise in UI/UX design

Post by sliptonic »

chennes wrote: Fri Apr 21, 2023 4:23 am
sliptonic wrote: Fri Apr 21, 2023 2:55 am there doesn't appear to be any desire to build them.
I don't know about that...I think that of course there is a desire to have a standard!
Having a thing isnt the same as building it.

Reading over the last six months of topics in this UI/UX forum section, I only found one topic dealing with the broader question of general consistency. That was your topic about 1.0 goals. It, unfortunately, didn't get much attention. All the rest are about more specific UI features or bugs.

Considering how often UX consistency came up at Fosdem, it seems like we're focusing on the trees and missing the forest.
User avatar
onekk
Veteran
Posts: 6208
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: An exercise in UI/UX design

Post by onekk »

ESC is used in many program to "Escape from the operation" in other word like an a "emergency exit" key leaving things "as they are prior to entering the operation".

Enter is used randomly as confirm buttom for enter fields.

But is used usually bound to "OK" button on simple dialogs.
In this case "Cancel" button is usually bound to ESC key.

TAB will usually move the focus to next input field (or control)

Using ESC as a modifier or to perform a "Done" action, exiting the operation with all the modified done should be avoided IMHO.


Consistency has to be probably the best "guide" through the UI/UX rework.


Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
wandererfan
Veteran
Posts: 6320
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: An exercise in UI/UX design

Post by wandererfan »

wmayer wrote: Thu Apr 20, 2023 6:11 am The QFontDialog as it is won't work because the shape string function requires the path to a .ttf file which a QFont/QFontInfo doesn't deliver.
Minor point - FreeType (and Shapestring) will handle pretty much any vector font type - ttf, otf, Adobe Type1, etc. But it does have to read the actual font file to get the contours.
chennes wrote: Tue Apr 18, 2023 7:52 pm For font selection it should be using QFontDialog, no?
As Werner says, the qfontdialog won't give you the actual file. Yorik and I looked for a solution to this, but we didn't find a cross platform solution. On Windows, you could get the directory listing from C:/Windows/Fonts, which would give you only the installed fonts, not any special purpose fonts that you might have installed. On Linux, you could check the user's ~/.fonts directory and the /usr/share/fonts/* directories or maybe get something from fontconfig. For Apple, there is System > Library > Fonts.

So maybe there should be two ways to get the font file - pick from installed fonts in standard places, or a general file dialog to pick a specific file.
User avatar
jimb
Posts: 48
Joined: Thu Nov 10, 2022 11:27 pm

Re: An exercise in UI/UX design

Post by jimb »

So maybe there should be two ways to get the font file - pick from installed fonts in standard places, or a general file dialog to pick a specific file.
My understand is that some fonts are not very good for the kinds of thing people what to use a font for in a CAD program. Is there any way to filter those out (or otherwise flag them) so people don't run into problems because they happen to choose the "wrong" font? Or would something like a curated set of fonts be needed for that?
User avatar
Roy_043
Veteran
Posts: 8552
Joined: Thu Dec 27, 2018 12:28 pm

Re: An exercise in UI/UX design

Post by Roy_043 »

sliptonic wrote: Thu Apr 20, 2023 5:53 pm Draft_Point: Esc isn't relevant during creation. But if you double-click the created point it opens the transform tool (not like the others). Pressing escape, exits the transform tool but leaves a task open. Pressing escape again does nothing and you have to click 'ok' to close the task. For me, double-clicking the point again causes a crash.
AFAICT the problem with Esc is caused by calling Std_TransformManip from setEdit. My guess is that somehow the object is then put into edit mode twice.

https://github.com/FreeCAD/FreeCAD/pull/9375
User avatar
onekk
Veteran
Posts: 6208
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: An exercise in UI/UX design

Post by onekk »

jimb wrote: Sat Apr 22, 2023 2:53 pm ...
My understand is that some fonts are not very good for the kinds of thing people what to use a font for in a CAD program. Is there any way to filter those out (or otherwise flag them) so people don't run into problems because they happen to choose the "wrong" font? Or would something like a curated set of fonts be needed for that?
This is slightly OT I've opened an thread here:

viewtopic.php?t=77906

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
adrianinsaval
Veteran
Posts: 5551
Joined: Thu Apr 05, 2018 5:15 pm

Re: An exercise in UI/UX design

Post by adrianinsaval »

If we are going to make guidelines we need to identify certain common elements and actions and then seek consensus on the preferred format and behavior for those.

Some things that come to mind:
• ok, apply, cancel and close buttons, when to use which and how? See how Part WB uses the Apply button, very odd.
• Creation of objects when there is an active container, when do we want to create outside and when inside?
• Selection and deselection of geometry references: generic, for solids and shells, for faces, for edges, for points, for a limited set of these. Should be unified, might need variants for selection of a single reference or multiple.
• selection and storage of paths to fonts and other external files
• multi step tasks, do we need "previous" and "next" buttons? If yes we should have a generic one to be reused by WBs
• disabled and disappearing gui elements, when to use which? What's the expected behavior in the property panel for the properties related to these elements?
• what size policies for what gui elements are preferred?
• how to deal with dense dialogs? what compromise do we want regarding vertical vs horizontal space (see the PD Hole dialog)
• when to separate stuff into different task boxes and when to use the same?
• when to use toolbutton menus in the task panel? See sketcher's task panel, maybe we want to borrow this idea in other places?
User avatar
Roy_043
Veteran
Posts: 8552
Joined: Thu Dec 27, 2018 12:28 pm

Re: An exercise in UI/UX design

Post by Roy_043 »

I'd like to add:
• If the selection order is relevant for the outcome of a command, does the 'main' object come first or last?
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: An exercise in UI/UX design

Post by sliptonic »

Good stuff. Thank you!

I've dumped your notes into the selection and taskpanel pages. I haven't written anything but at least it's there as a starting point.
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: An exercise in UI/UX design

Post by sliptonic »

I've created three new issues related to shapestring

https://github.com/FreeCAD/FreeCAD/issues/9457: Deals with basic UI cleanup and preview
https://github.com/FreeCAD/FreeCAD/issues/9458: Deals with font selection.
https://github.com/FreeCAD/FreeCAD/issues/9459: Deals with string anchoring.
Post Reply