-
Notifications
You must be signed in to change notification settings - Fork 0
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
Hotkeys for moving magnet and pickup coil horizontally. #54
Comments
Now that #25 is implemented, I'm wondering if these hotkeys are necessary. It seems like we could tune |
1/25/2024 design meeting: @arouinfar @kathy-phet @ariel-phet @pixelzoom: The 1/2/3 hotkeys would be relatively expensive to implement, and would not add significantly to what we can accomplish with KeyboardDragListener It would be nice to have a 3rd speed, like what's available for Slider. @pixelzoom will investigate what it would take to add a 3rd speed ( |
For tuning drag speeds, I added query parameter We should wait to tune these values until we determine whether KeyboardDragListener will be getting a 3rd speed, see phetsims/scenery#1601. Until then, this issue is on hold. |
The 1-2-3 auto-slide interaction was designed by an expert in inclusive design (Jon Hung at the IDRC) who thought deeply about making an inclusive and generally useful interaction. That pattern makes it possible for learners who have dexterity issues to easily accomplish comparable experiments with velocity without multiple key presses and without requiring them to hold a key down, and without requiring them to make extra Tab key presses to go lock or unlock the magnet's sliding path. The auto-slide pattern accomplishes 2 important goals identified by the design team:
I do not understand how a lock interaction would contribute to a more efficient keyboard experience. It would be really nice to have a better understanding of why the pattern already designed for the bar magnet in Faraday's Law is not something that can be copied or re-used in this sim. I am not sure the design team fully understands the benefits of this interaction pattern. |
And the 1-2-3 keys are likely only appropriate for draggable objects that need to explore differences in velocity. |
In FEL, that would be the bar magnet, electromagnet, and pickup coil. One clarification: In FEL (and Faraday's Law?), we are exploring changes in speed (a scalar), not velocity (a vector). Perpendicular to the pickup coil, moving the magnet (or pickup coil) at larger speed results in larger induced EMF. (I'm not mentioning the difference between velocity and speed to be pedantic, but because it was recently a problem with the options for KeyboardDragListener, see phetsims/scenery#1603, and has caused confusion in past design discussions.) |
I've been the scribe for design meeting about this issue, and admittedly have not recorded very detail. So to fill in some info from various discussions that has not been captured in this issue, so that we're all on the same page... @arouinfar said:
1-2-3 is implemented in faradays-law's MagnetAutoSlideKeyboardListener. It uses stepTimer, which is not general enough to meet the needs of all sims. When generalized, 1-2-3 should use Animation, which provides a choice of how the animation can be stepped (see option @arouinfar said:
A few more differences, previously discussed in FEL design team meetings, or in meetings that @arouinfar and I have had: (1) Faraday's Law has 1 screen, with fixed pickup coil(s) and a movable magnet. FEL has 5 screens, and only involves a movable magnet and coil on 2 screens (Pickup Coil, Transformer). The other 3 screens have no pedagogical need to animate the magnet/coil. (2) Related to (1), various screens from FEL are broken out into their own sims. For example, the Magnet and Compass sim is just the Bar Magnet screen from FEL. That sim therefore has no pickup coil, and no way to induce current, so no need to animate the magnet. It seems odd to have 1-2-3 hotkeys in a sim where they serve no pedagocial need. (3) We could omit 1-2-3 in FEL screens where animation is not relevant. It would certainly complicate the implementation. It would result in an inconsistent UX for the bar magnet, electromagnet, and pickup coil. And it could make the 1-2-3 keys more difficult to discover -- if a user's first experience with (for example) a bar magnet is in the Bar Magnet screen where there are no 1-2-3 hotkeys, they may not think to look at keyboard help for other screens to discover which screens support 1-2-3. (4) The compromise that we're making in omitting 1-2-3 is that the user will need to use a modifier key (Shift) to slow the drag speed. Not deal for users who have dexterity issues. But that compromise is already being made for other PhET components (Sliders, KeyboardDragListener, ... ) and is the current PhET standard/convention. @terracoda said in #54 (comment):
Good to know. Where can we learn about the design and design history? Is it documented somewhere? It is certainly under-documented in the faradays-law repo. MagnetAutoSlideKeyboardListener.js has sparse comments and offers no insights. The sim's implementation-notes.md has this sole mention of accessibility considerations: "This simulation is instrumented for PhET-iO and accessibility, and is involved in experimental sonification work (in a branch)." @terracoda said :
We're happy to discuss further, in case we're missing something. But here's what we've done so far: The FEL team played with the 1-2-3 feature in Faraday's Law, and discussed it in FEL design meetings. Some of the FEL team were also involved in the development of Faraday's Law, and were aware of 1-2-3. Speaking for myself, I feel like I have a solid understanding of both the 1-2-3 pattern and its implementation. I've spent a lot of time playing with Faraday's Law, and I evaluated the 1-2-3 code (which was broken when I first encountered it, see phetsims/faradays-law#226) So to summarize what the FEL team has decided so far ... Based on our understanding of the 1-2-3 pattern, our understanding of the requirements for FEL, and our understanding of how FEL differs from Faraday's Law, the FEL design team decided not to include the 1-2-3 pattern in FEL - see #54 (comment)). As we understand it, the advantages of that decision are: The disadvantages of that decision are: Hopefully that catches everyone up on where this issue currently stands. Happy to continue the discussion. Labeling to revisit at our next FEL design meeting. |
Thanks for the summary, @pixelzoom. It's indeed very helpful. I personally see slider interactions as quite different from freely draggable objects. Slider interactions are native HTML elements, input type range, and freely draggable objects are not and require ARIA web-application role, and other ARIA attributes and keyboard handling. I find it difficult to compare them. I do agree with the following statement:
I was under the impression that moving the magnet at different speeds (consistent different speeds) was pedagogically important. Looking forward to design meeting. |
It's pedagogically important in 2 of 5 screens. And it's not just the magnet -- it's the bar magnet, the electromagnet, and the pickup coil. |
I've reviewed this issue, and discussed with @terracoda, @arouinfar, and @pixelzoom. With full acknowledgement of the additional access the "1,2,3" pattern can provide for individuals who have trouble holding down a key press, given all the complex considerations for the specific design of this sim and the development costs mentioned above, we will use the arrow interactions to meet the learning goals for this sim. Thanks all. Closing. |
Reopening because there is a TODO marked for this issue. |
My guess is that the remaining TODO referenced above is being tracked in #79, but assigning to @pixelzoom to review. |
Originally discussed in #25 ...
From #25 (comment)
From #25 (comment):
The text was updated successfully, but these errors were encountered: