UI Design: Can I use a Declare to alter the colour/strength of a Group Box Border?

  1. ‹ Older
  2. 2 weeks ago

    Thomas E

    Jan 4 Pre-Release Testers

    I'm with Don Lyttle here. Since the update button is on the darker grey area it seems to act on these values, only.

  3. Tanner L

    is not verified Jan 4 Pre-Release Testers Toronto, Canada

    @SteveKelepouris when you look at the Launch Conditions panel, at the bottom right corner there's a button that says "UPDATE". What do you think this means in relation to the whole panel?

    I take it as updating only the params defined in your new canvas groupbox "Launch Conditions".

    The "Rocket Type" groupbox appears to be independent. I would assume a selection change would dynamically redraw the graph. Also, the "Edit" button seems a bit incongruous here, since there are only two radio buttons.

  4. Markus W

    Jan 4 Pre-Release Testers, Xojo Pro #JeSuisHuman Germany, Heidelb...

    Why have an update button at all? Why no live update?

  5. Don L

    Jan 4 Pre-Release Testers, Xojo Pro Florence, South Carolina USA

    @Markus W Why have an update button at all? Why no live update?

    Interesting question, Markus. To your point, in 90+% of all the apps I've written that are similar to Steve's work here, I do use "live update" via either the TextChanged event (if I want an update performed character by character entered) or LostFocus event (if I just want to grab it as a whole when the user goes to the next field or leaves the current scope).

  6. Tim J

    Jan 4 Pre-Release Testers, Xojo Pro Dehydrating in AZ

    Also, why not set the Rocket Type (shouldn't that be Motor Type?) to a PopupMenu? I also agree that the "Update" button should be part of the main window and not part of your second grouping.

  7. Steve K

    Jan 6 Melbourne, Australia
    Edited 2 weeks ago

    @Don L Not sure this what you're asking, but on the assumption you want to know if the "UPDATE" button is "intuitively obvious to the casual observer" as to it's intended functionality, here's my simple guess ... UPDATE is used to process any changes the user made to the Launch Conditions parameters (textfields in the Launch Conditions box) such that the associated graph is redrawn to reflect the changed data and, if a database is involved, update the data in that database as well.

    Cheers Don, that's pretty much the purpose as confirmed by most other replies.

    @Markus W Why have an update button at all? Why no live update?

    I did think about it Markus, but I don't think live update is suitable in this situation.

    There are too many variables and complicated calculations that need to be performed and checked. For instance, the Gross Weight cannot be less than the propellant weight of the motor (which is input in the previous window). For example, if the propellant weight was 60 grams and the user started typing into the gross weight input field, then an error message would keep coming up (annoying) - until they entered a number greater than 60.

    For the purposes of "Lift-Off" of a Rocket, the entire weight (gross weight) has to include the fuel/petrol/gas/solid propellant/anti-gravity machine, etc. If that doesn't make sense, then it's time to look at something else.

    Therefore, the best way to approach this was to force the user to select the UPDATE button. It's hard to explain without knowing the context and what's happening in the background.

    Nevertheless, I do understand the point of using live update, which ironically I have used in the following example which includes one of the main variables of concern (Gross Weight).

    The image below shows the previous (main) window. Near top/left there is "Gross Weight" (this IS using Live Update). If the user enters an incorrect value, then the background shows Red, ie. (error) also an (i) icon is displayed to alert the user to further information, and when selected, the resultant message is as shown.

    This works fine because we only have three variables: Gross Weight, Propellant Weight, and Total Impulse from the loaded graph (motor). But in the "Altitude Predictions" window there are too many unknowns to make "Live Update" workable.

    (my apologies for the next part - a good strong coffee should help. Personally, a good shot or two of aged Scottish malt whiskey or a nice Bourbon should make things even more clear. Or even a nice cup of Tea with a Bex Powder and good lie down. It's up to you.

    -image-

    After rectifying the issue, as an example, the user now has further options, and the "Altitude Predictions" button is available. This is a "Step by Step" process where preceding steps are validated otherwise the user cannot proceed, except to quit the application or do nothing (or of course, proceed as directed):

    -image-

    The user can now select "Altitude Predictions" to get to this window:

    -image-

    One relationship/connection between the two windows is shown as indicated by the red line (Gross Weight). This is used as a "What If" scenario where the user can change that value in order to show: [RUN SIMULATION] which shows a simulated real-time graphic of the rocket taking off (yet to be worked on).

    I'm not sure if anyone will understand what I've posted above. But as a Software Developer it's only "ME" that can fully understand the reasons/conditions/solutions. Perhahs no-one will ever really know. Regardless, the User has to "Use" the software application for it's intended purpose, in that, we can ALL agree upon. It's a game of compromise and tweaking to get the balance right.

    @Tim J Also, why not set the Rocket Type (shouldn't that be Motor Type?) to a PopupMenu? I also agree that the "Update" button should be part of the main window and not part of your second grouping.

    Thanks Tim.

    The Rocket Type is NOT the same as The Motor Type.

    Consider it this way. You have a motor/engine in your car. The motor/engine is inserted into the surrounding body which we call a Car, and affected by aerodynamic forces. In this case, the rocket motor is inserted into a tube with fins and nosecone (model rocketry), or the motor is attached to a stick with a pyrotechnic header - which is also affected by aerodynamic forces and also includes gravity. So what I'm saying is that we can have "Car Type" and "Engine Type". They CAN be exclusive, but of course not in this scenario.

    The graph shown in the "Altitude Predictions" window is a small rendition of the "motor" performance. That is, it shows thrust performance over time of the test motor, which is part of the whole solution. It does not show altitude prediction.

    The next window (image 3) will attempt to show a real-time simulation of the overall performance of the entire Rocket (as if it was to be launched). The calculations will only ever be "theoretical" because the main unknown in this whole equation is the drag co-efficient. This can only be worked out if you have access to a good wind tunnel. Everything else is just math/theoretical, but there is no other way except to go by "theory".

    A popup menu would not be as effective in this case. There are only 2 options and it's made clear. The user can select either, then select EDIT, and depending on the choice, the next window will show with limited options pertaining to that choice. I can't see a way to simplify that. I think it works well in my mind. It's going to take effort to make it work as I want in the application code.

    FINALLY
    It would make sense to have on this Forum a category/section where we can post issues and have discussions regarding the Graphical User Interface (GUI Design). Which is where this post has ended up.

    I'll put it forward under "Forum Issues". I really think it's very worthwhile.

  8. Markus W

    Jan 6 Pre-Release Testers, Xojo Pro #JeSuisHuman Germany, Heidelb...

    @SteveKelepouris There are too many variables and complicated calculations that need to be performed and checked. For instance, the Gross Weight cannot be less than the propellant weight of the motor (which is input in the previous window). For example, if the propellant weight was 60 grams and the user started typing into the gross weight input field, then an error message would keep coming up (annoying) - until they entered a number greater than 60.

    That‘s not how I would deal with it.

    First off don‘t use an error message - if the value is too low then draw an empty graph or a meaningful error message on the graph, or use a StatusField at the bottom.

    You can also restrict the values on the text input field. Or use up/down errors. Or update the graph in the FocusLost event of the Textfeld. Definitely check the values in the update button and/or close event.

    There are lots of possibilities - using an error message is the most annoying one to me.

  9. last week

    Steve K

    Jan 8 Melbourne, Australia

    @Markus W That‘s not how I would deal with it.

    First off don‘t use an error message - if the value is too low then draw an empty graph or a meaningful error message on the graph, or use a StatusField at the bottom.

    You can also restrict the values on the text input field. Or use up/down errors. Or update the graph in the FocusLost event of the Textfeld. Definitely check the values in the update button and/or close event.

    There are lots of possibilities - using an error message is the most annoying one to me.

    I'm a bit confused Markus. What Error Message are you referring to? - the one as posted above (1st image), or a "potential" Error message that we don't know about yet?

    Perhaps you didn't read my previous post completely? Fair enough, I must admit that I found it hard to review, and I'm the one that had to write it. :)

  10. Julia T

    Jan 9 Sandy Hook, Connecticut

    Regardless of UI quirks, it's a pretty awesome cool app :)

  11. Steve K

    Jan 10 Melbourne, Australia

    @Julia T Regardless of UI quirks, it's a pretty awesome cool app :)

    Thanks Julia. Perhaps "Quirks" is a very nice way of saying non-standard :), and I thank you for appreciating the point, and being positive.

    Standards/rules are there to be broken. Creating a software application that's "easy" to use, is much harder than making it "hard" to use, but easier for the developer.

    For example, with my App, there is no SAVE AS. It all works fine in the "context" of "MY" application. "quirky/non-standard" DOES NOT = WRONG!.

    And besides, Xojo let me do it :)

  12. Don L

    Jan 10 Pre-Release Testers, Xojo Pro Florence, South Carolina USA

    @SteveKelepouris Standards/rules are there to be broken.

    I'm not sure I'd go that far, but I will say I've lost track of the number of times I've had a client request I do something to a UI that IS "non-standard" because they feel it is easier for them to understand and use.

  13. Alfred V

    Jan 10 Pre-Release Testers

    @Thomas E Just a note (because I got burning eyes caused of that):
    Temperature must be "°C" and not "C".
    The weight is "metric weight unit" ( I had to search for it). The SI unit symbol is just "g" (see Wikipedia Gram .

    Glad that you use metric units as the rest of the sane world it would be nice toe see the correct units ;)

    No the temperature must be expressed as "C" and "C" is spelled out as degrees celsius. In the scientific world where papers are submitted to peer reviewed journals, degrees Kelvin is K, degrees Fahrenheit is "F". The sign of degree ° is reserved for angle.

  14. Steve K

    Jan 10 Melbourne, Australia
    Edited last week

    gm may not be the official notation, but according to the encyclopedia britannica:

    The official International System of Units abbreviation is g, but gm has also been used.

    Thanks Alfred, looks like just "C" is correct. I'll remove the ° symbol. I didn't like the look of it anyway.

    Cheers.

  15. 7 days ago

    Derk J

    Jan 10 Pre-Release Testers, Xojo Pro

    The SI-Unit of “gram” should be “g” as “gm” means “gram-metre” you might not wanna use “gm”.

  16. Robin L

    Jan 11 Xojo Inc Europe (Germany, Rehlingen)

    Shouldn't it be 'Gross Mass' instead of 'Gross Weight'?

  17. Steve K

    Jan 11 Melbourne, Australia

    @Robin L-Mitchell Shouldn't it be 'Gross Mass' instead of 'Gross Weight'?

    According to google:

    There is a basic difference, because mass is the actual amount of material contained in a body and is measured in kg, gm, etc. Whereas weight is the force exerted by the gravity on that object mg. Note that mass is independent of everything but weight is different on the earth, moon, etc.

    In my case, the user must weigh the various components (on earth) using a weighing scale. The total weight of each components is the Gross Weight. I suppose in space you would use mass instead. Technically mass, but most people are more familiar with weight.

    Interestingly in the example above, gm is used for gram.

    This is the final altitude prediction equation:

    -image-
    (from G. Harry Stine - Handbook Of Model Rocketry)

    Weight (W) is used in the above equation. Also you can see that "gravity" is expressed as "g" - that's why I'm using gm for grams. I believe it's acceptable. It's not exactly rocket science :)

    Now for something amusing. This extract makes me giggle :) (taken from the same page):
    -image-

  18. Beatrix W

    Jan 11 Pre-Release Testers Europe (Germany)

    @SteveKelepouris : thanks for that giggle. Needed it today. Is this from the fifties?

  19. Steve K

    Jan 11 Melbourne, Australia
    Edited 7 days ago

    @Beatrix W @SteveKelepouris : thanks for that giggle. Needed it today. Is this from the fifties?

    The book was first published in 1965. I don't have the entire book, just a photocopy of the chapter regarding altitude calculations. Photocopied from a library book in the early eighties. This was before I purchased my first PC (IBM/XT). Before that I had a programmable calculator - a real pain.

    The book is regarded as the bible of model rocketry and the official handbook of the National Association of Rocketry (US).

  20. 4 days ago

    Thomas E

    Jan 14 Pre-Release Testers

    @Alfred V;Hoek No the temperature must be expressed as "C" and "C" is spelled out as degrees celsius. In the scientific world where papers are submitted to peer reviewed journals, degrees Kelvin is K, degrees Fahrenheit is "F". The sign of degree ° is reserved for angle.

    This is just wrong.
    Celsius and Fahrenheit are degree units. These have always the sign of degree. See wikipedia Celsius , wikipedia Fahrenheit .
    Kelvin is a SI base unit an and you write never a degree sign with Kelvin (wikipedia Kelvin )!

  21. 15 hours ago

    Steve K

    15 hours ago Melbourne, Australia
    Edited 15 hours ago

    @Thomas E This is just wrong.
    Celsius and Fahrenheit are degree units. These have always the sign of degree. See wikipedia Celsius , wikipedia Fahrenheit .
    Kelvin is a SI base unit an and you write never a degree sign with Kelvin (wikipedia Kelvin )!

    Yep. Righto. I wouldn't go as far to say it's "wrong", but I accept it, and have changed it back to include the degrees symbol.

    The reason I've done so is because, yes, I agree that it IS actually the correct way to show it. Thankyou. That's not to say that just using C/F/K to describe degrees is unclear, but in this case, there is no reason NOT to be correct, and there are no real ramifications either way.

    This is what I've ended up with:
    -image-

    Now, before anyone questions why the degrees symbols, ie. Degrees of Temperature and Degrees of Angle don't look the same, well, I'll give you the mail: It's purely an aesthetic choice.

    It does however make me think about degrees. Why the Heck do we have degrees, using the same symbol for heat or an angle? Is there a relationship that I don't understand?

    I only went as far as Year 11 Physics, which I failed.

or Sign Up to reply!