Dissolving dialogs

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Dissolving dialogs

Post by Kunda1 »

Was trying to draw an arrow in Krita and encountered the coolest open source UX phenomena, a dissolving dialog that oriented me in the right direction!
Krita-self-destrucing-dialogs.gif
Krita-self-destrucing-dialogs.gif (175.18 KiB) Viewed 2425 times
Wouldn't this be useful in FC?
Thoughts?
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
vanuan
Posts: 539
Joined: Wed Oct 24, 2018 9:49 pm

Re: Dissolving dialogs

Post by vanuan »

I think FreeCAD badly needs operation validation. That is, instead of trying some operation and failing with errors in Python console or error dialog, there should be some validation step whether the operation would fail before it happens.

As to how to communicate the future failure to the user, that's a secondary concern. Options I can think of are:
  • show a transparent disappearing notification message (like in Krita)
  • disable/hide the UI element which corresponds to invalid operation in a given context
  • hide/show highlight/dim UI elements that correspond to objects to which operation is applicable
But again, we should have operation validation in the first place.

And for operation validation to work we need a strict type system. With link feature, duck typing and even lack of operation/object types themselves we can't be sure whether operation is applicable in a given context or not.

So another option is trying, failing and reverting. This means errors should be recoverable. But they're often not. That is an operation that leads to invalid state needs human intervention to bring it back. Edit history is also lacking, that is the "Undo" button not always work (operation transactions are not used consistently).

So the problem is much deeper than the lack of transparent tooltips/notifications.


The simplest solution would be to replace the error dialog with this splash notification. But error messages are also lacking and often not helpful (e.g. error message with stacktrace)
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Dissolving dialogs

Post by Kunda1 »

vanuan wrote: Tue Dec 22, 2020 9:22 pm
@vanuan thanks again for weighing in. I always appreciate your analysis. It's a little overwhelming though since often is the case that you point out what I understand (from your perspective) are some fundamental issues in FC architecture that need to be addressed before adding this or that issue. Not sure if that is what the core devs are aligned with or perhaps they are but are very busy to weigh in on?
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
vanuan
Posts: 539
Joined: Wed Oct 24, 2018 9:49 pm

Re: Dissolving dialogs

Post by vanuan »

Well, as it is often the case in open source projects, contributors focus on GTD (getting things done) rather that on maintenance and long term success. It is maintainers ("core devs") who should establish rules to make the core of the project stable and powerful.

But in FreeCAD, maintainers themselves follow the GTD philosophy. That is application specific changes are more valuable than the overall health of the codebase. This leads to more features being developed without proper infrastructure (plumbing) to maintain them. As a result - more bugs and ever longer release cycles.

All attempts to establish rules so far failed - see "FreeCAD enhancement proposals" as the latest attempt. I don't think that there is such thing as "core devs". For sure, there are some guys who have repository admin rights, control the domain, website and forum, but I haven't seen any coordination wrt roadmap, releases, API stability, architecture etc.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Dissolving dialogs

Post by Kunda1 »

Looks like @abdullah came through in issue #8120 :D
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
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Dissolving dialogs

Post by onekk »

Post amended, sorry for any inconvenience.

Regards

Carlo D.
Last edited by onekk on Mon Jan 02, 2023 4:30 pm, edited 1 time in total.
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/
wmayer
Founder
Posts: 20308
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Dissolving dialogs

Post by wmayer »

Note that the discussion is two years old.
User avatar
onekk
Veteran
Posts: 6205
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Dissolving dialogs

Post by onekk »

wmayer wrote: Mon Jan 02, 2023 3:53 pm Note that the discussion is two years old.
Sorry, I've seen the date of last answer from @Kunda1.
I wil amend my post.
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/
Post Reply