This page last changed on Nov 21, 2005 by schank.

Notes from Ed's November 14-15, 2005 Visit

Agenda items

  • Udates to ACE and Concord Classes
  • Local launching - how to make it easier?
  • Fish World demo and designs
  • Mtn Rescue demo and feedback
  • Getting flash animations to work
  • Scaling issue - scaling to real world
  • Force issue – getting force vectors to move with objects
  • Requirements for other physics assessment shells (2 and 3)
  • Logging – getting it to work

Updates to ACE and Concord classes

The latest version of the Pedagogica code that supports ACE now allows for saving to and loading from a directory.

Currently on save, it deletes all subdirectories--Ed will change this so that our CVS directories aren't deleted.

Ed will also change it so it doesn't save as .jar.dir--just the name of the activity (two dots can be problematic in file names)

Ed is also adding methods to the assessment classes to get the original Swing classes so you can get and set component colors, etc.

Local Launching

We created JNLP scripts, but would be nice to have a automatic solution for local deployment. Ed will modify ACE to add an option to create JNLP and command/line scripts so we can run locally (e.g., for demos). Have to make sure needed jars are in right path.

Fish World demo and designs

Carlos and Edys joined us and Ed described fish world progress.

The module is called Population Genetics. Uses data from organisims generated in biologica, so each organism has a species and software genetics of the organisms, and rules for expressing phenotype given genotype. The population itself originally only was able to run 1 species at a time, so what we're doing for Calipers is adding the ability to run multiple species. We're also adding new graphics, that change based on direction organism is moving, for example. Ed can show us the state of the Population Genetics module to help us understand contraints on the storyboard design.

Ed shows demo of the Population Genetics engine. Has an interface with a grid, menus for Species and Traits, and Add Organisms, Edit Rules, and Edit Graph buttons. Will have an interface to allow authors to change rules.

First, you can create organisms, selecting and deselecting characteristics of alleles to effect probability spread of certain phenotypes. He adds 100 Budgie parakeets (tiny parakeets). Their phenotypes are green, blue, yellow, white. Using the paint brush, he changes the terrain to make some sections water, some dessert.

Next, he shows how to make rules about how things behave in different places. He creates an intraspecies rule for green budgies, making it so they can move a bit faster in grassland. ("If a budgie with green Color is on grasslands then set Speed to 15.0")

Every area has an idea of a resource, such as food that is consumed and replenished at some rate (visualized by the color fading) as he runs the simulation. A graph is generated showing how many budgies are in the population. There are mostly green ones (the yellow and blue ones mating).

You can edit the rules to change the Food Consumption Rate for a particular species in a particular terrain. Can edit Health, Speed, Food Consumption Rate, Age of Maturity. There is no way right now to edit replenishment rate of the terrain.

What is also being added now is support for interspecies rules.

Carlos asks about representing plants; Ed imagines we could do that just by reducing the speed to zero. They wouldn't be able to breed though because the assumption about breeding is based on breeding and movement. (We'd have to add bees!) We're doing this in a lake, so the growth could happen in environment perhaps (e.g., in shallows v.s. depths).

Would like to eventually see developers be able to create generic authorable activities.

Carlos says we envision kids being able to see a coral reef and see interactions between species (e.g., fish eating each other) and be able to create a food web (what creatures eat which creatures) and then run the simulation. We'd probably create a different interface (in place of rules--something more simple/customized).

The storyline is that we drop a ROV into a lake and see a video shot of the lake. Kids see fish interact. Now based on what you've seen, try to link things together in a food web. They make hypotheses and test them out until they see something that looks like what they saw. Would like it to be interactive so they click on a species and see something about the species like it's name, speed, etc.

Edys says they want the intro animation to be very realistic, illustrate what is going on in the system at a more macro level and provide context. The model manipulation can be gridded. Also, food webs are a big deal in current assessments. In typical standardized tests there are specific interfaces with lines and nodes; our interface should mimic these representations.

In any case, the more we can push into the simulation (not do in Flash) the more effective use of our time and resources. We don't have a budget for 3D; the appearance of the sprites in the Population Genetics model can be improved, as can the appearance; use graphics for the background instead of colors, etc.

Carlos says that an issue is that it's important to confer to kids that they're observing behavior, so they can see interactions and it's clear that behavior is changing. What we saw was a lot of fast chaotic movement. But we can change the spacial scale and speed; i.e., can have different grid sizes and parameters. A good feature to add to the simulation would be to for the user to be able to manipulate the scale. Right now the icons are associated with species. For dragons, the pictures presented were a composite of various images depending on the phenotype. What we haven't done well is expand it and give that capability to people creating new species. We've just created static views of each organism. We'd like to add that and will do what we can for the Calipers work, within our budgets. We'd need rules based on phenotype and action, e.g., different orientation when swimming (that's there now, Ed says) or hiding or hunting.

Edys says they want 4 different kinds of fish (4 species) and the combinations are only within species. The behavior within species can get complicated but ours aren't. We're looking at 4 fish, a snail, 2 types of plants. Do we want the plants to be a resource in the terrain or a species?

Carlos imagines popping out to view nice animation, but we need a tool to generate any animations, and what we have is Population Genetics. What level of realism do you want? Does there have to be an illusion of depth? We have a narrative built around a roving video camera; we just see a small sample of the grid.

Ed says but if we have such a small sample the statistics won't be much use. Do we not care about the stochastics of the system? The way populations behave, who dies out and who survives is very dependent on these scales. The simulation won't run very long in you're using very small scales. You're talking about a real time simulation where 1 second is 1 second?

Carlos says later they'll be carrying out investigations. Maybe to do the food web part, we'll have to pan in, and when we do the investigations part we pan out so things become more symbolic.

Ed says we don't have a credible view at the microview now; that's what we'd have to work. We'll have to be exact about the initial state and not introduce any true randomness.

There can't be any variation between what students see. What we want then is a sequence of movies. We can create a simulation and capture it to a canned movie.

Ed asks if we'd want the ability to look at the micro view of a macro evolution? Maybe.

Carlos asks if the parameters of the graph can be changed too, e.g., to be over a fixed time. Yes, Ed says. Edys says that one problem we had with NetLogo doing preditor-prey was to be able to stop it at year 5 or year 10, for example--and that simulation just runs like crazy. We need to be able to set triggers or specify a time limit.

Edys and Carlos have the first pass of storyboards for fish world done and handed them out for us to look at and think about any impact on what we work on. The micro vs. macro level aspect may have impact.

Mtn Rescue demo and feedback

We did a demo of the Mtn Rescue activity and gathered feedback on the current state. The following comments were gathered; we'll work on many of these (in addition to items on the agenda) during Ed's visit.


To do:

  • make font size and style the same across all pages. Consider non-bold font for text, larger than font used in John's and possibly smaller than font used in Zaz's
  • Calipers team (Edys, etc.) need to specify exactly what they want logged (define "semantically meaningful" or what they want logged)
  • add animations
  • limit number of times kids can run simulations/animations?

Time (Zaz)

To do:

  • be able to tab between fields (we tried; hard to do)
  • consider editing graphic to show the crashed skier with crossed skies
  • on animation timer, show both minutes and fraction of hour, e.g., 0.8 hr (xx min)


  • (Zaz) Text on animation team should say "for Team X" (instead of "each team"
  • (Zaz) remove letters (abcd) in front of multiple choice options
  • (Patti) got flash (required Flash 5) animations working and added

Lake (John)

To do:

  • show number line instead of grid (Ed will help), and labels?
  • sled bounces off – would be better to show it stop and have crumpled front
  • add text to say the student got the arrow right or wrong before sending explanation to Wolf
  • add animation at the end of lake, showing Wolf slowing down and stopping at lake and then starting back up
  • make text boxes white


  • (John, Ed) fix it so arrow isn't left behind (get rid of booster after 1 sec?)
  • (John, Ed) text says 40 km/hr, graphic arrow says 5 m/sec. Need to have units match (Ed will help us get units in simulation right)
  • (Patti) Submit and Next button should be merged (just go to next on Submit) if there are no other buttons on page
  • (Patti) put text back in on run simuation page

Pasture (Zaz)

To do:

  • not completed; need to add pages on collecting information from graph, animation, etc.

Hill/Slope (John)

To do:

  • Need fixed screenshot of Hill/Slope that shows steeper hill, more cliff
  • storyboard changed; John needs to reimplement per new design

Flash animations

Problem: Flash Java classes don't seem to handle latest version of Flash 8(SWF) files. We could saving animations Quicktime instead and play quicktime rather than flash animations, or see if we can export to earlier versions of flash.

Ed sent sample code to play flash animations, and Patti discovered how to save in older versions of flash. Flash 6 and 7 still don't work; exported Flash 5 movies seem to work. Also had to add stop() command to first frame of flash animation to stop it from playing on load (before executing the start() command). It's working now!

Also added reset buttons so the user could replay the move, and had to remember to remove reset listeners on exit.

Scaling issue – scaling to real world

Problem: (John) You can only draw a force of around a maximum of 20 newtons by default, and we needed to draw a force of 220 newtons. Also need a lake that was 40 meters across.

Ed and John attempted to find a a solution that would allow John to scale the size of the simulation world and to scale the size of a force dragged.

What we did is call setTranformParam() on the GUI panel, and that scales everything to that parameter. But, if John wants to make the scale of the simulation 1000 times bigger and a force 100 time bigger, you can't do that. For the time being it seems we can only set 1 scaling factor and it applies to both.

(Note: Remember to make the y factor of the scaling negative (it is negative by default, going up, in pixel space))

Force issue – Getting force vectors to move with objects

Problem: (John) We need to create the illusion of a force vector that moves with the sled. Impulse daemon force vectors are what we see used all the time and what we used, but these are exist independently in the world and don't move with a moving object. They just exert a force when an object intersects with it. We need a force that can "attach" to an object and move with it.

There doesn't seem to be a way to have a draggable force widget associated with an atom yet (note, though, that we do have an such an element for velocity). Here's what John and Ed decided to do: put an impulse daemon on top of an object, and use it to draw a force. When the users presses Start, construct a new force based on the values of the force created with the impulse daemon, apply that force to the atom, and remove the impulse daemon.

We had a design discussion about what would be nice to have: functionality for dragging forces that works like the present fucntionality for dragging velocities. Would introduce a UI problem of how to distinguish between the two, if both are draggable.

Requirements for other physics assessment shells (2 and 3)

Need images for pole, cliff--Carlos will send sketches this week that we can forward to Lynne. (This was done Nov 16.)

We need to talk about how to do pole and cliff simuations, but we may not have time during Ed's visit today because Logging is more important (in that it's something we know nothing about and need to learn in order to complete the first assessment).

Ed will look into what we have to do rotational velocity; we may have to do a custom solution.


Logging will log to a text or database file (HSQL) locally, and when done upload to a server. All the items that have hooks in them for logging get saved in this manner.

To trigger logging, use CC assessment widgets, and have to turn on logging, and tell system to auto log widget X. Ed wanted to work out an example or two for us and send them to us rather than go through it during the workshop, so that he could have a better example for us.

Document generated by Confluence on Jan 27, 2014 16:57