On Thu, Nov 10, 2011 at 11:04 PM, Steve Thomas sthomas1@gosargon.com wrote:
So the argument I have heard as to why Etoys does not have a single Step Debugging like Scratch seem to go along the lines of "If we step one script, the whole world waits". I have two responses to this:
So? Should we let the search for an elegant solution (that a few developers will see and appreciate) prevent us from providing a tool that can positively impact many children?
So on "So?": So what if the whole world stops? Yes, I know and can think of some cases where this will impact the ability to debug certain issues, but my guess is these are a small minority of cases and I do not see any negative consequences (other than the single step debugging is not ideal in these few cases, but it would still be better than no single step debugger). A solution versus an elegant solution: Another way to solve this problem (which I will assume others have thought of, so I am probably missing something) is to do something similar to what Bert did in his Squeakland presentation where you "roll your own tiles" and place them in special holders (like "do together" or "do one at a time"). When you click on "debug" or some other similar script icon, a new "special script" is instantiated that has a copy of each tile, but it operates one "step" at a time, doing the step during its cycle. This would allow the whole world to continue to run and provide single step execution of tiles (or copies of those tiles inside a special scriptor, that runs one tile at a time.). The one addition I would make to the approach above is along the line's of the one in Scott's recent talk. Where you add an icon (the exclamation point in a yellow circle) to allow the user to execute one tile at a time in any order/timing they want. Another possibility would be to allow the user to "toggle" the visibility of a yellow exclamation point for each tile, this would be to allow kids to display the "fire tile" icon and just click through one at a time, which would also allow single step debugging (versus run at a slow pace, and frankly I prefer kids click each time, as it forces them to slow down and think. When doing "Test" tiles not sure if you should highlight "Yes" or "No" or just skip to the first tile in that section. I lean toward the former. Stephen
Great to see that video. Very cool features that I think will move Etoys much further is ease of scripting. Also good for debugging. A way transition between the single step mode and the full Etoys scriptor would be nice.
Karl