Visual programming environment for Arduino
Based on Google Blockly and bq's bitbloq.
Intuitive programming environment, and multilanguage support.
Generates native code for Arduino, so once programmed, the board doesn't need the PC.
The code is available for you to extended it and modify it.