randomly moving mole. But instead of using the image of the mole in the tutorial,
you can customize it so that you mash a picture of your brother or sister—something
that only you might want to do, but who cares? In Chapter 8, you’ll write a quiz app
that asks questions about US Presidents, but you can easily customize it to ask ques‐
tions on any topic you want, from your favorite music to your family history.
Develop complete apps
App Inventor is not just a prototyping system or an interface designer—you can build
complete, general-purpose apps. The language provides all the fundamental pro‐
gramming building blocks like loops and conditionals, but in block form.
Teach and learn
Whether you’re at a middle school, high school, or university, App Inventor is a great
teaching and learning tool. It’s great for computer science, but is also a terrific tool for
math, physics, entrepreneurship, and just about any other discipline. The key is that
you learn by creating. Instead of memorizing formulas, you build an app to, say, find
the closest hospital (or mall!). Instead of writing an essay on Black History, you create
a multimedia quiz app with video and speeches from Martin Luther King, Jr., and
Malcolm X. We think App Inventor, and this book, can be a great tool in classes
throughout the curriculum.
Why App Inventor Works
Most people say that App Inventor is easy to use because of its visual, drag-and-drop
interface. But what does this mean? Why is App Inventor so easy to use?
You don’t have to remember and type instructions
One of the biggest sources of frustration for beginning programmers comes from
typing in code and having the computer spit back indecipherable error messages.
This frustration discourages many beginners from programming before they even get
to the more fun, logical problem solving.
You choose from a set of options
With App Inventor, the components and blocks are organized into drawers that are
readily available to you. You program by finding a block—which helps specify the
functionality you want to build—and dragging it into the program. You don’t have to
remember what the instructions are or refer to a programming manual.
Only some blocks plug in to each other
Instead of chastising programmers with cryptic error messages, App Inventor’s
blocks language restricts you from making many mistakes in the first place. For
instance, if a function block expects a number, you can’t plug in text. This doesn’t
eliminate all errors, but it sure helps.
You deal with events directly
Traditional programming languages were designed when programming was like
working with recipes, or sets of instructions. But with graphical interfaces, and
Preface | xv