I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Android AppInventor: First Impressions

  • submit to reddit

When Google's AppInventor was announced last month, I signed up straight away, and have been really looking forward to seeing what it can do. This weekend, I was granted access to the site (thanks Google!), so I thought I'd share my experiences with you.

On introduction, you're encouraged to read the manual, which has all the usual stuff you need to start development, with setup instructions and tutorials. But if you don't have an Android phone, you don't need to setup anything on your machine. In order to connect App Inventor to your phone, follow these setup instructions.

Skipping through the setup instructions, the My Projects area presents you wish a dashboard of all your AppInventor projects, allowing you to create and edit these projects.

Once the project is created, you get a nice web based viewer with a fairly comprehensive palette: 

 Each of the palette items provides further information on how to use it in your app:

To use any of the items, just drag them onto the screen. Any non-visible components, or services, get placed underneath the phone screen.  As you select on any of the items, properties are displayed. 

The logic and flow of your screen is defined using the Android Block Editor, launched as a Java Web Start application. 


One of the really nice functions is the "checkpoint" feature, which is effectively the same as doing a "Save As" in a native IDE. You can assign your own name a checkpoint (the default being <projectname>_checkpoint<n>). 

There are options to download and upload source, but this is just a backup and sharing mechanism - you don't get the actual Java source. While that's a bit disappointing, it's understandable. It's early stages yet, and maybe this will be possible in the future. Another limitation is the inability to publish your application to the Android Market: but Google  "are actively evaluating the best way to integrate with the Market".

So that's a really quick overview of AppInventor. Over the next few articles in this series, I'll be bringing you through the construction of a full application using AppInventor.




Fabrizio Giudici replied on Thu, 2010/08/26 - 6:05am

Thanks for the review, James, but there's still a point that I can't understand, and you can't help me. In fact you're a professional, experienced and talented developer, while the Inventor is - AFAIU - targeted to less experienced people, and possibly even non technical people. Thus I'd rather to have feedback from that kind of people.

My biggest doubts are related to the fact that to have quality apps you need testing. This is not only a tooling problem (does Inventor have any support for testing?), but a cultural problem. Testing is underestimated even by professionals, figure out about non-professionals. 

My point is not about the fear of a wave of low-quality applications that could strike us, as some think. Indeed, there are probably already tons of low-quality apps around, and customers make the selection. My point is that Inventor will indeed add tons of low-quality applications that will just sit in the dust of <50 downloads stuff. So no harm for us, but what's supposed to be the added value of those things? I only see the increase of the number of apps in the Market, a number that is good for marketing people at Google, but it's not beef.

Making a real effort to be positive and thinking of my own experience and app ecosystem, I could image some of my more advanced users to develop a very simple extension of my app, for very specific needs. It could take advantage of the powerful Activity/Intent integration facility of Android - but, hell, how many apps are really supporting this kind of integration? How many are documenting it in a way that is understandable by non technical people?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.