Let's talk about GUI standards - The Good, The Bad, and the Ugly

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by GeneFC »

easyw-fc wrote: Fri Jul 20, 2018 3:49 pm this has been done intentionally to keep the old STEP import code available (it uses a simplified loading version of STEP file format). You can search for STEP improvements topic to find the related thread.
I am sure there was a good reason for this choice, and there are probably some power users for whom it still makes complete sense. However, it also complicates the GUI behavior for newer users or those who only occasionally need to import a STEP file.

I think sliptonic is definitely on the right track. How to actually achieve a more consistent GUI behavior is the huge question.

One of the simultaneous strengths and weaknesses of FreeCAD (and a lot of other FOSS) is that there are many little fiefdoms where individual developer choices sometimes don't reflect a common package-wide look and feel. Makes it harder for newer users and even experienced users who seldom perform a specific task.

Gene
User avatar
easyw-fc
Veteran
Posts: 3633
Joined: Thu Jul 09, 2015 9:34 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by easyw-fc »

GeneFC wrote: Fri Jul 20, 2018 4:11 pm I am sure there was a good reason for this choice, and there are probably some power users for whom it still makes complete sense. However, it also complicates the GUI behavior for newer users or those who only occasionally need to import a STEP file.
easyw-fc wrote: Fri Jul 20, 2018 4:09 pm Once there were two options 'Import STEP with colors' and 'Import STEP' present on Import menu offering the two importing methods.
One option have been removed/lost in the process of improving the step import code. Luckily the old method has been kept at least in Part WB menu.
chrisb
Veteran
Posts: 54213
Joined: Tue Mar 17, 2015 9:14 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by chrisb »

sliptonic wrote: Fri Jul 20, 2018 3:37 pm For a UI design guideline, I'd suggest that import and export be primarily handled by the workbenches. For example: All the gcode import/export should be in the Path menu and tools and NOT in through the File menu at all.
I think there are two kinds of export, and perhaps import, but I have some difficulties to put it in a nutshell.

We have one kind of export like in Path workbench. The Path is something that is generated from a model. The export exports this generated stuff to a certain format, which in this case is GCode. I am with sliptonic that this kind of export should be possible only from the dedicated workbench.

On the other hand we have what may be called a general export. This exports all or part of a model to some other format, like STEP, STL or the like.

I know that the borders between these two are floating, so any help in specifying the difference in a more precise way is appreciated.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by NormandC »

sliptonic wrote: Fri Jul 20, 2018 3:37 pm For a UI design guideline, I'd suggest that import and export be primarily handled by the workbenches. For example: All the gcode import/export should be in the Path menu and tools and NOT in through the File menu at all.

To the extent that it makes sense, we should consider removing import/export filetypes from the File menu and let those be focused on project level import/export.
I'm not sure I understand your last sentence. Are you proposing to remove the File --> Import/Export menu altogether? Or only those formats reliant on a specific module?

The problem is, most import/export formats are managed by specific modules.
SVG and DXF are managed by Draft.
Mesh formats by Mesh Design.
CAD formats (STEP, IGES) by Part.
And so on.

So what would be left?

One other thing to consider is that in almost all apps, the import/export option is found under the File menu. This has been true for decades. Going against this standard may very well bring more confusion rather than less. People will come to the forum in droves asking "where is the import/export menu"? if we pull it out, or "why can't I find XYZ format in the File --> Import/export menu?" if we shed it from most file formats.

Obviously, good UI design is not obvious. ;)
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by sliptonic »

NormandC wrote: Fri Jul 20, 2018 10:31 pm
sliptonic wrote: Fri Jul 20, 2018 3:37 pm For a UI design guideline, I'd suggest that import and export be primarily handled by the workbenches. For example: All the gcode import/export should be in the Path menu and tools and NOT in through the File menu at all.

To the extent that it makes sense, we should consider removing import/export filetypes from the File menu and let those be focused on project level import/export.
I'm not sure I understand your last sentence. Are you proposing to remove the File --> Import/Export menu altogether?
No!
Or only those formats reliant on a specific module?

The problem is, most import/export formats are managed by specific modules.
SVG and DXF are managed by Draft.
Mesh formats by Mesh Design.
CAD formats (STEP, IGES) by Part.
And so on.

So what would be left?

One other thing to consider is that in almost all apps, the import/export option is found under the File menu. This has been true for decades. Going against this standard may very well bring more confusion rather than less. People will come to the forum in droves asking "where is the import/export menu"? if we pull it out, or "why can't I find XYZ format in the File --> Import/export menu?" if we shed it from most file formats.

Obviously, good UI design is not obvious. ;)
Absolutely agree. We don't have any guidelines for what belongs in the File->import/export menu and what belongs in the workbench. That was the motivation for this thread. Without that, we have chaos.
chrisb wrote: Fri Jul 20, 2018 10:17 pm I think there are two kinds of export, and perhaps import, but I have some difficulties to put it in a nutshell.

We have one kind of export like in Path workbench. The Path is something that is generated from a model. The export exports this generated stuff to a certain format, which in this case is GCode. I am with sliptonic that this kind of export should be possible only from the dedicated workbench.

On the other hand we have what may be called a general export. This exports all or part of a model to some other format, like STEP, STL or the like.
I think you're getting at something here. Like maybe geometry import/export vs Everything else.
TheMarkster
Veteran
Posts: 5513
Joined: Thu Apr 05, 2018 1:53 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by TheMarkster »

I say put them all in the File menu so users will be able to see from there which import/export options are available without having to go digging around in workbenches. The functionality should be identical regardless of the method the user uses to do the import. If a workbench offers a specialized import/export for the same file extension it should also be included in the File menu or, as in the case of .svg files, which can be imported as drawings or as geometry, ask the user during the import which option to use.

It can be annoying after a time to always be asked to select these options. That can be addressed with user preference options, but the default option (unless the user changes it) should be to ask.
chrisb
Veteran
Posts: 54213
Joined: Tue Mar 17, 2015 9:14 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by chrisb »

I would neither want to be asked nor would I like to have it in preferences. The only problem with having two options is the ordering in the list of import formats.
If they would appear next to each other it would be easy to handle, currently it's "Drawing" in the first quarter of the list and SVG in the last. I would like to have "SVG as drawing/image" and "SVG as geometry".
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 54213
Joined: Tue Mar 17, 2015 9:14 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by chrisb »

Perhaps the difference between general and workbench export is the level to which the model has to be preprocessed before export. (Well kind of funny that in Path WB the postprocessor does this preprocessing :lol: ).
On import it is similar: if the result of the import is directly usable from any workbench like a step file it is a general import, if it needs special treatment it is a workbench import.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
TheMarkster
Veteran
Posts: 5513
Joined: Thu Apr 05, 2018 1:53 am

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by TheMarkster »

chrisb wrote: Sat Jul 21, 2018 5:18 am I would neither want to be asked nor would I like to have it in preferences. The only problem with having two options is the ordering in the list of import formats.
If they would appear next to each other it would be easy to handle, currently it's "Drawing" in the first quarter of the list and SVG in the last. I would like to have "SVG as drawing/image" and "SVG as geometry".
That's a very good idea.

This works fine when the user selects import from the File menu and chooses the import type, no need to ask, just do the import as geometry or as drawing as selected. This is, in fact, how it is currently being implemented. If you select the import type you are not asked, but if you choose it under the general all supported types heading, (or from recent files or selecting the file in a file browser with FreeCAD as the default application) you do get asked. The only change I would suggest (and it's only a suggestion, it's certainly not critical) as it relates to svg import is a user preference that can be overridden by selecting, for example, drawing as the import type when geometry is the default. So, under svg in the preferences there would be geometry, drawing, ask each time, with ask each time as the default unless the user changes it.
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Let's talk about GUI standards - The Good, The Bad, and the Ugly

Post by sliptonic »

I pulled together a video of some places where I've seen new users get stuck. I was going to publish it later this week but since a discussion has popped up about the esc key in sketcher -a topic that features in the video- I went ahead and published today.

phpBB [video]
Post Reply