I'm loving Scratch and seeings what my students learn with it. Working with students in Grades 2 and 3 led me to think of these. Illustrations for some ideas can be seen here: http://fichterforunderstanding.blogspot.com/2011/12/scratch-kid-friendly-improvement-ideas.html
* Illustrate the workings of the broadcast and receive functions. *
The ability for one script to trigger another script, especially a script performed by another sprite, is essential. Young students, though, find this concept rather abstract. I often use the analogy of a remote control signaling a television because I hope this image can help students visualize what's happening here. (Suggestions for better analogies would be great, by the way!) Scratch itself could make the concept more concrete, too. Currently, its scripts light up when they are running. To complement this, what if a special illustration flashed across the scripts area of the screen when a script carried out a broadcasting or receiving operation?
* Make a web-based version that saves automatically. *
* Make branches look more like branches. *
Scratch draws loops in a way that help students visualize how blocks of code will repeat in certain situations. It could do a better job, though, when it comes to conditional statements (e.g. "if... else...") that create branches. Since scripts flow vertically, branches should expand horizontally
* Enable student's programs to share data with a teacher or administrator. *
Real-time collaboration would certainly be neat. If I'm helping a whole class of students with different Scratch projects, I'd also love to be able to take a broader view of how my students are doing. Perhaps an administrator screen could keep track of things like which students have started using variables successfully or which students understand how the above-mentioned broadcasting and receiving functions work.
* Simplify the process of selecting a Sprite. *
Currently, if I want to delete a sprite, I can right-click the sprite's icon in the box beneath the stage. Or I can click the scissors button above the stage and then click the sprite on the stage itself. Whether this redundancy is good or bad is debatable. What clearly needs improvement, though, is that other operations require students to use just one of these commands. Often, I watch students click in vain on the picture of a sprite on the stage when they are attempting to see the scripts associated with said sprite. Intuitive, right? But it doesn't work: the only way to see a sprite's scripts is to click the sprite's icon in the box beneath the stage. Why do we even need a box beneath the stage with icons for all of the sprites? Why not just let users click on the sprites on the stage? Perhaps Scratch is afraid students will forget about sprites that are currently hidden--but wouldn't it be easy to add a button similar to Apple's Expose that would show all sprites?
* Use buttons instead of right-click commands for anything that's important (e.g. commenting on scripts). *
Since part of Scratch's mission is to help students learn how programming languages work, and since documentation is a key part of learning a language, the "add comment" command needs to be easier to notice and execute. Currently, many children and adults don't even know that right clicking on the scripts of the stage gives you the option to add commentary and to attach this commentary to blocks of code. If we have buttons above the stage for growing and shrinking sprites, why can't we have a button in a prominent and convenient location for commenting on a script? If we really wanted to make it kid friendly, maybe we'd enable audio comments, too.
Offline
These are great ideas to improve Scratch for learning students.
MrFitcher wrote:
* Make a web-based version that saves automatically. *
The future Scratch 2.0 will be web-based, although auto save is a new suggestion.
MrFitcher wrote:
* Enable student's programs to share data with a teacher or administrator. *
Real-time collaboration would certainly be neat. If I'm helping a whole class of students with different Scratch projects, I'd also love to be able to take a broader view of how my students are doing. Perhaps an administrator screen could keep track of things like which students have started using variables successfully or which students understand how the above-mentioned broadcasting and receiving functions work.
Scratch 2.0 would be able to support more advanced collaboration, but other features may require the use of external programs.
MrFitcher wrote:
* Use buttons instead of right-click commands for anything that's important (e.g. commenting on scripts). *
Since part of Scratch's mission is to help students learn how programming languages work, and since documentation is a key part of learning a language, the "add comment" command needs to be easier to notice and execute. Currently, many children and adults don't even know that right clicking on the scripts of the stage gives you the option to add commentary and to attach this commentary to blocks of code. If we have buttons above the stage for growing and shrinking sprites, why can't we have a button in a prominent and convenient location for commenting on a script? If we really wanted to make it kid friendly, maybe we'd enable audio comments, too.
I think hotkeys for Scratch has been suggested, but visible command buttons can be useful for younger Scratchers.

Offline
MrFichter wrote:
* Simplify the process of selecting a Sprite. *
Currently, if I want to delete a sprite, I can right-click the sprite's icon in the box beneath the stage. Or I can click the scissors button above the stage and then click the sprite on the stage itself. Whether this redundancy is good or bad is debatable. What clearly needs improvement, though, is that other operations require students to use just one of these commands. Often, I watch students click in vain on the picture of a sprite on the stage when they are attempting to see the scripts associated with said sprite. Intuitive, right? But it doesn't work: the only way to see a sprite's scripts is to click the sprite's icon in the box beneath the stage. Why do we even need a box beneath the stage with icons for all of the sprites? Why not just let users click on the sprites on the stage? Perhaps Scratch is afraid students will forget about sprites that are currently hidden--but wouldn't it be easy to add a button similar to Apple's Expose that would show all sprites?
The problem with this is, that if you have a hidden sprite, you couldn't see its scripts, and if you have a really tiny sprite you wouldn't be able to look at its scripts.
Offline
Mokat wrote:
MrFichter wrote:
* Simplify the process of selecting a Sprite. *
Currently, if I want to delete a sprite, I can right-click the sprite's icon in the box beneath the stage. Or I can click the scissors button above the stage and then click the sprite on the stage itself. Whether this redundancy is good or bad is debatable. What clearly needs improvement, though, is that other operations require students to use just one of these commands. Often, I watch students click in vain on the picture of a sprite on the stage when they are attempting to see the scripts associated with said sprite. Intuitive, right? But it doesn't work: the only way to see a sprite's scripts is to click the sprite's icon in the box beneath the stage. Why do we even need a box beneath the stage with icons for all of the sprites? Why not just let users click on the sprites on the stage? Perhaps Scratch is afraid students will forget about sprites that are currently hidden--but wouldn't it be easy to add a button similar to Apple's Expose that would show all sprites?The problem with this is, that if you have a hidden sprite, you couldn't see its scripts, and if you have a really tiny sprite you wouldn't be able to look at its scripts.
The tinyness is a problem (unless you zoom in on your screen) but for hidden sprites, read the entire thing before you post. It says there should be something similar to expose...
Offline
These ideas are very good, and will help students (Like me) however some have been suggested already, but they are still very good, you already use third parties to enable scratches full potention e.g. python.
Offline