NYT's David Pogue recently got a chance to try out Google's still-in-beta App Inventor. He finds that it includes a fair number of bugs and also very much overhypes the claim that it "requires NO programming knowledge." Neither of these surprises me a whole lot. Bugs are to be expected, and forgiven, in beta software – that's what the "beta" means. So, too, is the fact that some level of programmer-savvy is required. You may not need to know the ins and outs of a language's syntax, but familiarity with basic programming ideas seems like a reasonable requirement. I can't think of any product that has successfully gotten around the need to understand basic software development concepts. (Hypercard is the closest approximation I can think of.) No, to me the most interesting point is Pogue's experience with devices:
Above all, a would-be App Inventor app inventor must contend with the differences in every Android phone model. The Droid X phone I was using, for example, refused to communicate with my computer until, at the suggestion of a Google technician, I changed the U.S.B. connection mode to exactly the opposite of what the tutorial recommended. Eventually, Google plans to provide pointers to the quirks and eccentricities of each phone.
This is exactly why I'm not interested in becoming an Android developer, and it's something that doesn't seem to get much attention. Even if Google could work out the bugs associated with odd USB settings and other hardware quirks, you're still fundamentally dealing with a ton of different configurations. Does the device have a hardware keyboard, or not? What size and resolution is the screen? Does it support multi-touch? Does it have a scroll wheel/scroll ball? How fast is the processor and how much memory is available? What version of Android is it running? That's just the beginning of a long list of problems for Android that Google doesn't seem to have any plan for addressing.