thegrumpys / odop

Open Design Optimization Platform (ODOP) - Coil spring design app; mechanical springs; compression spring, extension spring, torsion spring
https://www.springdesignsoftware.org
MIT License
4 stars 5 forks source link

Provide more visible feedback when Invalid Value created. #866

Open grumpyinca opened 11 months ago

grumpyinca commented 11 months ago

Summary

This issue proposes to provide users more visible and more immediate feedback when an Invalid Value is created. The intent is that the user will directly associate the problem with the most recent input as opposed to making additional inputs before belatedly discovering the problem by opening the Alerts accordion.

Background

Currently, the design model is recalculated, including objective value and alerts, at every input keystroke. This causes the resultTable multi-color feasibility indicator to update with intermediate results at every keystroke.

Option 1: Changes in the Edit Independent Variable modal dialog of Calculator View

For this option, this proposal is limited to changes in the Edit Independent Variable modal dialog of Calculator View. It does not have to extend to Advanced View or editing dependent variables. Advanced View users should be more accustomed to getting this information from the Alert facility.

In the case where there is an invalid value anywhere in the symbol table, this proposal replaces the multi-color feasibility indicator with red text with words similar to: "This design contains one or more INVALID VALUES. See Alerts for more details.". For example:

EditIV_ModalDialog

It may be necessary to add code to the calculation of Objective Value, or perhaps the alert facility, to flag the existence of invalid values in a way that the multi-color feasibility indicator can access.

If it is determined that keystroke-by-keystroke updating causes too much motion distraction, it may be possible to update only when the input field loses focus.

Option 2: Enhance ALL INSTANCES of the multi-color feasibility indicator

If there are any invalid values in the symbol table, all instances of multi-color feasibility indicator (including the results table and within the Edit IV / DV modals, Advanced View, etc.) are replaced with text (shorter version of above).

grumpyinca commented 11 months ago

Conversation summary

There is concern that the proposed complete replacement of the multi-color feasibility indicator might cause too much motion distraction and general disruption of the user experience.

Option 3: Text next to alerts accordion

Do not replace the multi-color feasibility indicator. Rather, put an "INVALID VALUES" string next to the Alerts accordion. Change the text of the tooltip on the blue-circle-with-white-i info icon to specifically address the situation.

Option 4:

Replace the multi-color feasibility indicator's blue triangle with a very small "forbidden" slashed circle icon: image plus add a new blue-circle-with-white-i info icon with tooltip to specifically address the situation. How about a sad-face icon ?

In options 3 & 4, consider appending to the resultTable message text to include words similar to "INVALID VALUES. See Alerts for details.".

grumpyinca commented 11 months ago

Consider changing the proposed blue-circle-with-white-i info icon adjacent to the multi-color feasibility indicator to a red-circle-with-white-exclamation-point and different tooltip content when the design is invalid or contains infinity / NaN values.

grumpyinca commented 11 months ago

See related work accomplished under #871.

grumpyinca commented 10 months ago

Ideas coming out of discussion of #869: