phetsims / friction

"Friction" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/friction
GNU General Public License v3.0
4 stars 6 forks source link

"Super fast, super hot" piles up way too much #253

Closed zepumph closed 2 years ago

zepumph commented 2 years ago

This is mainly for description, because voicing is interrupting much more. That said it can still happen with Voicing.

Some thoughts from a meeting with @Matthew-Moore240 and @terracoda:

I think we should convert tooSoonForNextAlert to use Utterance timing options instead.

This came from testing in https://github.com/phetsims/friction/issues/243, and this needs to be fixed before more testing can occur over there.

zepumph commented 2 years ago
terracoda commented 2 years ago

@zepumph comment

This is mainly for description, because voicing is interrupting much more. That said it can still happen with Voicing.

in https://github.com/phetsims/friction/issues/253#issue-1013555285

That hasn't been my experience. I got the major pileups in Voicing last Friday in our meeting.

terracoda commented 2 years ago

If I rub relatively slowly to super fast, I don't get a pile up, but if I rub quickly to super fast I get a pile up. I can demo in the meeting.

zepumph commented 2 years ago

During voicing meeting today, I realized that we could use the Utterance predicate to determine if the "super hot" still applies before announcing it.

zepumph commented 2 years ago

Ok. I have cleaned this up with a couple of pieces of logic.

  1. "super fast" alerts now occur less often, as I split up the timing variable shared with it and the warming utterance. Now it is only every 3 seconds (instead of 1/2 second).
  2. I added predicates to both utterances that make sure that their logic is correct before we do announce it. This helped greatly with the number of max-temp alerts we get, but https://github.com/phetsims/scenery/issues/1294 will further assist because sometimes we have already announced multiple versions of the utterance.
  3. I added logic that clears the utteranceQueue of all utterances when the thermometer is full, and you end your drag. This will hopefully signal the end of an interaction, and get rid of warming/max-temp alerts.

@terracoda please review.

terracoda commented 2 years ago

I think this works really with mouse input. Over all both both mouse and keyboard it's pretty darn good, but better with mouse input.

The alt input still seems a little off. The two things that seem strange to me are:

  1. I almost always get at least one "super hot, super fast" after I stop moving back and forth.
  2. I almost never hear "jiggling more, warmer" when using the keyboard in Voicing. In fact I am not sure I ever heard it while using the keyboard in Voicing. Is there any way to improve this? Is there anything in #256 or #241 that can be tweaked?

For the record, I do hear warming responses when using the keyboard and VoiceOver (not Voicing), but the thermometer is not always going up when I hear that...it's just that the warming/cooling responses seem to get peppered in a bit more consistently with keyboard interaction and a screen reader.

terracoda commented 2 years ago

@Matthew-Moore240, how do you feel it is working?

Matthew-Moore240 commented 2 years ago

Yeah, the mouse is working nicely. No more pile-ups.

zepumph commented 2 years ago

I almost always get at least one "super hot, super fast" after I stop moving back and forth.

This will almost certainly be fixed by https://github.com/phetsims/scenery/issues/1294. I went over there to implement eagerly because I am so hopeful. Will you please review that?

I almost never hear "jiggling more, warmer" when using the keyboard in Voicing. In fact I am not sure I ever heard it while using the keyboard in Voicing. Is there any way to improve this? Is there anything in Reset warming/cooling indexing when settled #256 or Should warmer and cooler alerts interrupt other alerts? #241 that can be tweaked?

Dang, this certainly is a bummer. I don't think it is because of those issues. Instead, I think it is because of clutter with the movement description. "left" and "right" tend to interrupt the warming alerts, because I guess they happen afterwards. Unlike in voicing, there is no easy way to make the warming alerts persist and not be interrupted. Let's talk about this more tomorrow.

zepumph commented 2 years ago

I almost never hear "jiggling more, warmer" when using the keyboard in Voicing. In fact I am not sure I ever heard it while using the keyboard in Voicing. Is there any way to improve this? Is there anything in Reset warming/cooling indexing when settled #256 or Should warmer and cooler alerts interrupt other alerts? #241 that can be tweaked?

Dang, this certainly is a bummer. I don't think it is because of those issues. Instead, I think it is because of clutter with the movement description. "left" and "right" tend to interrupt the warming alerts, because I guess they happen afterwards. Unlike in voicing, there is no easy way to make the warming alerts persist and not be interrupted. Let's talk about this more tomorrow.

We created https://github.com/phetsims/friction/issues/259 to investigate this. I was doing longer key presses than @terracoda.

I almost always get at least one "super hot, super fast" after I stop moving back and forth.

This will almost certainly be fixed by phetsims/scenery#1294. I went over there to implement eagerly because I am so hopeful. Will you please review that?

zepumph commented 2 years ago

Review on hold until https://github.com/phetsims/friction/issues/258, I'll give a dev version when ready.

zepumph commented 2 years ago

Alright, ready to review, please test with https://phet-dev.colorado.edu/html/friction/1.6.0-dev.18/phet/friction_all_phet.html

terracoda commented 2 years ago

I reviewed Voicing with keyboard and no pile ups of super hot, super fast, and no extra utterance of super hot, super fast.

Unassigning myself. @Matthew-Moore240 you do your testing and comment and close.

Matthew-Moore240 commented 2 years ago

It sounds perfect to me. No pile-ups and no extra super hots or super fast. Closing.