Blockly is a ROS package that provides web-based visualization and block programming tools for robots and drones.
For several weeks we taught different groups (going from the high-shool level to the PhD one) how to make use of our robots. While most of the people quickly understand the different mechanical parts of a robot, understanding the underlying software is something that took quite a bit of effort.
When making our training sessions, one of the first things we try to introduce is the concept of the Robot Operating System (ROS). While there're many resources on this topic, it's a fact that learning ROS takes some effort even at the PhD level so we started prototyping ideas to make this proccess as simple as possible.
We wanted to reach high schools students so we realized that we had to remove the assumption of "coding skills" from the equation. This made us look into systems like Scratch for robot programming. The output of these prototypes has become blockly. A multiplatform web-based tool for programming robots and drones that use ROS. In fact, Blockly itself is a ROS package.
Having a tool that can be used in any browser seemed quite powerful to us so we've designed blockly following this reasoning. While the design is not yet fully responsive (specially with small handhelds) it has been sucessfully tested in several browsers. Here's how the builder looks:
Besides the builder, we've got tons of ideas on how to make blockly scalable for further learning. One we already ship is the "Python code view". This way you can easily see how your blocks translate into ROS-compatible code that will actuate your robot: