mit-scratchblock-programming

MIT-Scratch adding/removing language features


I am seeking a way to allow my non-tech users to specify a workflow and execute it (if anyone is interested, I want them to specify and execute test cases). Visual programming seems a good way to go.

Can I modify the Scratch IDE to remove some categories (such as sound, motion, etc), and add some of my own? Ditto for individual keywords (obviously, I then need to handle new keywords).

I have Googled, but the answer is not immediately apparent.


[Update] I have just found Google's Blockly

Blockly was influenced by App Inventor, which in turn was influenced by Scratch, which in turn was influenced by StarLogo.

It looks very promising. Especially when it says

  • Exportable code. Users can extract their programs as JavaScript, Python, PHP, Dart or other language so that when they outgrow Blockly they can keep learning.
  • Open source. Everything about Blockly is open: you can fork it, hack it, and use it in your own websites.
  • Extensible. Make Blockly fit with your application by adding custom blocks for your API and remove unneeded blocks and functionality.

One possible snag is that it is browser based, but if my management don't like that, then I can create a dummy Windows based app consisting of little but a TWebBrowser component.

I will investigate and report back - unless someone else posts an acceptable answer first.


Solution

  • The short answer to your initial question is: no. You can't customize Scratch, or not to the extent that you seem to ask/want.

    That said, look at:

    Only the first two are compatible with the scratch web site.

    A word on the site: depending on your purpose with Scratch, the exchange between users is a powerful part of scratch. Check how cooperation is supported, like the backpack. There's also a good wiki that documents much of the above.