BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Hello App Inventor: Book Review and Interview

Hello App Inventor: Book Review and Interview

Hello App Inventor is a book about Android application development authored by Paula Beer and Carl Simmons. The book is targeted to developers that are new to Android programming. Readers will learn about App Inventor, a cloud-based visual programming language platform that allows developers to design and build apps for Android phones using only their Internet browser. Instead of typing out complex code, developers use a graphical environment to craft programs. Users drag and drop objects on the screen and plug blocks of code together like a jigsaw puzzle.

Manning Publications has a special offer for InfoQ readers "Save 40% on all items in your cart when you purchase Hello App Inventor. Just enter app40infoq in the Promotional Code box when you check out. Only at manning.com". 

And a sample chapter from the book can be found here.

Here are some of the benefits of using App Inventor to develop Android apps, according to the authors:

  • You can make an app that does cool things like find your GPS location, make phone calls, send texts, read barcodes, and take pictures or videos.
  • You can build programs that are useful for the real world. For instance, you might make an app that
    • reminds you to do important things, like take medication,
    • sends an alert text with your phone’s location, or
    • uses pictures to tell children what time of day it is.
  • Being able to create apps that your friends and family can use on their phones is an amazing motivator to learn to program and to make your apps the best they can possibly be. If you get really good, you can even sell your apps in the Google Play store.

The book has 15 chapters beginning with the introduction of the App Inventor programming platform. It then describes setting up App Inventor, creating user interfaces, designing screen layouts, developing user interactions with the touchscreen, using logic for conditional programming, creating animations, and developing web-enabled and location-aware apps.

There are frequent examples and code snippets in the book along with colorful diagrams to help readers more easily understand app development with App Inventor. It is recommended that developers new to Android read the chapters in order and build all of the sample apps. To summarize all of the ideas learned in the book, chapter 14 puts it all together in two large apps. Furthermore, chapter 15 describes the step-by-step process to publish the app.

InfoQ spoke with the authors about the book and App Inventor programming language platform.

InfoQ: Please share with us why the Hello App Inventor book is useful for new Android programmers.

Hello App Inventor is good for new Android learners because it starts right at the beginning. It doesn’t assume any knowledge and gives step-by-step instructions to enable users to set up App Inventor and produce their first app very quickly. Then after that has been achieved, each chapter introduces new features and components with helpful and fun explanations and examples. Throughout the book we suggest how learners could “take it further” and customize their own apps, rather than limiting themselves to the examples in the book. We’ve written it very much with children and new programmers in mind, so that it develops programming skills in a fun way alongside key coding concepts.

InfoQ: In the book, you describe the App Inventor visual programming language. How is this different from developing Android apps with other programming languages?

The main distinguishing feature of App Inventor is that you create apps using visual blocks. This enables learners to build programs without having to worry about the exact syntax required by a program. It can be really frustrating for new programmers to chase down syntax bugs like a missing semicolon. This way, learners can concentrate on the logic of the program and use programming concepts to build apps quickly.

InfoQ: There are three parts of App Inventor: the App Inventor Designer, the Blocks Editor, and the phone or emulator. Could you please explain how these are useful in creating an Android app?

When you create an app using App Inventor you work back and forth between the three parts and each has an influence on the other. The App Inventor Designer is useful in that it allows the programmer to design the interface of the program separately from its functionality. The Blocks Editor is directly linked into the App Inventor Designer and allows you to choose different events depending on the components that you have selected and named in the Designer. The emulator is helpful in that it allows you to live test the apps as you develop them. As an alternative to the emulator, the programmer can use the AI starter which enables you to use a wireless link to a mobile device so that you can test apps using the full functionality of the device in real time as you code. That last option is the one we really recommend for beginners – it’s very powerful to see your program run on an Android smartphone or tablet right away.

InfoQ: How easy is to use App Inventor for event-driven programming?

It’s very easy – all of the functions of the Android device can be accessed by a series of built-in “Events” blocks that you just drag and snap together. It’s a great way of demonstrating the event-driven paradigm.

InfoQ: How does this book help readers to speed up the process of creating apps?

The book helps readers speed up the process of creating apps firstly with a step-by-step explanation of the set-up and use of the App Inventor interface. Then we gradually introduce different components and build confidence through the examples. The layout of the book is such that each app has a table which lists the components, settings and resources needed for each app, followed by screenshots showing how the blocks are put together to make the app. This means that the user is not flipping back in the book. Whatever you need for an app is provided in the order in which you need it. Also, we have provided the source code and resources (graphics, sounds, etc.) for each app so that, for example, busy teachers who may be using the book can see how a worked example is put together.

InfoQ: Most of the examples given in the book are related to building games. Could you please shed some light on the reason for this?

We’ve tried to make the apps playful and fun – so they’re not really full games until you get towards the last third, but they are examples that can be developed into full games and extended by the reader. In our experience as teachers we have found that learners enjoy building fun apps such as sound boards, drawing apps, magic tricks, homework excuse generators, an inspiration scrapbook, a compass and even a zombie alarm clock! We think that these demonstrate the use of the mobile device features and demonstrate that apps aren’t limited to games and can be used for practical and inspirational purposes too!

InfoQ: How easy is it to build Android apps using App Inventor?

Undoubtedly App Inventor is the simplest way to create Android apps. To build a very simple app – say an “Inspiration App” which enables a user to tap on a photo of someone they find inspirational and use the “text-to-voice” feature of Android to read out great quotes – is really quite straight forward. In fact, we’ve taught App Inventor to children under the age of 10. However, it does have (much like Scratch) “low floors and high ceilings” so it’s easy to get started but has the capacity to build really quite complex apps. In chapter 14 we take the user through the creation of a multi-level game called “Amazing Penguin” which really showcases what App Inventor can do.

InfoQ: How does App Inventor handle issues like app security and battery life?

The purpose of the book is to teach computer science concepts through the engaging medium of visual app development so I would say that these are not issues that we have considered.

InfoQ: Do you have any plans to include more features in your book?

We feel that the features offered in the book are the right ones for its intended market. However, once the book has been out for a time we’ll take a look at the feedback and respond to what readers want. In the last chapter we list the other components which aren’t explained in the book and suggest ways in which the users can build apps using these components. We very much see Hello App Inventor as the beginning of the journey for new app programmers and hope that we provide a good starting point.

About the Book Authors

Paula Beer has been in working in Information Technology and Computing Secondary Education for the past twelve years and prior to that worked in IT project management for the National Health Service and a local newspaper. She particularly enjoys working with visual computer programming languages which appeal to Secondary age students, including Massachusetts Institute of Technology’s (MIT) Scratch and App Inventor.

Carl Matthew Simmons has broad and varied experience in computer science education in schools, colleges and university over the last two decades. A keen programmer and tinkerer, Carl is committed to improving the teaching of Computing in schools so that both children and teachers are inspired and empowered by the possibilities of new technology.

Rate this Article

Adoption
Style

BT