Can I Help with The Useability Key?

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!
ChrisWesley
Posts: 46
Joined: Mon Nov 20, 2017 11:31 am

Re: Can I Help with The Useability Key?

Post by ChrisWesley »

chrisb - you asked if I want to join in the development. I'm 61 and I'm finding that that kind of thinking is harder for me, and the learning curve is likely to be steep, so I don't think this would be the best way for me to contribute. What I'm offering is more than a decade of experience in the design, management of development, and management of testing & support of software use in the field. I was European support manager and I know a lot about this. I wouldn't expect to be telling anyone what to do, of course, but I think I can contribute by trying to influence implementors.

obelisk, I will open the thread you suggest - thanks for the guidance.

Bance/obelisk - I can use a spellchecker, but honestgly (uh oh) - I don't care. If I can be understood, it's good enough. Of course, that attitude never did serve me well as a software engineer! Now I realise the potential for causing offense here. If you're a developer on FreeCAD you are by definition very smart. Some guy comes along and says "do much better" - and he can't SPELL?! I get it. Well, my hair is also falling out and I'm fat. If that helps. Hahaha. I'm working on the fat but can't see too many options for the hair. Maybe a nice bonnet. Bottom line is I think I can help you to use our very clever minds ot make an even better product. I want to be useful and I know that when I did it for a livng I had quite a positive impact globally within my company.

Kunda - thanks for the welcome, the comments and the encouragement. Diversity is always an asset, but anarchy seldom is. I now "management" is a dirt word, and I think the way it's typically done - it's an ugly ego-driven thing. But when we all pull in the right direction things really go well. If I look at Fusion 360 - they have VAST technical capability, but the tool is a pig to learn. The tragedy is that it doesn't have to be. Complexity does not lead inevitably to mystery or steep learning curves.

I will try to contribute peacemeal here and in the thread I just started in the Development > UX/UI Design forum called "FreeCAD UI Bible?" (https://forum.freecadweb.org/viewtopic.php?f=34&t=57887), to show the kinds of ways I feel the FreeCAD lerarning curve could be flattened. I really think this is the key to massive adoption.

Now a taster. This morning I faced the same choice. Do something easy in F360 which will take me 90 seconds - or try to brute through FreeCAD. (F360 is worse than FreeCAD for useability - it's just that I already scaled the cliff face).

I am very new. I wanted to put a sketch on the face of an object. The other day I learned about "attaching" and I did that and it worked. But today I learned that simply selectng a face before you create a sketch stipulated that the sketch be placed on the face. Wow. SO easy! But only if you know it. If you do not know a thing, then that thing is currently IMPOSSIBLE.

Now, I can hear the screams "it's on page N of the manual!" or "Watch a freaking tutorial and stop moaning" etc. Or maybe I am indeed not very clever and it should be obvious to me. Well, it wasn't. Here's how it could be made obvious to me through the UI.

When I CREATE SKETCH, the UI offers me 3 planes to choose from.
That is suggesting subliminally to me "These are the three choices you have".
So I internalise that (non-)fact and try to poceed from this false premise.
In this way, the UI not only didn't help, it implied an untruth which impeded my progress.

So - to fix it? Add an option below the 3 planes "or click a face to attach your sketch to that".
No tutorial, no help file, NO learning curve.

So that's the specific UI insight, and the generic insight is this:

"When listing the user's options, list them all - where possibly, directly in the UI at the point of choice-making".

So that could be the first "atom of smart UI design" in the FreeCAD bible of those. This would not be a set of hated rules imposed my dumb managers who never wrote a line of code in their lives. Every delevoper would be a contributor and an evangeliser - because they will have worked with those guidelines, they beleive in them, and they really see how they are the difference between an afternoon of hair-ripping anger, and a few minutes glacial progress towards a satifying goal (and FreeCAD worship and global evangelisaiton for FreeCAD - at which point, the fire is lit - world domination follows). FOr a young software engineer to learn this lesson is sometimes hard - there's ego tied up in here. But their smarts usually win out.

Hopefully, inspired developers would also go back to their code and update it to reflect the new UI insight. Of if they can't stand to - maybe it's forward-looking only. Maybe it's only advice until commitment and buy-in grow.

Now you can probably kick a hole in that first atom. But there will be one you can't kick a hole in, so I hope you see the point. And remember - a 60% solution is vastly better than a 0% solution. Perfection would be great but failure to attain it doesn't mean the effort is worthless.

And one more thing on my spell checking inadequacies. This nicely illustrates another UI axiom I discovered long ago:
"Requiring or begging for user compliance is a very poor cousion to enforcing it".
In this case, that means add a spell checker to the forums. Of course, I'm not epxecting you to do that, it would probably be an extremely poor way to prioritise your resources, but I hope you can see the generic point.

I've seen a lot of forum discussion here which refer to the design being broken or made incorrectly.
In an ideal world, it should not be possible to break a design nor build one incorrectly.
I know it's probably not that simple - but it's a direction to shoot towards.

OK so the thread is open. Please go there if you have more comments. Should I post this there too?

Thanks guys
chrisb
Veteran
Posts: 54292
Joined: Tue Mar 17, 2015 9:14 am

Re: Can I Help with The Useability Key?

Post by chrisb »

No need to crosspost, and thank you that you made your offer without the often seen accusing tone.

You gave an excellent example, because it shows the dilemma we are in.
A preliminary remark concerning your proposal: we don't advocate this way of modeling. Such models are prone to break due to the topological naming problem. If you have DatumPlanes, they are well offered for the attachment.

But your example shows something else:
This is already a known issue. There are topics about it, to offer the well known attachment dialog. There may even be a feature request in the ticket system.

But nobody implemented it.

What it shows is: we are not really short of good proposals, we are short of people implementing them. You are now 61. How old do you expect to get, 62? And even then, this is a chance for you to give something to the free CAD world where people say "wow, how the heck could someone come up with such a great idea?". If you intent to live until you are 91, have you ever thought about what to do during the next 30 years? And keeping the brain busy is said to keep it young!
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: Can I Help with The Useability Key?

Post by Bance »

ChrisWesley wrote: Sun Apr 18, 2021 7:29 am If I can be understood, it's good enough.
That's the point, I understood that you wanted to contribute. Unfortunately, you just want to project manage, thanks but we get at least one offer a week, sometimes from people with more/better experience than you. So you didn't make yourself clear in the first post.
ChrisWesley wrote: Sun Apr 18, 2021 7:29 am In this case, that means add a spell checker to the forums.
The forum has a spell-checker.

The forum checks your spelling automatically, it doesn't however correct it automatically. You have to do that.
ChrisWesley
Posts: 46
Joined: Mon Nov 20, 2017 11:31 am

Re: Can I Help with The Useability Key?

Post by ChrisWesley »

chrisb - I took a look at the topological naming convention link you provided, but I don't understand how it relates to my proposal. If you use the words of my example you don't need to adopt any naming convention. I'm not suggesting a list of the internal names of the available faces, I'm suggesting just that literal text - like a fragment of a manual, but in the UI.
Have I misunderstood you?

I appreciate your comment that you don't need hand-wavers and pontificators - you need people to DO STUFF. I could, for example, be the editor of "the UI bible". I don't mean the owner/dictator, I mean the temporary custodian. Getting it off the ground and out to implementors, acting on inputs from the forums, rationalising and organising content, sending out revisions. Orchestrating but not controlling that effort.

FreeCAD has been around for quite a while, and what I would call the errors in the UI today suggest to me that they are being put in - today. So if nothing is done, the UI will continue to get larger, as more functionality is added, but the usability of the UI will stay the same or else it will slide around as implementors come and go. I am proposing a way to create, grow and manage a document which would guide all developers new and old and as-yet non-existent. How many developers are there currently?

I'm also not sure I understand your comments about my age. I am saying the kind of analytical thinking required to write code is getting harder for me, and less enjoyable because of that.It's a recipe for misery which I am not offering to the project. What I AM offering is detailed above.

Bance - please see my clarification above on how I might contribute.

Can anyone tell me where can I learn about how software management happens in the FreeCAD project?

Thanks
Chris
chrisb
Veteran
Posts: 54292
Joined: Tue Mar 17, 2015 9:14 am

Re: Can I Help with The Useability Key?

Post by chrisb »

ChrisWesley wrote: Sun Apr 18, 2021 12:04 pm Have I misunderstood you?
You misunderstood the topologcal naming problem. In short it means: If you attach sketches to faces, and you change later something in a previous step, then your model will break, because the sketch all of a sudden will be attached to something completely different.

If you need an example, I can look for it later, but you also find lots of them here in the forum.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Can I Help with The Useability Key?

Post by Kunda1 »

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
ChrisWesley
Posts: 46
Joined: Mon Nov 20, 2017 11:31 am

Re: Can I Help with The Useability Key?

Post by ChrisWesley »

Are you saying don't cut holes by attaching sketches to body faces and extruding them, because subsequent edits will break the extruded hole?
Here: https://forum.freecadweb.org/viewtopic.php?t=25451 you endorsed this process, but it was a few years ago so maybe things have changed.

If you saying it's bad practice to attach sketches to body faces and extrude to make holes, then why is it possiible and what is the correct way?

If it is the correct way to make holes then all I'm saying is - offer that as an option in the UI - just add the words "or click any face the ADD SKETCH to put a cketch on that face".
I know it now, I used it, it worked fine, I printed my part and the job is done.
I'm just saying I would have completed it several days ago if that method was in the UI for NEW SKETCH.

I gave a specific example to try to show what I wanted in general. If the example is a bad one then let's throw it away and not be distracted by it further. I could have suggested several others.
chrisb
Veteran
Posts: 54292
Joined: Tue Mar 17, 2015 9:14 am

Re: Can I Help with The Useability Key?

Post by chrisb »

ChrisWesley wrote: Sun Apr 18, 2021 4:56 pm Are you saying don't cut holes by attaching sketches to body faces and extruding them, because subsequent edits will break the extruded hole?
No, it is the other way round: If you want to create a hole somewhere in the middle of the sequence of features and you create it from a sketch attached to a face, then let's assume you change something in a step before the sketch, e.g. you change the diameter of a hole. Then all of a sudden the face where the sketch is attached to, can move to a completely different face. Did you read the wiki page about the toponaming (I linked it and Kunda repeated the link)?
I gave a specific example to try to show what I wanted in general. If the example is a bad one then let's throw it away and not be distracted by it further. I could have suggested several others.
That's why I answered to this special matter in a separated preliminary remark. Concerning the issue you are aiming at, improvement of the GUI, it shows another dilemma: newbies have an unpolluted view on the program, but they also don't know what has to be considered in total.
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: Can I Help with The Useability Key?

Post by ChrisWesley »

chrisb wrote: Sun Apr 18, 2021 6:20 pm
ChrisWesley wrote: Sun Apr 18, 2021 4:56 pm Are you saying don't cut holes by attaching sketches to body faces and extruding them, because subsequent edits will break the extruded hole?
No, it is the other way round: If you want to create a hole somewhere in the middle of the sequence of features and you create it from a sketch attached to a face, then let's assume you change something in a step before the sketch, e.g. you change the diameter of a hole. Then all of a sudden the face where the sketch is attached to, can move to a completely different face. Did you read the wiki page about the toponaming (I linked it and Kunda repeated the link)?
I gave a specific example to try to show what I wanted in general. If the example is a bad one then let's throw it away and not be distracted by it further. I could have suggested several others.
That's why I answered to this special matter in a separated preliminary remark. Concerning the issue you are aiming at, improvement of the GUI, it shows another dilemma: newbies have an unpolluted view on the program, but they also don't know what has to be considered in total.
Thanks for the clarification. Yes, I went to the wiki and read the article you linked, but I still think it's a distraction from the point I'm trying to make.
If you advocate making holes by drawing and extruding sketches on the faces of bodies (as you did in your forum post which I linked to)
then it's helpful for users to know that they can attach sketches to faces by clicking the face before they create the sketch.
That's all I'm suggesting there - add line of text under the planes dialogue saying "or click any surface to put your new sketch on it".
Like this:

Image

Could you respond on that please?

I appreciate your point about "dumb users" (my phrase not yours - but I am a dumb user here). A "dumb user" with no understanding of, nor interest in, how the program works, still has the right to make comments on the useability and the learning curve of the product. For a developer, that can be very frustrating, of course, because these people (typically less intelligent than you) who are criticising your work, have not the slightest idea of the huge technical challenges you face, and those you already conquered to bring them the tool they currently have. (and in this case, they didn't even pay a penny for it).

But none of that invalidates their viewpoint, and if your goal is to spread FreeCAD across the globe, then useability and learning curve are massive levers on making that happen.

I used to lecture on website design at my local college, and I had a class test an E-Commerce website I designed. I asked them to find some items, put them in the basket and go to the checkout. Hands went up - "How do I put something in the basket?" they asked. I really struggled not to say "Oh, I don't know... how about clicking the button with BUY written on it, you dumb f*^&". But I was missing the point. IF a lot of people find something confusing. THEN IT IS CONFUSING. And IF your goal is to take money from their pockets and put it in yours, then that issue needs resolving BY YOU not by them. It's a kind of ego reversal. I changed my website to make the BUY buttons much larger and I labelled them ADD TO BASKET" instead.

In some ways, a developer will always be his own worst enemy for useability. He knows it too well, he made it in his image and for him. He assumes people all know what he knows, are as smart as he is, and think how he thinks. And he probably hates that stufff anyway, preferring to swim in a sea of glorously hard technical challenges.

There are two entirely unrelated skills in play. One is wrestling with the technical aspects of what you do. The other is making ytour product easy to learn and to use. I got some insight into this when the Fusion 360 guys where trying to explain why I couldn't shell a body with fillets on it if its internatl curves were tight. They showed me the "comb filter" (perhaps you know it) to help me to solve the problems. My viewpoint was "If a man with a chisel could make this from wood then Fusion 360 should be able to make it on my desktop PC". I was paying for a license at that time. They were exasperated with me, because I didn't want to enter into a discussion about how, beyond a certain value, the shell operation would cause angles to flip and lengths to go negative. Of course I get that, but I'm making a different point. USEABILITY is entirely seperate from FUNCTIONALITY. Of course the challenge is to deliver both, and sometimes useability goals cannot be perfectly met. In fact, Fusion 360's COMB FILTER is an example where they can't make it more useable directly, so they gave the user a tool to visualise what's happeneing, so they can accomodate an implementation weakness which they cannot remove. It's not idea - but it's better than it was, and it means people can stumble aorund the problem and limp to finish the project. Compromose. That 60% solution I mentioned.

Very often smart implementors are all about the functionality and not really interested in the useability. That's OK, as long as there's another way to get useability put into the product. Horses for courses. Teams of vary different people, all valuable, pulling together to make a fantastic product which is superbly functional and breathtakingly easy to learn and to use - the dream, surely?

On the specific technical issue you raised, I think Fusion 360 tackles this problem by leaving the sketch where it was before you deleted, damaged, or moved the face it used to be on, but they flag it as having "lost its reference". The sketch stays where it was, as do the operations based on it, but is no longer associated with a surface in the body of the model, and some editting opertions will inevitably not work and/or cause further problems downstream. If I have that wrong, then OK. No need to go into it. Just trying to be helpful.

How manay active developers are there?

Thanks again for your time chris.
user1234
Veteran
Posts: 3512
Joined: Mon Jul 11, 2016 5:08 pm

Re: Can I Help with The Useability Key?

Post by user1234 »

tl,dr; forget Fusion.
When you are confused, then you are. From 1 in the forum is confused, there are 100 are not confused.

Greetings
Post Reply