phetsims / graphing-quadratics

"Graphing Quadratics" is an educational simulation in HTML5, by PhET Interactive Simulations.
MIT License
1 stars 4 forks source link

apply phetioFeatured #112

Closed samreid closed 5 years ago

samreid commented 5 years ago

In https://github.com/phetsims/graphing-quadratics/issues/14#issuecomment-424045119 we identified the PhET-iO features we wanted to support for this sim. In https://github.com/phetsims/phet-io-wrappers/issues/143 we introduced a new PhetioObject option to indicate featured instances. We should identify them as such:

This is not essential for 1.0. Testing this requires the studioc branch of phet-io-wrappers. Tagging @pixelzoom so he is aware I'm looking into this.

zepumph commented 5 years ago

@amanda-phet the updates to common code from today's design meeting have been implemented over in https://github.com/phetsims/phet-io/issues/1466, please take it for a test drive and let me know how it goes!

amanda-phet commented 5 years ago

All done! I didn't need to include any more overrides. The studio featured set now matches the spec that @kathy-phet and I provided. What is the next step for this issue?

pixelzoom commented 5 years ago

What is the next step for this issue?

Seems like we should ask @kathy-phet whether she wants to review.

zepumph commented 5 years ago

Yes that sounds good. I'll mark for phet-io meeting to make sure this doesn't fall off our list. Removing assignment.

arnabp commented 5 years ago

@kathy-phet will be taking a look at this tomorrow (6/21)

samreid commented 5 years ago

@kathy-phet provided notes on this via slack.

pixelzoom commented 5 years ago

@samreid Can you please add @kathy-phet's slack notes here, for posterity?

samreid commented 5 years ago

@kathy-phet said:

Hi All, I discussed the changes in the PhET-iO Feature defaults that happened last week around GQ in the GQIO work. At the last meeting I attended around the common code feature discussion, I recall discussing featuring visible and enabled for as many controls as possible as a rule - for consistency of what is available and flexibility for the instructional designer. And only un-featuring in very special cases. The current approach of just highlighting one for each control doesn't reach one of the goals for the PhET-iO feature set - specifically the use case for Smart Sparrows integration into their platform that I think is a powerful use case.

Apologies for having to reopen this discussion. Can we meet on Wednesday [..] to revisit these changes?

samreid commented 5 years ago

@chrisklus recalls a meeting (where @kathy-phet was not present) where @amanda-phet advocated for keeping "featured" as sparse as possible, and we wanted to make a distinction between (a) controls that are solely used for action and (b) controls that also serve as readouts. For controls that serve as readouts, such as sliders, spinners, radio buttons, they would default to featuring "enabledProperty". For controls that serve only as inputs, such as buttons, they would default to featuring "visibleProperty". We cannot find a paper trail on this, but that is our recollection.

kathy-phet commented 5 years ago

Yes, this is what was discussed when I was out of town. There are competing goals here - and Amanda and I discussed these tensions. This is why we are planning on having a meeting on Wednesday - to discuss with the PhET-iO team. My preference is to trust the clients to be smart about their configurations (or at least take responsibility for their own choices), rather than trying to limit them, - which prioritizes consistency and flexibility of these featured items.

pixelzoom commented 5 years ago

Just to add to the collective recollection...

We concluded (on 1/6, I believe) that featuring visibleProperty and not featuring enabledProperty in general was a better strategy because:

(1) visibleProperty is typically more useful than enabledProperty when considering UI components in general.

(2) It reduces noise in the "Featured" view of tree, which makes that view easier to navigate.

(3) We wouldn't be limiting the client's choices or capabilities by doing this, because enabledProperty is still available in the "All" tree view. So this isn't about trusting clients or limiting what they can do, it's about how to prune a huge navigation space.

I still feel prefer this conclusion, but feel free to discuss/change without me.

pixelzoom commented 5 years ago

Another reason for not featuring enabledProperty right now is the fact that PhET does not have a consistent API for enabledProperty. Every UI component (including buttons) is a little different, and we've identified that this needs to be revised and unified. See for example https://github.com/phetsims/sun/issues/257#issuecomment-502900733 and https://github.com/phetsims/sun/issues/515. So consistently featuring enabledProperty is currently tricky, it's in code that will be revised, and it should be easier to feature after revising.

samreid commented 5 years ago

This is why we are planning on having a meeting on Wednesday - to discuss with the PhET-iO team.

Has this meeting been scheduled yet? I'm not seeing it on the calendar.

zepumph commented 5 years ago

Has this meeting been scheduled yet? I'm not seeing it on the calendar.

We had the meeting this morning. During the meeting we decided that all ui components would have phetioFeatured enabled and visibleProperties until we got feedback from clients informing us that things should be done otherwise. In https://github.com/phetsims/phet-io/issues/1517 I implemented that. @kathy-phet and @amanda-phet it is now over to use to make the necessary overrides updates to GQ.

zepumph commented 5 years ago

@kathy-phet, @chrisklus, and I discussed the next steps here since https://github.com/phetsims/phet-io/issues/1517 was implemented. We were able to build a version before those commits, and then compare it to master with the diff wrapper. Here was the output: GQ diff.pdf

From here @kathy-phet will review the changes, and then work in studio to update anything that is needed. She will then reach out to @amanda-phet, @zepumph, or @chrisklus for help as needed in committing the changes.

zepumph commented 5 years ago

@kathy-phet made changes to the overrides in response to the common code updates. Committed above. I think that this is the final phetioFeatured update. I'm not sure what is left for this issue. Perhaps it is ready for a close. @pixelzoom want to give things a once over?

kathy-phet commented 5 years ago

@zepumph - with those commited is phettest now up to date so I could look at studio once more and review all?

zepumph commented 5 years ago

I'm not sure if it was, but I just pulled phettest and the answer is NOW yes.

pixelzoom commented 5 years ago

I've been out of the loop for design decisions, so I will assume that others have verified that metadata matches what is desired for GQ. I ran graphing-quadratics in phetmarks with Mode=studio, and I don't see any obvious problems.

In https://github.com/phetsims/graphing-quadratics/issues/112#issuecomment-510999996, it sounds like @kathy-phet would like to review one more time. So I will assign to @kathy-phet and @zepumph to move this issue to closure.

zepumph commented 5 years ago

Thanks for the once over. @kathy-phet and I have reviewed this in the past week. Closing.