Some history behind App Inventor
The history of App Inventor extends, in part, back to the 1980s, at least, which may sound odd.
App Inventor is a project, today, of the Massachusetts Institute of Technology but is based on the App Inventor project that was originally started by Google. Google’s project, turn, was based on an MIT Master’s thesis by Ricarose Roque.
The graphic building blocks approach to assembling program functionality was itself inspired by Scratch. Scratch is a simple programming system used for teaching programming concepts (especially to those age 8 to 16). Like App Inventor, Scratch has taken on a life of its own and is also hosted at MIT and runs in your Internet browser (plus a download version that runs on your own computer, is available). If you are interested, you can learn and use Scratch at scratch.mit.edu. You can learn about the history and philosophy of Scratch in this Communications of the ACM article. (ACM is a professional society for computer scientists and publishes many journals in the field of computer science.)
Scratch not only relies on building blocks, similar to App Inventor, but Scratch is also built around an event driven programming model and supports sprites as sprites provide for a fun and easy way for children to create interactive games. Even though Scratch is designed to help children learn, the programming system is used to teach introductory programming concepts at the high school and college level.
Scratch is intended – like App Inventor – to enable programming to be done by non-programmers. Scratch does not replace the need for professional programmers as there are many limitations to what Scratch (and App Inventor too) can implement in software. But the general idea is that programming is a form of expression – just as a drawing or painting by an artist, a fiction story by a writer or a photograph by a photographer are forms of expression. Scratch enables more people to express themselves in the form of a computer program that does something.
If you are familiar with the “Maker” movement of do-it-yourself projects, there are many tools available today that enable people who are neither technicians nor engineers to build electronic control systems (such as using Arduino), or apps using App Inventor, or programs using Scratch and other tools.
Scratch itself was inspired, in part, by features of an earlier programming system – Logo – developed in the 1960s and used as an introductory programming system especially in the 1980s and later. Earlier on, Logo added a feature called “turtle graphics” – a simple on screen (or later, physical device that could drive around the floor) which could be programmed by students. You can see the influence of turtle graphics in Scratch: when you open the Scratch programming editor, you will see programming blocks for moving and turning, inspired by turtle graphics.
App Inventor, as you can see, has roots deep in to the history of programming.