Waterbear (http://waterbearlang.com/) is a toolkit for creating visual block-based programming languages for the web. Its blocks are inspired by Scratch (http://scratch.mit.edu/), but where Scratch is a full-fledged language, Waterbear is a family of languages and the tool for making them. Waterbear has been used to create visual languages which produce code for Javascript, Java, Arduino, Minecraft, and Processing. Where the code can be compiled and run in the browser it has capabilities for doing that safely.
Waterbear is primarily a learning environment where coding can be guided without having to worry about syntax errors. The goal is for it to be useful for casual programming by non-programmers in a variety of domains. We still have a ways to go before it is easy and intuitive to start coding with Waterbear, especially in guiding new users through their first scripts.
There are several components to Waterbear