I am always highly skeptical of any article declaring a particular item to be “The Future” of anything. Especially when it comes to “Computing” — There is no one “thing” that dictates the future of all of “Computing”.
It is a large, complex ecosystem — made up of a hodgepodge of parts, of varying size, that add up to more than simply the sum of the individual pieces. (Example: Small size + Long battery life + Touch Screen + Wireless data = Something much more exciting than any one of those items alone.)
Which is why I hesitated to write this very article. Because I am about to make the very sort of declaration I am so often skeptical of. And yet, here I am. So convinced of the importance of this particular concept, and its broad impact on the way so many of us will perceive, and interact with, our computers (and computing devices) that I am going to go out on the proverbial limb.
Visual Software Creation (or “Visual Programming” as it is often called) is the future of computing.
Visual Software Creation is, quite simply, a way in which you create a software application… visually. By manipulating visual objects in a way that results in functionality desired by the user.
Instead of writing, by hand, a new piece of software in C++, Java, etc. — you simply use your mouse (or touch screen) to manipulate a visual representation of what you want to accomplish.
The goal of which is to make it so simple to create your own software, that most semi-competent users (not just software developers) will be not only capable of the task… but comfortable with it as well.
Why is it important?
Because it, quite literally, adds an almost unlimited potential to what any given individual can do with their computers (or cellphones or tablets…).
Learning to program software in a conventional language (such as C or Java) is daunting. Even most people that would consider themselves “computer savvy” don’t attempt it.
By moving away from traditional programming languages, and into purely visual representations of what software can do, the act of creating your own software becomes a much more attainable goal.
Let me be clear on this: If Visual Programming is done properly, it becomes incredibly easy to do. So easy that using the word “Programming” almost gives people the wrong impression (as “Programming” sounds hard and unapproachable to most people). That is why I prefer the term “Visual Software Creation”.
Once people are empowered with the ability to create their own software in a visual way, those individuals are now able to meet (at least some) of their own computing needs.
Hasn’t this been tried before?
You bet! This idea is not something new.
Back in the 1980′s there were a few interesting attempts at this very goal. Notably LabVIEW and Prograph. And they, most certainly, achieved some level of success.
Yet most of these early attempts were very “Engineer”-centric. In many cases almost as difficult to learn and use as C++ itself.
So, while these Visual Programming tools were great for engineers who needed to visually model some new functionality… they didn’t do much for the average user who wanted to build their own piece of software (be it for calculating sales tax, keeping track of a role playing game, flash cards for learning Spanish, etc.).
Luckily this situation has improved dramatically over the last few years. To the point where we now have some options that are actually viable for the average computer-savvy person.
But the average user doesn’t need that!
True! The average user also doesn’t technically need spreadsheets, graphical file managers, photo managers, web browsers or video editing.
But those tools give people power. They enrich lives. They save time. They make previously impossible (or close to impossible) tasks… possible.
And that is what Visual Software Creation is all about.
Taking the tools that already exist on your computers (windows, buttons, menus, the ability to do math, play videos, etc.) and make them accessible in a simple, visual way for people to use as they see fit.
What are some good options for Visual Software Creation?
There are a handful of tools presently available. I am going to cover three of them that I feel are the most interesting.
1) Scratch
Scratch is geared towards kids, and allows for the creation of interactive games and animations. The idea behind scratch is that it has a full, fairly standard programming language… but it is completely drag-and-drop. This allows people to see, at a glance, the various commands that are possible within Scratch and simply move them, with the mouse, into the order they wish to use them in.
2) App Inventor
Google’s App Inventor for Android, recently released into private beta, builds on the same basic design and concepts of Scratch (and, in fact, uses the exact same design) to allow people to build applications for their own Android powered phones.
3) Illumination Software Creator
(Full disclosure: I am the developer behind this particular application. In an attempt to be as objective as possible, I’ve placed this item last on the list.)
Illumination takes a different approach as it focuses on discrete “blocks” of functionality that can be tied together in any way the user likes and is less similar to traditional programming languages in presentation.
There are pluses and minuses to all of these solutions. For example: App Inventor can only make Android applications whereas Illumination can make applications for Android, Windows, Linux, Mac and Flash websites. On the flip side App Inventor has features that Illumination does not (such as GPS functionality on Android phones).
So which tool you select is really dependent on your particular needs and what style you prefer.
Obviously all of these tools have a long way to go. App Inventor and Illumination were both only released this year (App Inventor still isn’t out of Beta). So, at this point, I would put the entire concept of user friend Visual Software Creation firmly in the realm of the “early adopter”.
But, even so, it is damned exciting.


Today we are officially announcing that 

On the