Programming for Androids with App Inventor

Jul 14, 2010

Miles Berry

Originally published on Open Source Schools.

It’s interesting how open source approaches are gradually tipping the balance in favour of open platforms when it comes to developing for smart phones. Whilst Apple’s highly locked down iOS4 platform continues to command a large slice of market share, things are gradually tipping the other way, with the news that for Q1 2010 in the US at least phones using Google’s open source Android platform (such as my shiny new HTC Desire :-)) actually outsold Apple’s handsets. Although the iPad and iPhone 4 will have given Apple sales a boost, the connectivity problems with the iPhone when it’s held the wrong way, the continued absence of Flash support and the restrictive terms imposed on iOS developers are unlikely to do Apple many long term favours. Witness, for example, the removal from the App Store of the Scratch ‘player’.

At the moment, Apple continue to command a lead in the sheer number of apps available in their App Store when compared to the Android Marketplace. However, all this may now be set to change, with Google now inviting applications to access a beta of its App Inventor suite of applications, which takes the building block approach to programming familiar to users of Scratch via the Open Blocks Java Library to make it possible for pretty much anyone to make a start on creating their own mobile phone application, making use of all of Android’s core functionality like its accelerometer, GPS and text to speech, as well as interfacing with public APIs for services such as Google Apps and Twitter.

As Google puts it:

“To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app’s behavior.”

I think it significant that the sign-up form asks questions about whether the App Inventor invite is destined for use in a school or college, together with a dedicated set of FAQ for educators (including the somewhat optimistic, and perhaps unnecessary ‘whom can I talk with about buying classroom sets of phones’). Schools seem to be slowly realising that pupils own phones can now do much of what we used our ICT suites for five years ago, judging by an article in last Friday’s TES.

I wonder if initiatives like Google’s here will lead to a resurgence in bedroom programming amongst school pupils, perhaps spurred on by enthusiastic teachers such as the crowd gathered in Birmingham last Friday for this year’s Computing at School conference, where break out sessions on open source programming tools like Greenfoot and Scratch attracted good audiences. It was good to see Peter Kemp representing the Open Education Disc there too, especially as this includes these programming languages / environments and others.

Computing at School Teachers Conference 2010

Other open source mobile platforms are available, including Maemo on the Nokia N900 and the LiMo platform. Palm’s WebOS is also worth keeping an eye on, which is Linux based even if closed source. That said, none of these make programming quite so easy as Google have just done for Android.