Sharon Machlis

Google's App Inventor for Android is a game-changer

July 12, 2010 3:35 PM EDT

Does the average smartphone user really want to create their own apps?

Probably not.

But there are a whole lot of users out there who are more technically sophisticated than "average," yet who aren't quite ready to download an SDK and learn a new programming language (even an easy one).

They're one target for Google's new App Inventor for Android, which offers browser-based, drag-and-drop app development.

App Inventor has the potential to do for mobile app creation what VisiCalc did for computations -- move it out of the exclusive realm of specialists in glassed-in data centers (or, in the case of mobile apps, programmers who can use a conventional SDK) into the hands of power users as well as make it easier for IT departments to create corporate apps.

I've yet to get my hands on this graphical SDK-in-a-browser, since it's still in beta. And unlike many Google betas which are actually full-fledged public products, this one does require application to get invited to access. But based on the fairly robust tutorials, it looks pretty usable for those interested in making their smartphone do something it doesn't do now who are comfortable with drag-and-drop interfaces.

The opening screen has a "viewer" in the center, the target area where you drag & drop items; a "palette" of components on the left; and a list of components in use in the app being developed. There are a fair number of components available, ranging from text labels to motion sensors. Elsewhere are features such as a "block editor," which lets you choose what exactly you want your components to do (what text appears on a label, for instance, or what happens when you tap a button).

In theory, you can hook up your phone to your computer while using App Inventor in order to see your app in action. Because Android isn't quite the controlled hardware/software environment as, say, Apple, Google can't guarantee that this will work on any and every device out there that's running Android. (And Google is clear that the phone must have an SD card in order to use App Inventor).

Google says App Inventor "has been tested and works on the common Android devices," whatever that means, although "there may be some App Inventor components that don't work on all versions of the Android operating system due to occasional inconsistencies, hardware differences or bugs."

Without question, too many "inconsistencies, hardware differences or bugs" will thwart the usefulness of App Inventor. But if this works across most devices, it's is a potential game changer -- both for power users and IT professionals who want to create apps, and also for IT departments that may need to deal with more homebrewed applications.

Can anyone who uses Google Docs build their own apps with this? No. But will it significantly broaden the number of people who feel comfortable trying to create a simple mobile app? Yes.

No doubt App Inventor will spawn a lot of "silly," less-than-useful apps as well as some with broader value. But you know what? Giving people the power to create their own silly apps is another major step in cementing both the usefulness of a smartphone in general and platform loyalty in particular. App Inventor for Android is one of the smartest things Google could have done in its battle with Apple for the hearts and minds of smartphone power users.

Sharon Machlis is online managing editor at Computerworld. Her e-mail address is smachlis@computerworld.com. You can follow her on Twitter Twitter @sharon000, on Facebook or by subscribing to her RSS feeds:
articles Machlis RSS | blogs Machlis RSS.

Update: I've been asked how this is different from Palm's Project Ares. Good question. App Inventor appears specifically aimed at people who do not want to write code. Ares does include writing a little code in its sample apps, even if most of the development work is drag and drop.

For example, in the Ares GPS/Maps tutorial there are three steps under "Add Code." It may seem trivial to Palm fans, but there is a group of people for whom this is a stumbling block:

this.$.map1.setLongitude(inResponse.longitude);
this.$.map1.setLatitude(inResponse.latitude);

At first look, the Google implementation looks to be more friendly to non-coding power users. (Not to mention having the market force of the world's most powerful Internet company behind it makes App Inventor more likely to have a significant impact.)