Author: Jörg H. Kloss
Aimed at: Newcomers to App Inventor
Pros: Includes a dozen projects
Cons: Not beginner-friendly
Reviewed by: Harry Fairhead
Do you need a book to learn how to use App Inventor?
The whole point of App Inventor is that it is so easy children without any programming experience can use it. This book is designed to explain how it all works, but there is a very real doubt that anyone actually needs it.
It covers both the Google and MIT versions of App Inventor, which appears to be a good thing until you realize that only the MIT version has any relevance in the future.
The book starts off with a long history of App Inventor before you reach Chapter 1, where how to get started with App Inventor is explained. We have a detailed history of Android versions, Java configurations and a lot of other guidance which might come in handy, but the small font size and the boxouts make the book read like an academic treatise.
Next Chapter 2 goes step-by-step into how to open and start a project, which should be obvious to anyone who has used a computer. It also makes the comparison between object-oriented classes and the blocks icon in the designer and objects with the realizations of blocks on the design surface. A correct analogy, but not really helpful to a beginner at this stage. It simply serves to make things seem more complicated than they are.
Chapter 3 moves on to creating a very simple app - a button that plays a sound file. The big problem is that this first app is explained in minute detail - nothing is left out. This might appeal to some readers, but it is just as likely to put some off as, again, it all appears too complicated. For example, at the end of the chapter we have a comparison of app markets - after your first app this seems a little out of place.
Part II moves on to some more projects, all described in great detail. Part III is basically more advanced app development and an introduction to many concepts that you probably don't actually need to create apps using App Inventor - data types, data structures and what these are like in other languages.
Later the fundamental programming structures - conditionals and loops are explained, but in what you might call "grown up language". For example, the idea of pre-test and post-test loops is introduced and the program structure blocks are explained as if you already knew how it all worked from other languages. This is not a beginner-friendly and certainly not a child friendly introduction. Chapter 10 deals with storage and database and is just as difficult to read.
Part IV is called Developing Attractive Apps. This is about graphics and animation and is perhaps the best part of the book as some of the concepts are not obvious and do need explaining. The chapter on sensors is also useful and the remaining part of the book does deal with some more advanced application types. In this part of the book the academic tone doesn't seem quite so out of place.
Overall this isn't a good book for the beginner. It presents itself as a tough read with a small font, crowded pages and an over-complete attention to every detail possible.
In most cases beginners can get started with App Inventor without much trouble and are soon dragging-and-dropping components onto the designer to build increasingly complicated apps without having to have things explained. If they do need an explanation then usually an one in terms of what the blocks do, rather than relating it back to traditional programming concepts, is the most direct and effective approach. For the beginner I can't see that this book is going to be helpful as it manages to make something that is fairly easy to use seem difficult.
On the other hand, if you know enough to understand the explanations and references to other technologies in this book then you can almost certainly work out how App Inventor does things for yourself. Open the designer and browse what blocks are available. You should get the idea very quickly.
If you want an approach that makes the simple seem complex by explaining it all in minute detail and connecting it to higher concepts before it has had time to sink in then you might like this book. My advice, however, is to go straight to the App Inventor site and try it all out - or read our article Getting started with Android App Inventor.