FreeCAD UI Bible?

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
onekk
Veteran
Posts: 6222
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: FreeCAD UI Bible?

Post by onekk »

Sorry maybe I've over react to some posts.

A little "sum of my vision" (sorry but my english is not very much fluent):

1) FreeCAD is a "good piece of software"
2) FreeCAD is not perfect, but "for what you pay" you get a very powerful software.
3) In some cases I have some interesting discussions with some developers, so I can say that there are no "incompetent people" working on FreeCAD
4) I try to help new users as I have had and I'm obtaining help in this forum so i tend to reciprocate, as an "intermediate user" I have a "little more" knowledge than beginners.

I have tried also to ease some work, as I'm interested in Scripting I have written a "scripting guide" in Italian (I'm trying to force my wife to translate it in English as she has a decent knowledge of English).

I'm not perfect, I've not read the manual of my new smartphone and also contact the "helpdesk" and argued about some weird behaviour of product.
(sadly I don't cope well with java to make my personal version of Android Apps) :-D

I agree to you that more efforts are necessary to FreeCAD UI, but these efforts need people willing "to work", complaining alone (without giving a different solution, and to be open to discuss on it with competent people) is not useful.

As soon I can I try to give help or actively partecipate in discussion, sadly not all my efforts are in the right direction and many of them are too involute, some are also totally wrong.

This post and the precedents are not intended "for bad", excuse me if some sentences will sound as "flame wars".

I'm always open to talk "politely" if the other part is "polite".

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
onekk
Veteran
Posts: 6222
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: FreeCAD UI Bible?

Post by onekk »

ChrisWesley wrote: Thu Apr 29, 2021 3:42 pm
chrisb wrote: Thu Apr 29, 2021 6:49 am ... This topic is already on its second page, and I don't see a single proposal yet.
I proposed we open this thread to discuss making a UI Bible
I proposed that I take care of creating and managing it, through consultastion on this thread and in other ways
I proposed that we consolidate a project vision for FreeCAD
I proposed several strategies by which FreeCAD impleemntors could use a UI Bible to direct or at least influence their code writing
mostly of your proposition are a good start.

I think but a "general revision" of the UI will be a "good work to do", but for this the majority of developers or at least some "core developers" has to "step in", and maybe give us some "guidelines".

As "UI Bible" is not in my view a "good term", "Guidelines" I think is better.

But I'm aware that "behind the scenes" some efforts to "uniform" at least the codebase are being done, some people are improving some part of FreeCAD in a very good way, TechDraw is progressing to became a powerful tool to make "Technical drawing", Arch and BIM are progressing also. Draft was recently revised and rationalized at least in "codebase".

We could "here" maybe or in anew thread in "Open Discussion" propose or make a list of points where the UI is "confusing" or diverge from a "standard behaviour", maybe this could be a good "starting point" as maybe not immediately some things could be improved, or simply some "guidelines" could be discussed.

Uniformity will be a very good thing, but some assumptions have to be made:

- Some part of FreeCAD are kept for retrocompatibility, "Draft Workbench" is deprecated in favour of TechDraw" and so on, so to not waste efforts, (that are limited and precious) it will be better to limit the range f the discussion.

- Some part are in "active development" so things may change in a very quick way so every effort will maybe vanished in a shirt time

- FreeCAD development is not "linear" some developer are contributing code maybe after they have solved a problem and "donate" the code to FreeCAD, and are not mantaining the code, this is true for most macros and even for some workbench, (take as an example the various incarnation of Assembly workbench around)

Maybe I'm biased, but as I'm developing most of my thing using "Scripting", in other word "Force FreeCAD to do what I want with Python" or "Trying to find a way to convince FreeCAD to do what I want" it depends on luck and time spent to find the way.

UI is not something I know very well, my limited knowledge is some part of "Part WB", some part of "Path WB", a very limited knowledge of navigation and some contextual menu.

I have gave up in learning Sketcher and Draft as they are too "high level" for my way of thinking.

So I'm not the right person to "step in" and give "good advices" on this matter, i know some of the "code behind" some UI operation, so maybe I could guess the complexity of some "automation" but giving a solution most of the time is "out of my reach".

I'm struggling on some drawing now, so to ease and make thing faster I have done some code to read a pointlist and make some solids:

from this code

Code: Select all


    pl1 = (
        (0.0, 61.43, 0.0),
        (42.80, 61.40, 0.0, "f"),
        (71.25, 41.79, 0.0),
        (75.16, 0.0, 0.0),
        (61.76, 0.0, 0.0),
        (56.82, 30.148, 0.0, "a3"), 
        (52.337, 37.213, 0.0), # arc center
        (43.88, 41.39, 0.0),
        (-1.307, 48.159, 0.0),
        (0.0, 61.43, 0.0)
          )

I will obtain this:
polyg.png
polyg.png (3.19 KiB) Viewed 2342 times
The code is taking some relevant points, and the using points and directives ("f" is for fillet, "a3" is fo "arc from 3 Point") will make the wire.

Only to show something that could be done without driving mad with Sketcher :-D.

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/
chrisb
Veteran
Posts: 54288
Joined: Tue Mar 17, 2015 9:14 am

Re: FreeCAD UI Bible?

Post by chrisb »

ChrisWesley wrote: Thu Apr 29, 2021 3:42 pm
chrisb wrote: Thu Apr 29, 2021 6:49 am ... This topic is already on its second page, and I don't see a single proposal yet.
I proposed we open this thread to discuss making a UI Bible
I proposed that I take care of creating and managing it, through consultastion on this thread and in other ways
I proposed that we consolidate a project vision for FreeCAD
I proposed several strategies by which FreeCAD impleemntors could use a UI Bible to direct or at least influence their code writing
Sorry, I was not precise enough. I meant concrete proposals, something that a programmer could directly look at and use. There is nothing wrong with your proposals, but they are all on a meta level. In short: the bible is still empty.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
ChrisWesley
Posts: 46
Joined: Mon Nov 20, 2017 11:31 am

Re: FreeCAD UI Bible?

Post by ChrisWesley »

chrisb wrote: Thu Apr 29, 2021 5:52 pm Sorry, I was not precise enough. I meant concrete proposals, something that a programmer could directly look at and use. There is nothing wrong with your proposals, but they are all on a meta level. In short: the bible is still empty.
Chris, of course the bible is still empty.

Folks like you are insisting strongly that the bible is a pointless waste of time, and that people like me have no useful place here.

You are the kind of person who the bible would seek to influence. In fact, it seems like you may be the key player. If you are resolutely not in support of the idea then that is a major obstacle, though I do see a way forward - we could make the bible and just appeal to developers to read it and try to follow it, hoping tha tthose who don't like it might come round later on.

I do not know where the power is or who the decision makers are here, beyond the fact that I now know who can silence a thread (for reasons I understand and accept) . I do not want to invest a lot of effort in what is looking like a pretty thankless task, amidst a sea of nay sayers only then to have it all washed away by someone who is having a bad day or doesn't like my spelling.
User avatar
adrianinsaval
Veteran
Posts: 5553
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD UI Bible?

Post by adrianinsaval »

The problem is that you won't have any credibility until you actually come up with good suggestion, I say you should write up at least a small part of what you have in mind and try to show it to developers. Make suggestions in ongoing developments, I quoted you in a topic were a developer was asking for advice on UI, maybe go help there first. Start small then if you see there is response and when people actually know that you're not just talking, then try to make something more organized and loosely enforced like your bible. You need to understand that people won't simply bow down to a new forum poster because he says he has experience. Show don't tell, that's how things work around here. It doesn't need to be code but it would be even better if you did code. You can also easily make qt widgets with a GUI tool (Qt Designer) so you don't even need to code to make something useful.
chrisb
Veteran
Posts: 54288
Joined: Tue Mar 17, 2015 9:14 am

Re: FreeCAD UI Bible?

Post by chrisb »

ChrisWesley wrote: Thu Apr 29, 2021 6:12 pm I do not want to invest a lot of effort in what is looking like a pretty thankless task, amidst a sea of nay sayers only then to have it all washed away by someone who is having a bad day or doesn't like my spelling.
And here it is again, the spelling argument. Of course I cannot speek for Bance, he has to do this for himself ...
Bance wrote: pinged by pinger macro
... but as I am somebody making spelling errors whereever possible, allow me a few words on this.
Bance is a well known and respected power helper here, who has proven his knowledge many times, and it may be time to have a closer look at what the quest for correct spelling could tell us. I admit that it wasn't the friendliest way of saying this, but a non user friendly GUI makes a user stumble in his workflow in a similar way as spelling errors make a reader stumble.
Transferred to your plans that could mean you should make a bible as good as possible. And make the best out of any criticism.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Bance
Veteran
Posts: 4274
Joined: Wed Feb 11, 2015 3:00 pm
Location: London

Re: FreeCAD UI Bible?

Post by Bance »

I leave the quest for global dominance to those who write of it (however it's spelled.)

I have nothing more to say on it.
User avatar
PedjaS
Posts: 147
Joined: Sat Jan 18, 2020 6:35 pm

Re: FreeCAD UI Bible?

Post by PedjaS »

onekk wrote: Thu Apr 29, 2021 4:40 pm I agree to you that more efforts are necessary to FreeCAD UI, but these efforts need people willing "to work", complaining alone (without giving a different solution, and to be open to discuss on it with competent people) is not useful.
Problem is everything is treated as complaining (or requests). It is not. It is pointing out issues and suggesting improvements.

Thing is. UI is delicate thing, it should not be fixed on case by case basis. It needs to have some bigger plan, agenda, established rules, recommendations and practices. It is then, when programmers are needed.

Crating UI is about analyzing user behavior and making environment that helps him do the job as easy as possible. It should be intuitive, and offer to user tools easily accessible tools or processes he may need as logical parts of doing what he is doing. It should be specially helpful in odd situations, when something is wrong, or command cannot be executed properly, with clear explanation what is wrong.

Let me give some simple example:

When user has two lines in Sketch and needs one to be centered based on other line. He has to create point attached on the first line, set symmetry of the the end points of the line on that point to have it centered and then attach that center point to other line. That is pretty basic and obvious, and it works fine.

BUT...

For intuitivity sake, it would be good to have placeholder on line which is symmetry point so user does not have to create it itself.

Instead of going through steps as described above, user would simply click on center placeholder and attach it to desired other line. Even better, user could just click two lines and do symmetry without even looking for placeholder.

Lets go further. Why stop at the centering. What happens when user needs to link features based on 1/3rd of features length, 1/4th, 1/5th and so on. That's when things become complicated.

But if there is tool, that allows user to select line and then choose number of dividers and automatically gets placeholders on that rule, would not that be intuitive and very helpful especially when user works on complex model. Would not that be more obvious for user, provide less kludged drawing and, at last, would not that save time?



Another example: the other day I offered to 3d print some tube adapter to my father. It was simple task: I had to create tube which has one side one shape and other side other side. I knew FreeCAD can easily do that as in all stuff I read and videos I watched I remembered it as it really left impression on me.

And then I spent hours trying to find out how to do it. English is not my native language and I tried numerous keywords I could think of with no luck. I could not find a single clue how to do that. Until I went to Facebook group and described what I want to do and someone finally said magic word: Loft. Odd word. Even after I looked in vocabulary it was not clear to me why that word is used. I guess it is part of trade language.

Put that aside, I finally found out the option and all that I had to do was to loft two sketches. Wrong! I spend another few hours because loft did not work. I god all kinds of weird stuff like breaking shapes, or model getting black, and even FreeCAD crashed few times.

Finally I found out: as I draw sketches before I found Loft option I did not know I had to pay attention that it is mandatory to keep order of drawing inner and outer lines of the sketches that are part of loft. It is not allowed to have wrong order. That I can understand (partially).

But I cannot understand that here is no warning when not allowed situation occurs. FreeCAD tried to render shape regardless. I could not notice it because tube walls were so thin that visually it was hard to see that something is not rendered properly.

So. Lets get back to intuitivity: it would be good that when odd situation occur FreeCAD recognizes that and warns user, right?

And that is not end of the story. Now I know what is wrong - I had wrong order of inner and outer lines. Great! Just have to change that order. Well, I cannot say that is not possible to do but I could not find how, so I had to delete lines and draw them again (in both Sketches because I could not tell what is order of lines). Luckily shapes were fairly simple so it did not take much time.

What intuitivity says on that: Well if there is requirement that lines must be in some order, then user should have option to see what order of lines is and change that order if necessary in simple moves.


Am I whining? No. Am I complaining? No! I am just pointing out odds of user experience in FreeCAD and lack of intuitivity.
I am pretty sure someone will call me ignorant, dumb, or whatever. It is standard practice here.
User avatar
onekk
Veteran
Posts: 6222
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: FreeCAD UI Bible?

Post by onekk »

@PedjaS

Some of you thinking, (sorry for not to be more clear, english is not my mother language too).

FreeCAD lack of Documentation, true, but there are efforts to make things better, actually it is not perfect, but with the forum some help will be given in a short time, providing the questions are clear and some data are given, better to make a post, like:

- I want to achieve that
- I'm stuck with this passage

Maybe with a FCStd file included to show the problem and having some data to work on.

FreeCAD is difficult, yes and no, it has "HIS" workflow, and his point of weakness, but in general, it is not "too bad" and almost surely it wort more than you pay for (you pay 0 whatever currency you use, so the statement is always true :-D).

The point is the "UI Bible", it is not clear the purpouse of a "Bible", or to better expaining my point of view.

A Bible is somewhat that is "gifted from a God", but there is no "God" here, only developers, few and maybe not very well used to write in English and produced text.

Plus UI, is "difficult by design", an UI is made of signals, when you change a value in a editbox or enter a text, or do some other thing a signal is emitted and you have to thing what to do with this signal, simply ignore it, and maybe reread all the dialog only when you hit "Execute" button or maybe "OK" or wathever is designed to be "I'm done" button.

But take this scenario, I have done a rather complex interface to make boxes, if I state a 4 side boxes (not counting top and bottom) I have to enter the Length and the WIdth, but If I enter a number other than "4" in the field "Sides" i have to change some Input Boxes as a polygonal box (my logo is one of this boxes) has no Lenght or Width, it has a Radius, so one the Input boxes or better the Label has to became "Radius" instead of "Length" and the "Width" Label and InputBox has to be "greyed" and not accepting input anymore.

So the things you have to cope with are "not easily" foreseeable.

Different things to "UI Bible" is the approach on the wiki, there are some infos, that coupled with the Qt documentation and some "search around the net" will make you able to "put togheter" a decent interface.

As said so I've done even some work for a CAM program, it supports Plugins written in C#, It is a payed software, (luckily is cheap around 100 Euros), and for this CAM I've done a similar plugin (in fact the Plugin I've told you about is the "translation" in FreeCAD of that work).

For this CAM documentation is lacking, (and as you have payed for a software it is more annoying) but forum users are very friendly and have guided me to develop things, the author of the software is rarely writing on the forum, and the development is more "obscure" than FreeCAD development, plus it lacks of sources, (using the C# IDE as some things could be inspected and maybe Spied, but not everything).

But for this CAM I have done "An Italian Guide" and some plugins.

So when I came here and work on FreeCAD, nothing is "very difficult", it is annoying maybe to wait for answers and maybe having to talk with some "rude people" here, but usually developers and forum users are frienldy and willing to help.

Many people come here and criticize, but when asked to "be more clear" are not able to even explain their problem, and accept the solutions, many of them simply want to "do what they are used to do with other software" thinking maybe that that way is the "only right way" to do things.

Some other came here, gather some informations, and then make "videos" or "manuals" to be sold on internet as "FreeCAD guides" or similar things.

the "State of the art" in FreeCAD for now is:

- You have the wiki, that is not ever updated, as many volunteers have no time to follow all the development done.
- You have some manuals, notably Yorick manual, and @chrisb "Skectcher lesson", I could put also me in the number, as I 've written an "FreeCAD Scripting Guide" only in Italian, that you could download for free and maybe if you are kind enough made a donation throug Paypal, (but I've not gathered a single donation for now).
- You have the sources
- You have the forum

So Documentation is not complete but is not "totally absent".

I think that many of the problem you have faced, could be resolved simply reading some wiki pages and searching with some "keyword" forum posts, at the very end, a simple forum post asking for help, supplying the "FreeCAD infos" would have been more easy that doing some searches and watching some video, maybe done for old versions and with "horrible screen resolution". (many video around the net I've seen are totally unusable as it is difficult to see even "menu item words", you see a mouse pointer and some menu that opens.

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
Roy_043
Veteran
Posts: 8578
Joined: Thu Dec 27, 2018 12:28 pm

Re: FreeCAD UI Bible?

Post by Roy_043 »

onekk wrote: Sat May 08, 2021 11:04 am - You have the wiki, that is not ever updated
WTH! We may be behind when it comes to documenting the current state of FreeCAD, but what you are saying here is completely false.
Post Reply