Android App Inventor

appinventor.gifEver since OPL on the Psion, none of the OS platforms have managed to replicate the successful long-tail ecosystem that allowed end-users to create and share their own simple apps.

As we now know, apps are important for platform adoption. Symbian/Nokia lost their way with OPL (and Python for S60). Simple app creation by end users wasn’t seen to be important and wasn’t funded well enough.

Fast forward to today and the iPhone has hundreds of thousands of apps. Many have been created using simplified tools that can be used by almost anyone to create their own simple app. Nevertheless, there are some downsides to this- witness Apple’s crackdown on simple RSS generated apps.

Android has few, if any, app tools that are simple enough for anyone to use. There’s Google’s own Android Scripting Environment but it can’t, as yet, be used to create UIs and installable apps (apk files).

A while ago I came across Massachusetts Institute of Technology’s Android app generation tool that looked interesting but it was only available to educational establishments. It seems Google have picked up this technology, extended it and have called it ‘App Inventor’.

appinventoride.gif 

App Inventor uses something called Open Blocks to link together various pre-configured app building blocks…

 openblocks.gif

The good news is that App Inventor will allow end users to create and share their own applications. I expect that this will significantly increase the number of apps on the Android Market and provide for long-tail apps that are currently not viable (effort or cost) to produce. The bad news is that it might result in a greater number of Android apps that are poor quality and/or don’t really do that much.

What about using App Inventor for more serious, commercial apps? The App Inventor doesn’t provide sufficient facilities to produce most kinds of Android apps I have created for clients. For example, you can’t create arbitrarily complex list views or dynamically created views based on data (in code rather than declarative, pre created). You also can’t access arbitrary web services, create Android background services nor can I see a way of creating menus.

There are ways around some of these problems. For example, extra code can be written at the server to allow integrating with APIs and external databases via mechanisms that translate the data into a format supported by App Inventor. There’s already an example of how to interface with Amazon API. I can still see serious uses for App Inventor to help produce proof of concept apps or for cases where the requirements have been carefully mapped onto what’s possible using this tool.

What might be good would be if App Inventor could provide a way of using 3rd party created extensions. This might allow missing parts to be created (or even sold) by anyone and allow developers such as myself to create more serious applications.

Related Articles:

Comments are closed.