PhET Energy Skatepark Free Form Track Construction
Keyboard Track Construction: Point by point
This interaction is similar to connect-the-dots, with a curve connecting the dots. Similar to the bezier curve tool in Adobe Illustrator.
- Place your first point.
- Place your second point.
- This results in a straight line joining points 1 and 2.
- Place a 3rd point - this creates a curve joining the 3 points.
- Place a 4th point, this creates a curve joining the 4 points.
- etc.
Brainstorming keyboard interaction with text descriptions:
- User places track points one by one.
- Grid system is used for moving point around
- Position of points described by its relative position to the middle of the play area point.
Action | Visual Result | Feedback (Textual and auditory) | |
---|---|---|---|
Tab to track tool | Track builder tool highlighted | "Track construction tool" | |
Enter |
|
| |
Enter |
|
| |
Left arrow |
|
| |
Left-arrow,Left-arrow, Up-arrow, Up-arrow |
|
| |
Enter |
|
| |
Right, right, up, up, Enter |
| TODO | The above track isn't right. The shape of the previous track sections shouldn't change after the user has moved on to other parts of the track. |
Reshaping a Track During Construction
Action | Visual Result | Textual / Auditory Feedback | Mockup |
---|---|---|---|
User starts the track construction tool | |||
User presses Enter to place a track point. | |||
User presses up. | |||
User presses up then left twice. | |||
User presses enter. | |||
User presses down | |||
User presses down | |||
User presses right | |||
User presses up | |||
User presses Enter |
Design Issues / Questions
How do you allow construction of different track shapes?
- Example: the following diagram shows the possible basic track shapes connecting 3 points. How do we allow the user to choose the shape they want?
- One possible idea is to give user the option to choose a basic shape during construction (i.e. after they place the 2nd point, they can then choose the shape from a menu)
- Another idea is to allow them to choose track sections later and change the shape either by choosing from options, or manually changing it shape using controls (i.e. by dragging / cursor keys to reshape)
Sonifying the track:
- Position left / right
- Height
- Magnitude (steep, gentle, etc.)
- Track points (the red nodes)
- Start, end of track
- If the skater is moving across the track, will it just sound like the track sonification but with an extra layer of skater movement?
How do you sonify the gaps in the track?
Using Web-Native Controls Brainstorming
Question: Is it possible to create a "drag and drop" equivalent using native web controls?
Scheme 1: Separate X and Y sliders
- X and Y position is controlled by separate sliders.
- For example, the X-Axis slider may be from 0 to 100. 0 = left edge, 50 = middle, 100 = right edge.
- As the user moves across the slider, descriptions and updates can be read back so they get a sense of what is in the immediate area as well as the overall scene.
Initial Conclusion:
- It is unlikely a pure native HTML control will give the flexibility and ease of use desired for the sim.