Back in the ’80s when personal computers were first sold, the two most critical pieces of software for the computer was a disk operating system and a programming language, usually BASIC. Back then there weren’t many developers writing programs for those first PCs, so those fortunate enough to own one had to write their own to make the PC useful. I remember spending hours typing in programs from magazines on my first computer, a Timex-Sinclair, in order to obtain more programs.
In the beginning of the PC era the success of a platform was probably more defined by the number of programming languages and compilers available for it rather than the number of applications available, and there was no such thing as app stores. All of these memories of my first experience with computers came to mind today when I learned about App Inventor for Android.
Google App Inventor for Android is a visual programming programming environment for creating programs to run on Android phones. Various blog posts that I have seen today about it suggest it will enable people who aren’t software developers to write their own programs, which may be true assuming that such people are actually interested in creating their own programs.
Experienced programmers will liken App Inventor to Visual Basic, as you will see in the following video, creating a program is a matter of dragging and dropping objects on to a form.
“Real programmers” will probably frown upon App Inventor as not being powerful enough, but there are two things about App Inventor that I find interesting. First, after briefly looking at Google’s web site for App Inventor it is clear to me that Google is intending it to be used by schools, and I think anything that companies do to plant the seeds for future programmers is a good thing. Second, App Inventor must be generating Java code, which is what Android applications are written in and the challenge for such code generation tools is whether the quality of the code it generates is good enough for creating high performing applications. If the apps created using App Inventor don’t run well on the phone, few people will want to use the tool.
When the Apple Macintosh became available Apple provided a visual programming environment for it called Hypercard, creating the idea of providing a tool for average users to create their own programs. Many bad and many very good Hypercard “programs” were created, and no doubt App Inventor will be used to create many bad and many very good apps. App Inventor is the first tool that average users can use to create apps for smartphones if they wish to do so, and to me that in itself is a significant milestone of the smartphone lifecycle. I am looking forward to playing with App Inventor and creating my own apps that will make my smartphone even more personal.