Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should Mass values round to an even 50 kg or 100 kg with default steps? #133

Closed
terracoda opened this issue Dec 19, 2018 · 14 comments
Closed
Assignees

Comments

@terracoda
Copy link
Contributor

terracoda commented Dec 19, 2018

@arouinfar, I have been playing a lot with GFL and I am wondering if it makes sense pedagogically to round the Mass values with using a keyboard to the nearest 50 kg or 100 kg?

For example, when I decrease a Mass to 1 kg and the start increasing again, the value goes up by 50 kg, so I get 1 kg, then 51 kg, then 101 kg, 151 kg, etc ...

Questions:

  1. Should that first increase step from 1 kg to 51 kg or round to 50 kg and if using Pg Up and Pg Down (100 kg steps), should that first step round to 100 kg instead of going to 101 kg?

I realize this is not a snap-to slider, but I am still wondering if rounding should happen, and when it should happen.

  1. For example, if the user uses the shift key and changes mass to say 173 kg, should the next default increase round to 200 kg, or 225 kg? Or just add 50 kg to 173 kg which would be 223 kg?

Rounding for the position sliders is much more complicated, so I am just asking about what would be pedagogically useful for the Mass sliders.

I will tag @emily-phet and @ariel-phet in case they would like to chime in.

Edit: I made a few edits in bold to fix typos and clarify.

@terracoda terracoda changed the title Should Mass values round to an even 50 or 100? Should Mass values round to an even 50 kg or 100 kg with default steps? Dec 20, 2018
@arouinfar
Copy link

Great question @terracoda. Recently, we have used the constrainValue option in HSlider to make the slider thumb snap to "nicer" numbers. You can test this out in Pendulum Lab. The Length and Mass slider thumb will snap in 0.1 increments, but the tweakers can be used to adjust the value in steps of 0.01. Using constrainValue in such a way serves a few purposes:

  • Users will tend to explore "rounder" numbers which may make it easier to see functional relationships between variables.
  • Experiments are more easily repeatable.

I definitely think we would want to do something similar to GFL. I think steps of 50 kg would be most ideal, because it provides a wider range of options for students to explore with the slider thumb. If the step size is too large, it will take a lot of tweaker/shift modifier key presses to adjust to a specific value.

The range being 1-1000 kg makes things a little trickier. I don't know if constrainValue would support this sort of behavior, but I would prefer the thumb jump from 1 to 50. So the first step is 49 units, but steps after that are 50 units. Increasing the value like 1, 50, 100, 150, etc... is more in line with the pedagogical goal of keeping the values cleaner.

If a user uses the tweaker (or shift modifier) to adjust the value to 173 kg, then the value would jump down to 150 kg or up to 200 kg, depending on which arrow key was pressed. The same goes for a mouse user -- the slider thumb would snap to the next step.

@arouinfar arouinfar assigned terracoda and unassigned arouinfar Jan 2, 2019
@terracoda
Copy link
Contributor Author

Just making a note that this is common issue with Gravity Force Lab Basics.

@terracoda
Copy link
Contributor Author

Actually, I lied this is only an issue for Gravity Force Lab REGULAR. There is no slider with tweakers in BASICS.

@terracoda
Copy link
Contributor Author

@terracoda and @zepumph to discuss this issue when work on GFL BASICS is on track. Un-assigning for now.

@terracoda
Copy link
Contributor Author

Marking onhold until BASICS is in good shape. This issue is not directly relevant to BASICS.

@terracoda
Copy link
Contributor Author

Removing on-hold. I think we will want to round, but I need to review the example.

@terracoda
Copy link
Contributor Author

terracoda commented Jul 25, 2019

@zepumph, in this sim the mass slider is a slider (not a number spinner with fixed values like in GFLB). @arouinfar and I would like there to be some built-in rounding for the mass values, similar to how the sliders work on Pendulum Lab.

@arouinfar mentioned they used constrainValue in that sim. Would that work for the GFL mass sliders even though the GFL's mass sliders have a larger range (1-1000 kg)?
We both would would prefer that:

  • the mass slider thumb jump from 1 to 50. So the first step is 49 units, and steps after that are 50 units. This would mean increasing the value would be 1, 50, 100, 150, etc.
    If a user uses the tweaker (or shift modifier key) to adjust the value to odd-ish value like 173 kg, then the value would:
  • jump down to 150 kg or up to 200 kg on the first key press, depending on which arrow key was pressed. The same goes for a mouse user -- the slider thumb would snap to the next step, and mouse users would use the tweakers to adjust to odd-ish mass values between multiples of 50.

The rounding should work similarly with the Pg Up and Pg Down keys, but snap to 100 kg instead of 50 kg.

@terracoda
Copy link
Contributor Author

@zepumph, let me know if you have any questions.

@zepumph
Copy link
Member

zepumph commented Oct 8, 2019

@terracoda over in #173 we made the slider jump by 50. We also made the min value 10kg. I then just added the ability for it to round to default step size. This does not happen with page step, by design. Let me know what you think.

Please note that shift keyboard step is currently broken, and will be solved over in phetsims/scenery-phet#528.

@zepumph zepumph assigned terracoda and unassigned zepumph Oct 8, 2019
@terracoda
Copy link
Contributor Author

@zepumph, I think it would make sense to do the same rounding with Pg Up key, that is the first jump should go to 100 kilograms.

If this is hard to do we can discuss, as it is not difficult to get the values to a round 100 by switching back to the arrow keys.

@zepumph
Copy link
Member

zepumph commented Nov 11, 2019

This sounds reasonable to investigate, but I have a further question first. If you use plain arrow keys to select 150kg, then what would you like to pg up and pg down keys to do? Round to the nearest hundred? or go up by 100?

I think it makes the most sense to me to keep things the way they are. If you disagree, the next step would be to change the pageKeyboardStep option to be a function that can constrain the value as needed for a page step. I would want to talk to @jessegreenberg before implementing.

I think that this would actually be a fair bit of work to implement, but I also think it could be a good step in generalizing a11y interaction steps in the future. Right now everything for a slider is based on the contrainValue option, and that has been tricky to navigate in the past.

The next step for this issue is for @terracoda to describe how important this change is to her, as it may be best to kick these improvements off until we need this again.

@zepumph zepumph assigned terracoda and unassigned zepumph Nov 11, 2019
@terracoda
Copy link
Contributor Author

@zepumph, I agree, we can

kick these improvements off until we need this again.

It's easy to get back to the basic even rounding if that is what the user wants to do by going back to using the arrow keys.

@terracoda
Copy link
Contributor Author

And, in addition hitting the end will also get things back to even rounding, so, yes, let's leave this for now.

@zepumph, do we close this issue, or put it on hold?

@terracoda terracoda assigned zepumph and unassigned terracoda Nov 12, 2019
@zepumph
Copy link
Member

zepumph commented Nov 12, 2019

Close sounds good to me.

@zepumph zepumph closed this as completed Nov 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants