phetsims / ohms-law

"Ohm's Law" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/ohms-law
GNU General Public License v3.0
5 stars 6 forks source link

Describing size of the current arrows #89

Closed jessegreenberg closed 7 years ago

jessegreenberg commented 7 years ago

From https://github.com/phetsims/ohms-law/issues/80, @emily-phet said

Current arrows relative description doesn't seem to update (stays at "tiny arrows represent...").

@jessegreenberg said:

I think that the problem is just that the current arrows grow like 1 / R. The max height of the arrows is 1243 view coordinates. For the vast majority of voltage and resistance values, the arrows are less than 200 view coordinates. The arrows grow 80% in the last 40 ohms.

@emily-phet @terracoda how would you like to handle this? If we describe the size of the arrows relative to their max/min heights, the current behavior is correct.

If we want to indicate I = V / R and describe the arrow sizes relative to their min/max allowable heights, this is the correct behavior, but the current arrows will almost always be "Very tiny".

terracoda commented 7 years ago

I would think that the size of the arrow would align with the size of the letter I. My understanding was that they represent the same thing.

The growing of 80% in the a last 40 ohms is the behaviour that I was describing as "being on a non-linear scale." It kind of jumps in size suddenly there. I assume the size of the letter I also jumps at that point.

Perhaps we need a little more qualification in Resistance slider alert, like "As letter R shrinks, letter I grows [[a lot]]."

terracoda commented 7 years ago

@jessegreenberg, is it possible to determine the size of the letters and the arrows based on their actual values rather than their visual size? Would that be more true to the model. But if the visual size is based on the model than it should be the same thing either way.

jessegreenberg commented 7 years ago

I would think that the size of the arrow would align with the size of the letter I. My understanding was that they represent the same thing.

That is correct, they grow in the same way and they do represent the same thing.

But if the visual size is based on the model than it should be the same thing either way.

Exactly, the visuals are correctly representing behavior of the model. Physically, current behaves like this when voltage is constant and R changes: capture

So this 'jumping' is physically accurate, I is going to change a lot when R is small.

terracoda commented 7 years ago

@jessegreenberg, thanks for the line graph. I think adding "a lot" is likely needed, and we may need "a little" in there, too. This will help get across some different nuanced effects on Current when the Resistance slider is moved. When moving the Voltage slider, changes in Current are more regular.

terracoda commented 7 years ago

@jessegreenberg, I think we will need to determine a threshold for adding in the extra words, and discuss with content experts.

terracoda commented 7 years ago

@jessegreenberg, would something like this work?

Potential algorithm: If the size of letter I changes 2 or more size thresholds at once, add "a lot".

For example, the user is moving the R slider down or up: Down from 40 to 20 ohms: [[20 ohms]]. As letter R [[shrinks]], letter I [[grows a lot]]. Current, now [[225.0]] millamps with resistance at [[20]] ohms.

Up from 10 to 20 ohms: [[20 ohms]]. As letter R [[grows]], letter I [[shrinks a lot]]. Current, now [[225.0]] millamps with resistance at [[20]] ohms.

@emily-phet, and @ariel-phet, could you comment on this content idea?

jessegreenberg commented 7 years ago

A threshold could work well for keyboard interaction. But it would be a little harder for mouse/finger movement. When moving from 40 to 20 with a keyboard, the value jumps from 40 to 20. When moving from 40 to 20 with a mouse, the value changes by ~1 as the value is decreases, so the change in size will more likely be described without "a lot" since there is a smaller change in size. Is this OK?

If not, we could look into other ways of providing the alert.

jessegreenberg commented 7 years ago

Actually, maybe it makes more sense to change when we announce the alerts anyway. Right now, they are announced every time the formula changes, but maybe it would be better to only announce when done "sliding"? Ill create an issue.

jessegreenberg commented 7 years ago

Depending on where we land with https://github.com/phetsims/ohms-law/issues/89#issuecomment-333152647, comment in https://github.com/phetsims/ohms-law/issues/89#issuecomment-333151791 might not be an issue.

ariel-phet commented 7 years ago

@terracoda I think the "a lot" you describe could work well.

Agreed with @jessegreenberg that the alerts probably only make sense at the end of a slide or could get overwhelming

terracoda commented 7 years ago

@jessegreenberg and @ariel-phet thanks for the feedback. Sounds good. I like the idea of the alert sounding at the end of the interaction. I'll comment more in new issue #91 .

And regarding any other change, for example adding "a little". I don't think we need to describe how much R and V are growing and shrinking because their changes are more continuous and linked directly to the user's interaction with each slider, and they get the values as they interact.

terracoda commented 7 years ago

@jessegreenberg, in #90 @arouinfar also agrees that using "a lot" would be beneficial, so let's go with what I described in https://github.com/phetsims/ohms-law/issues/89#issuecomment-333137005

And regarding your comment https://github.com/phetsims/ohms-law/issues/89#issuecomment-333151791 about mouse and finger always changing by ~1, thus not ever meeting the "a lot" threshold, I think that's ok.

I'm not sure how we would address that issue. Would we have to use a "snap to" like interaction for finger and mouse? Is that what you were thinking?

In the case of a keyboard user using the shift modifier, I think in that case, they, too will not meet the "a lot" threshold.

jessegreenberg commented 7 years ago

Would we have to use a "snap to" like interaction for finger and mouse? Is that what you were thinking?

Since we are going to proceed with #91, it is no longer an issue - we can determine the size difference between when the user starts dragging the slider and when they stop dragging the slider.

terracoda commented 7 years ago

@jessegreenberg, ok, sounds good.

jessegreenberg commented 7 years ago

@terracoda can this issue be closed? I think that #90 will handle further review and implementation for new descriptions/alerts, is that correct?

terracoda commented 7 years ago

yes :)