PhET Progress Report

Sam Reid

April 19, 2007


An online version of this report is available here.

Here’s a pie chart representation of the time distribution.



·         Cleanup individual sims

·         Standardize source code & project dependencies



·         Implemented a subsystem for building simulations in Java

o   Handles project dependencies

o   Modularized

o   Run in Debugger

o   In Java, not Ant XML as before

o   Needs to be integrated into total build system

·         Isolated & Generalized Proguard task

o   Current implementation requires 3 build source code files to be GPL (can be rewritten to remove this constraint)

o   Fixed proguard on mac


Build Process

·         Added project-specific build files for all simulations (not flavored)

o   For the first time, PhET can automatically compile, jar and shrink all simulations with the touch of a button.

§  Takes 8 minutes to build each simulation on my machine

o   Collaborate with Chris to verify sims build on mac


Simulation Browser

·         Created a small project “All Sims” that allows easy launch of all simulations

·         To facilitate testing of code and build process

·         Executable jar is available from this directory:

·         All simulations, compiled together and shrinked takes about 2 minutes to build, and is about 15Mb (could be reduced, with work)


Flavor Support

·         Discussions about how to implement different sims from a single codebase (with Chris)

o   Impact on localization and build process


Molecular Reactions

·         Identified and resolved a bug that prevented a molecule from showing in the energy view (with John)


Developer Meeting

·         Discussed (mainly) repository structure and standardization



·         Updated our codebase with Piccolo’s latest bugfixes

·         Contributed our bugfixes & upgrades back to piccolo

·         Emailed Piccolo our “wish list” for improving piccolo



·         Discussed appropriate style for deploying language specific sims (with Chris & John)

·         Emailed Turkish version of balloons to Turkey

·         Posted Gaelic sims (temporary):



·         Collaborate with John to edit simulation database admin page.


About Dialogs

·         Refactored to facilitate usage by order sims

·         Added to Sound and Balloons (since Gaelic versions didn’t have anything to identify us)



·         Standardize common libraries


Distance Ladder

·         Identified dependency code, standardized.


Energy Skate Park

(Just 5 minutes on Energy Skate Park this week.)


Upcoming Work

Still need to do the work discussed at last week’s meeting:

1. Add roller coaster mode back. (or delete option for this)

2. Skater mass control (delete this, since different characters have different mass)?

3. Start on track in the default case.

4. Bug: Bar chart should update during playback

5. Show Thermal Off as default for pie chart.

6.  Performance problems after lots of runs

7. There is a button on the right that says "record path" and it turns on the purple tracers and there is another button below the play area that has the same name, but it really just records.


8. You and I talked about having a way to disable the "auto connect" feature while track building (maybe with the Ctrl key). Is that something that is reasonable? I think I'd use it.


Improve build system (with John)

Automatic building of jnlp files for different flavors of simulation

Pare down final jar files?  Could reduce some simulations by 50+kb