phetsims / phet-info

Collection of information shared by PhET team members for the purpose of using github effectively and for other process-related topics.
MIT License
63 stars 27 forks source link

Create a minimal but complete sim to exercise design and implementation paradigm #204

Open samreid opened 1 year ago

samreid commented 1 year ago

We recently had a PhET Design meeting where we discussed all known aspects of PhET simulation design, including:

I do not know if PhET has any one simulation that implements all of these aspects. But it could be a good exercise to build a new minimal product that exemplifies these. One question at this week's meeting is "how does our design process look" and "how do we want it to look?" so this could be a way to answer those questions by exercising them.

In today's zoom chat, I said:

Would it be a productive exercise to design and implement a “mini sim” which is a very trivial sim, but includes all aspects of design: sound, sonification, interactive description, keyboard, visual, mouse, touch, PhET-iO etc.

@terracoda replied:

@samreid, I really like your idea!

This also overlaps with recent discussions in the POSE team, where we are thinking of building an exemplar "game" or scenery lab to demonstrate+build scenery features.

Tagging @amanda-phet since she led this week's design meeting. Also tagging @jessegreenberg @zepumph @kathy-phet @emily-phet @BLFiedler since I thought they may be interested.

zepumph commented 1 year ago

I wonder if there is management needs for some sort of simpler sim already, and we could use an actual PhET sim as this exercise?

emily-phet commented 1 year ago

Just a few thoughts that came to mind:

The primary goal of creating Ratio and Proportion was to build a simple sim with all of the Incluse Features, from start to finish. We learned a lot from that experience and took that into building Quadrilateral, where we intended to apply what we learned from Ratio and Proportion to another sim. Many aspects of Quad's design went more smoothly, and issues and entanglements were at least anticipated and unsurprising. Quadrilateral threw it's own curveballs, becoming more complex to create due to the interconnectedness of its interactive parts (changing any single part of the Quad changes multiple other parts simultaneously), and through our decisions to shift the focus of the scaffolding halfway through the design (the right decision, but this added some complications).

As mentioned in Tuesday's meeting, the Quad / RaP team would be happy to share our experiences, either through general discussion, or through a public postmortem (or any other way that seems helpful). We've been primarily focused on learning how to build inclusive sims from scratch (rather than retrofitting pre-existing sims) since April 2020, so I believe there's a lot of collective knowledge to be shared.

zepumph commented 1 year ago

I wonder if part of what we should get out of the above is both the value in an exercise like this and also a recognition in the time required if we do a whole sim, even a "simple one". Maybe instead we should do a screen on a demo, that just has one or two components. That also may be too decontextualized to apply the right design perspectives to.

No matter, this is likely one of the best ways to bring the whole team up to speed, in a "toe dipping" fashion, on all PhET sim features.

emily-phet commented 1 year ago

@zepumph I think a screen with a test scenario that includes maybe 3-5 of our most common sim components would be perfect! I propose a slider, a four-way draggable object, a Reset All button, radio buttons group, and a checkbox. A context that just came to mind: maybe there are four non-interactive "targets" and a moveable object -a character that changes based on locale?) can touch a target and change the color of the background. The slider could change some quantitative (more simple) or qualitative (more difficult) about the character or the targets or the colors.

If there is no true learning context for these, it would be an exercise to support understanding primarily on the development side, with likely some more modest gain for the design side. If there were a simple learning context involved, it could provide more support for learning on the design side...either way would likely be very helpful!

We could even go wild and add Camera Input: Hands, and use this in the future to help design gesture interactions for simple controls...and allow the team to play with the feature in a test context.

If this "test" sim were kept up to date, it could also be helpful as something that get's tested by QA regularly to help us catch breaking issues in inclusive features when browsers update. Right now we tend to catch them as we go through QA trying to publish a sim, which contributes to the lengthier timelines for QA for sims with many inclusive features.

samreid commented 1 year ago

Here are a few simple sims that we have not yet redesigned for HTML5 that have the following characteristics:

https://phet.colorado.edu/en/simulations/motion-2d (note there is also https://phet.colorado.edu/en/simulations/ladybug-motion-2d with more features, so a long-term design would probably accommodate both) https://phet.colorado.edu/en/simulations/radiating-charge

I'm listing these options since they have a grounded learning context. It seems advantageous to cover design if we proceed with this exercise, and we could likely publish them on our website when complete (and delete the CheerpJ one). I bet we could also think of other learning contexts that are a good match as well.