Overview of Google App Inventor Blocks

So I got my Google App Inventor invite last night, had a quick play this morning with the Hello World app, and then hit an issue as the App Inventor kept failing to connect to my phone with anything other than a new app project started from scratch… so rather than waste the morning variously rebooting my phone, mac, phone and mac, in various combinations, here’s a quick tour – without commentary for now – of some of the various blocks that the App Inventor editor supports…

First of all, the “built-in” blocks, that are always available:

Procedure definitions:

App Inventor - definition blocks

String manipulation:

Google app inventor - string blocks

List manipulation:

Google app inventor - list blocks

Maths blocks:

Google app inventor - maths blocks Google app inventor - maths blocks 2

Logic blocks:

Google app inventor - logic blocks

Control blocks:

Google app inventor - control blocks

Colour blocks:

Google app inventor - colour blocks

Then there are the blocks associated with components that have been added to the app. So for example, there are various sensor related blocks:

Accelerometer blocks:

Google app inventor - accelerometer blocks

Location sensor:

Google app inventor - location sensor blocks Google app inventor - location sensor blocks 2

Orientation sensor:

Google app inventor - orientation sensor

These being phone apps, phone functions are also handy. For example:

Phone calls:

Google app inventor - phone call blocks

Texting:

Google app inventor - texting

To make the phone related activities easier, I’m guessing the contacts and phone number picking utilities might be handy (though I’m not sure how you’d use them?)

Phone numbers:

Google app inventor - phone number picker 1 Google app inventor - phone number picker 2

Contacts:

Google app inventor - contact picker 1 Google app inventor - contact picker 2

There are also a range of social tools. For example:

Twitter:

Goole app inventor - twitter 1 Google app inventor - twitter 2

(It occurs to me that the Twitter blocks use basic authentication rather than OAuth, which means any apps built using the Twitter login component as-is will break at the end of August when basic authentication to Twitter is switched off…)

Media components are supported too. For example:

<em<Sound and vibration:

Google app invemtor - sound

Video:

Google app inventor - video blocks

Images:

Google app invemtor - images

Database facilities are also provided:

Google app inventor- - tinydb

and timer related functions:

Google app inventor - clock 1 Google app inventor - clock 2

Google app inventor - clock 3

Then there are various blocks relating to screen components. For example:

Screen display:

Google app inventor - screen

Labels:

Google app inventor - labels

Button blocks:

Google app inventor - button blocks 1 Google app inventor - button blocks 2

Canvas blocks:

Google app inventor - canvas blocks 1 Google app inventor - canvas blocks 2

Text blocks:

Google app inventor - text box 1 Google app inventor - text blocks 2

Check boxes:

Google app invemtor - check box 1

LIst pickers:

Google app invemntor - list picker 1

Then there are layout related blocks, such as:

Table layout:

Google app inventor - tables

Horizontal and vertical layout:

Google app inventor - horizontal layout Google app inventor - vertical layout

Okay – that’s enough for now… I’ll maybe have to try restarting my browser, rebooting my phone, and giving the actual creative site of app inventor a go again…;-)

PS I missed a couple of really interesting blocks…

Barcode scanner:

Google app inventor - barcode scanner block

Speech recogniser blocks:

Google app inventor - speech recogniser blocks

Text-to-speech:

Google app inventor - text to speech

Activity starter:

Google app inventor - activity starter

The help documentation describes the activity starter as follows:

A component that can launch an activity using the StartActivity method.

Activities that can be launched include:

starting other App Inventor for Android apps
starting the camera application
performing web search
opening a browser to a specified web page
opening the map application to a specified location

so it looks like quite a lot of scope for interacting, albeit loosely in the first instance, with other things on the phone? (See Activity starter notes for more…)

Something that’s listed as not quite ready yet is the TinyWebDB:

Google app inventor - tinywebdb

From demos posted on the Google group, it looks like you can use this as a proxy for web content – e.g. allowing a web app to post stuff into the DB, and then the inventor app to pull the results (and maybe make additional requests) via the web database. The representation format used to support comms between the app and the web database seems to be JSON.

For some outdated, but still informative, info about the various blocks, see component reference and blocks reference.

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

7 thoughts on “Overview of Google App Inventor Blocks”

  1. Great overview, Tony. Received my invite to the beta too, looking forward to playing and seeing if we can get students programming with it soon.

  2. agreed, I wonder about launching other apps such as the camera and then being able to control zoom(for example)

  3. Thanks for the very helpful review?

    Can you tell if the speech recognition is American English only, or if it handles other languages?

  4. Do you know where I can find good information on how to build an app that plays a video from you tube.

Comments are closed.