There are some things I try just for the sheer novelty. As a fan of both Android and visual programming (when done right), I couldn’t resist giving Google’s App Inventor a try.
I confess that I don’t quite understand the “market” for App Inventor; after all, the “regular” Android development environment (the Eclipse ADT plug-in atop the Android SDK) is really nice. I’m not sure there’s a need to oversimplify and hide things, but perhaps there are a lot non-programmers out there who want to develop Android apps. Or programmers who don’t like Java. Or Oraclers who don’t like Harmony. At any rate, while none of my kids have their own Android smart phones, I suppose it could be a nice learning environment for any youngsters wanting to start with “building blocks” instead of code.
Perhaps the only challenge to Android development setup is getting the ADB USB driver working (in my case, under Windows 7 64-bit): it requires some manual work-arounds. Since App Inventor uses the same drivers, this might entangle some; for me, that was a price I had already paid back when I installed the Android SDK. I suspect Google will soon get Microsoft’s blessing to make the Windows automatic driver install work, to benefit both tools.
“Developing” with a web page and a small Java app (the Java-web-started Blocks Editor) feels a bit claustrophobic, but I was pleasantly surprised at how functional this “IDE” is. Unlike the Eclipse ADT, the App Inventor web tool doesn’t provide virtual devices (AVDs): everything goes directly to my phone as I work, courtesy of the JNLP. This is smooth and interesting, but was a nuisance when I got a phone call while working.
Still, the Scratch-inspired Blocks Editor is an interesting paradigm, the shapes are really cool, and interlocking them is like assembling a jigsaw puzzle. I found myself writing meaningless “programs” just to experiment and see how large a mousetrap I could create. At some (early) point this breaks down, hits limits, or becomes unwieldy, so it’s back to “real” Android development when that happens. It would be nice if App Inventor and the ADT were somehow integrated; that way, if you run out of visual programming “steam” (and simply must code), you wouldn’t have to start over.
App Inventor is a very nice tool for what it does, so I recommend it to anyone who wants to build a simple Android app, or just wants to dip a toe into the Android development pond.