I was excited to hear about the advent of Google App Inventor for Android—an environment that makes it easy for non-programmers to create apps for their mobile phones. I'm still waiting to get my hands on it since it's being rolled out for educators and students only.
Since the mid-1970s I've been a fan of application development tools that end-users can use to roll their own applications. I have long contended that if you really want your application environment to take off, you need to empower end-users to invent and create their own applications. I learned this from watching the evolution of early word processing systems in the mid-70s. CPT was one of the first companies to make it easy for users to automate processes by storing a complicated series of keystrokes, recording these as macros, and then letting the user abstract that recorded code into reusable chunks of logic with if/then logic.
Wang Labs and Digital Equipment also implemented similar capabilities in their word processing systems. Power users—the smart people (mostly women) who produced most of the documents for their companies at that time—quickly developed lots of time-saving and ingenious programs that both automated and transformed their work.
Google App Inventor uses a different approach—a set of graphical building blocks, based on the evolution of the work of Seymour Papert's Logo language at MIT. [Another evolution of Papert's work led to the LEGO Mindstorms' NXT User Interface by National Instruments for a child-friendly and scientist-friendly version of LabView—a sophisticated parallel programming environment designed for sensing and controlling inputs and outputs—which I describe in this chapter of Outside Innovation.]
Here's the KittyPurr video demo of App Inventor for Android:
I am bullish about the Android App Inventor—not because I think that it will generate tens of thousands of killer apps that will give the iPhone app ecosystem a run for their money, but because I like the end-user empowerment that it unleashes. What I wish is that someone would also create a "do what I do" keystroke capture/macro creator for Android (and iPhone) apps that you could then edit and refine using either this building block approach and/or a simple scripting language, as with the word processors of yore.
Here's a video from Google's visiting professors who apparently contributed to the genesis of App Inventor for Android with a bit more background on their thinking.