Visual programming isn't a new concept, it goes at least back to 1975 with the Pygmalion language. It's been advocated in constructionist learning circles but hasn't really caught on outside of education, except in a few niches. Audio programming environments like MAX/MSP take advantage of visual programming concepts, and more recently mashup creation tools like Yahoo! Pipes and JackBe Presto have adopted the paradigm.
But will visual programming ever have a life outside of education and a few specialized uses? More specifically, will it ever be possible for the average user to build their own apps using visual programming? Critics have mentioned various problems with the paradigm, not the least of which is that programming is hard. Joe Hughes comments on a post by Adam Greenfield on the subject:
As someone who once built a boxes-and-lines visual programming environment, in the end I'm not sure how easily the average "mom" could be led to think with the rigorous logic of a programmer, no matter how much the task is dressed up using English-like statements, appealing bricks, or lovingly simulated patch cable physics. Specifically, the layperson needs to climb up a steep learning curve to even have a clear understanding of what they could reasonably ask of such a system.
An illustration of this is the data visualization application Impure. Impure, still in alpha, hopes to provide a set of data visualization tools for non-programmers. But it's hard to describe, at this stage anyway, Impure as something that's entirely easy.
None the less, I've had, up to now, a sense that a super-easy programming environment was a worthwhile endeavor, regardless of how difficult it is.
But thinking about the case Douglas Rushkoff makes in his newest book Program or be Programmed makes me question whether visual programming, as anything more than a learning tool, might be counter productive. Rushkoff makes the case that programming is the new literacy. And "computer literacy" is no longer enough - one needs to be able to write code, not just operate a computer.
The problem, then, with something like a better, easier version of Google App Creator is that it doesn't go far enough. Even if everyone is able to create their apps, would they be truly "literate"?