Skip to content
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

future PhET-iO requirements #4

Closed
pixelzoom opened this issue Nov 9, 2020 · 13 comments
Closed

future PhET-iO requirements #4

pixelzoom opened this issue Nov 9, 2020 · 13 comments
Assignees

Comments

@pixelzoom
Copy link
Contributor

pixelzoom commented Nov 9, 2020

Fourier 1.0 will not include a PhET-iO version. But how 1.0 is implemented will affect what's possible for future PhET-iO instrumentation. The more we know about future needs, the fewer sim changes will be necessary, and the easier it will be to instrument. This issue will track options and decisions.

For any new sim, it's difficult to make 1.0 implementation decisions without addressing these high-level questions:

(1) What are the sim-specific PhET-iO features that will be desired?
(2) How should the Studio tree be structured?
(3) What elements should be static vs dynamic?

It's also difficult to verify that the 1.0 implementation will satisfy future needs without doing some level of instrumentation to test and verify. So an additional question is:

(4) How much PhET-iO instrumentation can (should!) be done as part of 1.0?

Labeling for discussion at design meeting. Priority is high, since this affects implementation decisions that are being made now.

@ariel-phet
Copy link

We will plan to have an initial discussion this week

@pixelzoom
Copy link
Contributor Author

11/12/2020 design meeting with @arouinfar @kathy-phet @samreid @pixelzoom

(1) What are the sim-specific PhET-iO features that will be desired?

@arouinfar and @kathy-phet will brainstorm sim-specific PhET-iO features, so assigning them this issue. It would probably be good to put those requirements in a PhET-iO Design Google Doc, as we did for Natural Selection and pH Scale.

(2) How should the Studio tree be structured?

We discussed the model structure in #6, and decided to go with the "static elements" approach. If @arouinfar and @kathy-phet think of any other sim-specific requirements for Studio tree structure, please not them as part of the brainstorming task.

(3) How much PhET-iO instrumentation should be done as part of 1.0?
I should instrument as much as I feel is necessary.

Assigning to @arouinfar and @kathy-phet to brainstorm sim-specific requirements.

@pixelzoom pixelzoom removed their assignment Nov 12, 2020
@pixelzoom
Copy link
Contributor Author

pixelzoom commented Nov 19, 2020

I said:

It would probably be good to put those requirements in a PhET-iO Design Google Doc, as we did for Natural Selection and pH Scale.

@arouinfar and @kathy-phet met and added notes to the main design doc, see "November 13, 2020" notes. I will review and discuss with @arouinfar.

I think that it would be good to move those notes to a new "Fourier PhET-iO Design" document, since that's what we've been doing for other sims. And we decided to do that for other sims so that the main design doc doesn't get bloated.

@pixelzoom pixelzoom self-assigned this Nov 19, 2020
@pixelzoom
Copy link
Contributor Author

pixelzoom commented Dec 1, 2020

@arouinfar When are you available to discuss the "November 13, 2020" notes in the design doc? And should we move those notes to a new "Fourier PhET-iO Design" document?

@pixelzoom pixelzoom removed their assignment Dec 1, 2020
@pixelzoom
Copy link
Contributor Author

We discussed "November 13, 2020" notes during 12/3/2020 design meeting. See meeting notes in the design doc for details.

@pixelzoom
Copy link
Contributor Author

pixelzoom commented Dec 7, 2020

@arouinfar I feel like I have enough information to inform 1.0 (brand=phet) implementation. Is there any additional "up front" design that you and @kathy-phet are planning to do? Or can this issue be unassigned and deferred for a future (PhET-iO) release?

@pixelzoom
Copy link
Contributor Author

pixelzoom commented Dec 7, 2020

One thing that could be done proactively is what I suggested in #4 (comment):

I think that it would be good to move those notes to a new "Fourier PhET-iO Design" document, since that's what we've been doing for other sims. And we decided to do that for other sims so that the main design doc doesn't get bloated.

Or you could wait until later to start the "Fourier PhET-iO Design" document -- up to you.

@arouinfar
Copy link
Contributor

@pixelzoom in terms of the Discrete screen, I don't think there is anything else left to discuss for 1.0. We should identify PhET-iO requirements as we move forward with the Game and Continuous screens, though. I'll leave this self-assigned until those discussions happen.

I created Fourier: Making Waves - PhET-iO in the sim design folder. It is only accessible by the design and PhET-iO teams. The contents are pretty sparse, but moving forward we can use it to keep track of PhET-iO design.

@arouinfar
Copy link
Contributor

Since the Wave Game is coming along, I revisited the PhET-iO design to see if there is anything sim-specific to be mindful of. Aside from hiding/disabling UI components, I don't see any requirements that are specific to this sim.

As far as I know, there isn't any general PhET-iO infrastructure in vegas, as we've never instrumented a game (build-an-atom excludes the game). Thinking generally about any game, a client might want to:

  • Hide specific levels
  • Change the condition for triggering the RewardNode (e.g. lower the threshold to 5 stars)
  • Specify their own challenge, or at least have some way of ensuring all students get the same sequence of challenges

These are all big-picture issues for vegas/PhET-iO and I don't think it's something that can or should be considered in the scope of FMW.

@pixelzoom
Copy link
Contributor Author

@arouinfar Actually, all of those bullets that you listed would need to be considered in the scope of the sim. vegas is only a collection of UI components that can be used to assemble a game. It currently provides no "framework" for games. Any similarity in behavior/flow between PhET sims is not provided by vegas, it's due to sims implementing similar behavior/flow.

@arouinfar
Copy link
Contributor

Good to know @pixelzoom. Do you think it would be helpful to discuss more at a design meeting? We're not including the phet-io-brand in the 1.0 release, but I don't know if there is anything that should be considered now.

@pixelzoom
Copy link
Contributor Author

pixelzoom commented May 21, 2021

Imo, instrumenting a game is long overdue. But it's not my call when this should be discussed or investigated.

On 5/18/2017 (4 years ago), @samreid wrote in https://github.com/phetsims/phet-io/issues/1137#issuecomment-302597073

@kathy-phet said it will be important to instrument a game in the near future.

And it looks like an attempt to instrument the game screen in Build an Atom didn't go smoothly. In phetsims/build-an-atom#156 (comment), @zepumph wrote:

The game screen does not (still) support state, and is not set up to be maintained for phet-io yet. As @samreid and I work on updating phet-io tests, we decided to remove that screen from the PhET-iO sim above.

It's highly likely that instrumenting a game will result in the discovery of new issues and requirements, which may result in PhET-iO changes.

@pixelzoom
Copy link
Contributor Author

Everything in this issue is either captured in #123, or has been broken out into a separate GitHub issue. So I'll close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants