Thinking of App Inventor. So, basically we take the command line now and type in most of the coding. You have gui's, but, they are the front end and you still have to build them through a basic command line interface.
What if you split it with a design tab and then you have blocks to help with the programming.
http://appinventor.mit.edu/explore/understanding-blocks.html
So, you take blocks for the different pieces to make the code. Just something to think about. It would help with the beginner in making the apps and open up more non-coders to make apps.