A few weeks ago I got myself a Samsung Galaxy S2, for various reasons, but also as I intended to try some app development with it. As I have only limited programming experience, I decided to play around with App Inventor to ease myself into things.

Along with the tutorials and stuff included with it, I got used to App Inventor pretty quickly, and within a couple of hours I was able to use it quite well. However, I ran into the limitations of the environment pretty quickly.

There are three main problems I have at the moment (it’s very possible that they’re not issues at all, and it’s just my lack of experience causing the problem).

The first is with TinyDB. It appears that a table using TinyDB is not indexed by default. Or, if it is, App Inventor does not allow a user to query the database based on index. The obvious solution to this is to use numbers in the tag field. This is fine until you need to get your app to add data to a table automatically, by running through a loop, and incrementing a variable that will be used as a tag.

And this is the second issue. Performing mathematical operations (increments, etc.) seems to be quiet difficult. I simply can’t seem to find a block that will allow me to set a var to var+1, and that will also fit into a for range block. I would have went with def as but this block won’t fit into the for range. Am I missing something here?

Finally, using lists. I’m sure this is just me, but trying to create/name a list on initialisation appears impossible. I’m going to have to work through some more documentation to figure this one out.

All in all, though, I have made a working, useful app with App Inventor. For getting started I would certainly recommend it, but I think to get a bit more control over your software, or to develop it further (for example, I will need to integrate Google Maps and multiple screens) the developer should really look at the Eclipse IDE and the Android SDK.