Google on Monday threw open its App Inventor beta program to the public.
The tools used in this program let the user create mobile apps for the Android operating system, even if the user has very little programming knowledge.
The App Inventor program’s tools use a visual programming approach and code blocks that developers put together to create a program.
App Inventor Technology
The blocks editor used in App Inventor leverages the Open Blocks Java library. Open Blocks is an extendable framework for graphical block programming systems put forth by MIT graduate student Ricarose Vallarta Roque in her master’s thesis in 2007.
Open Blocks lets app developers build and iterate their own graphical block programming systems by specifying a single XML file, freeing them to focus more on system design than on details of the implementation. Open Blocks is distributed by the Massachusetts Institute of Technology’s Scheller Teacher Education Program.
The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework.
The Kawa Language Framework is written in Java for implementing high-level dynamic languages, which it compiles into Java bytecodes. It runs on a Java virtual machine. Kawa itself is an implementation of Scheme, a dialect of the LISP programming language. It is distributed as part of the Gnu Operating System by the Free Software Foundation.
App Inventor provides access to a GPS location sensor so users can build location-sensitive apps. It also provides a way for users to communicate with the Web. Web app developers can write Android apps that communicate with their favorite websites, Google said.
Using App Inventor
People can build any app they want with App Inventor, according to Google. The App Inventor team has created blocks for just about everything you can do with an Android phone, the company said.
The team has also created blocks for doing “programming-like stuff” such as storing information, repeating actions, performing actions under certain conditions, and talking to services such as Twitter, Google said.
Users can create games, quiz apps and leverage Android’s text-to-speech capabilities.
To use App Inventor, you have to first fill in a form and sign up for the beta here. The form focuses strongly on educators.
Before using App Inventor, users have to link their smartphones to their PCs or Macs through the USB port.
The App Inventor Backstory
Google has been testing out App Inventor in classrooms around the United States for the past year.
Sample apps built during this time include DROIDMuni, an app that displays schedules for the San Francisco transit system; ParkIT, which lets users locate their car on their Android phone; and Super Hero Game, a quiz game that tests the player’s knowledge about superheroes. All three were created by students at the University of San Francisco.
Other schools participating in the test program, which kicked off in June 2009, include the University of Colorado at Boulder, Georgia Tech, Harvard University, Mills College and MIT.
Vox Populi Est Perturbo
Throwing open app development to the masses may be democratic, but it could spell trouble for Google.
“This could open the door to a massive amount of junk,” warned Rob Enderle, principal analyst at the Enderle Group. “Recall that it was junk games that killed off the Atari game platform, which was dominant in the ’80s and ’90s.
“Google has a habit of testing in real time with real users and not anticipating problems,” Enderle told LinuxInsider.
To remedy this situation, Google needs to have a robust quality assurance process that ensures users of apps that these apps won’t do their devices harm. However, doing that isn’t as simple as it sounds.
“Given the number of apps that are likely to be created, this will be a daunting task,” Enderle explained.
“Yes indeed, there will be very poorly written apps emerging, but there are a ton of inferior products on the market,” Randy Abrams, director of technical education at ESET, told LinuxInsider. “It is, and will always be, up to the end user to exercise caution and discretion in what they install on their computers, and the Android smartphone is a computer.”
The real problem with App Inventor is that Google could make off with the intellectual property of the app developers, Abrams told LinuxInsider.
“My concern, if I was a developer, would be that Google would take my ideas to make products without having to pay for the intellectual property,” Abrams explained. “Google has a history of starting licensing agreements along the lines of ‘your soul is ours.'”
Google did not respond to requests for comment by press time.