Friday, September 17, 2010

Work Progress - Sept 15 - Sept 21

Web demo: here

Done:
  • Restrict the number of decimal places shown in property window. As long as the number has not more than 2 decimal places, only 2 decimal places are shown.
  • Resolve object selection when multiple objects lie on the same place. Now if multiple objects lie on the same position, any one of them has equal chance to be selected once we click on that point.
  • Highlighting selected object available to apps using Graphics2D engine as well.
  • The vertical order of the coordinate is now X first, then Y below.
  • [Now the bounding box/highlight is gone when simulation goes on.] When the user starts, we don’t want a bounding box around the skateborder. But we probably want the skateborder’s script to show up as the default. So maybe he can just change color the way the lines do, rather than placing the bounding box around him.
  • Get rid of “current x,y” and have only “initial x,y”.
  • [Solved by resetting whenever we are updating any property of the object.] When you change a line position parameter, it’s hard to know what effect you had on the line, there is no immediate feedback to the user. It would be nice if you could see the line change BEFORE you press “begin.
  • [I highlight which endpoint is which when the line segment is selected.] I found myself was struggling to figure out which end of the line was x1,y1 and which end was x2,y2. Not sure what is best to solve that problem. We could make a more pictorial version of the properties panel but that would burn up a lot of coding time. On the other hand it is important to keep in mind that the success of this hinges on reducing the amount of frustration experienced by the kids.

TODO with the SB app/Core:
  • Proper count on the current number of different PObject subclasses, so on creation of new subclass object we can assign appropriate numbers.
  • Allow images for Engine (now renamed background)
  • We need a better default file, one that has zero elasticity and more attractive behavior.
  • Curved lines would be really nice—perhaps the same polynomials we put into the synth tool, and throw in a sine wave as well.
  • It is very natural to want to place a “kick” at a certain time or location (or combination of the two). This will offer an opportunity to use a conditional, once we have one.
  • It is a little counter-intuitive to think of kick in terms of iteration, I would not put that in the default file. I assume it is just in there because you needed to test the iterative loop.
  • When trying to select a line, it is easy to accidentially select the display screen instead. We need a “smart” mouse cursor that realizes that if you clicked really close to a line, that you wanted the line and not the screen.
  • I think I would have only line position show up, and for the other parameters (color, width, elasticity, friction) I would make them click on “advanced” before they see them.

No comments:

Post a Comment