Author: Mike Riley
Publisher: Pragmatic Bookshelf
Reviewer: Lucy Black
A book about developing programs for Android using Android - sounds intriguing.
But the actual content of the book is better indicated by its sub-title: Automate Your Device with Scripts and Tasks. This is a very odd collection of topics and it is difficult to work out who its ideal reader is.
If you take the sub title to be accurate, it is difficult to figure out what the first three chapters, which form Part I - Customize - are doing in the book. These are essentially about end-user customization of an Android device and not a lot about scripts or tasks. Chapter 1 is called "Getting Started" and it asks you to analyze your use of the device. Chapter 2 is about personalizing your home screen. It goes a bit further than the usual introductions and lists of useful programs by introducing Launchers, Widgets and Floaters. Chapter 3 is called "Listening to your Android" and introduces the idea of wearable computing, but is mostly about enabling and using voice synthesis.
Part II of the book - Explore - is more on topic in that it introduces Tasker, which is a bit like a built-in "If This Then That" (IFTTT) app. You can use it to run a set of tasks when a trigger condition occurs. The examples are of a talking clock and train station alarm. The chapter finishes with a look at using the Tasker App Factory to create native apps.
Chapter 5 is probably the one that most programmers will find interesting. It is about using SL4A to run a range of different scripting languages. Covered very rapidly are Python and Ruby, each with a short example. If you are not a programmer this is inadequate. If you are a programmer then simply having the SL4A facility brought to your attention is probably all you need.
Chapter 6 explains briefly the use of AIDE - The Android Java IDE - and how you can create new Android apps using it. This is way above the level of the previous chapters and it quotes the code for the MainActivity of a Java Android application, which isn't going to mean a thing to readers who needed guidance on using Tasker. The second example is even more complex and if you don't know enough programming to be able to create a full Android app you aren't going to get much from this either.
Part III of the book - Build - returns to easier topics by way of using Tasker. Chapter 7 is all about creating a timer that switches everything off so you can get on with something uninterrupted for 20 minutes. Chapter 8 puts together a script written using SL4A and Python and Tasker to create three messaging apps - Check Email, Speak 'n' Tweet, and Jabber Tracker. Chapter 9 returns to the use of just Tasker to build some notification projects. Chapter 10 uses the Application Launcher with Tasker to build a Twitch.tv status widget.
There are some interesting things in this book. It is impressive how far you can get with Tasker and a script built using SL4A, but the book doesn't do very much to get the non-programmer into scripting. If you can program then the examples will be interesting for doing things in ways you might not have thought of. I have no idea why Part I of the book is included; it seems to be completely out of place and unnecessary. There is also a lot of level changing. One minute a simple idea is being explained at length and then suddenly you find the code for a Java App quoted at you.
The book would be better if it focused on using scripting in, say, Python and using Tasker and changed its title to reflect this. As it is, I think quite a few people will buy it for the wrong reasons.