App Inventor

With this new online program, you don’t have to be a coding whiz to create fun mobile apps!


In 2008 MIT professor Hal Abelson was on sabbatical at Google in Mountain View California. Professor Abelson had already spent decades developing engaging ways for kids and other non-computer scientists to learn how to program and Google had already spent several years developing Android software for mobile devices. But developing even a basic mobile application on Android was hard work, out of reach for just about anyone other than an experienced software engineer. Professor Abelson had an idea: create a block-based programming environment that would enable non-computer scientists develop mobile applications for Android phones.

Set Up

Getting started with App Inventor is a free and easy process. Creating an application is done online in a web browser (at and apps can be tested directly on your Android device. All you will need is to download the MIT AI2 Companion App and a QR scanner onto your device (both free). As you develop your app, you can scan the QR code that App Inventor generates for it onto your device to see how it works. If you do not have access to an Android device, you can download the phone emulator onto your computer (a pretend phone), and test your app through the emulator.

An Example

Designing a mobile application with App Inventor involves two main phases. First, one needs to decide what components to include in the application and where to place them. Next, one must program each component.

For example, perhaps I would like to create a somewhat silly application in which every time the user touches an image on the screen, the phone emits a funny sound. I need a component that is “clickable”, and perhaps another component that provides brief instructions for the user. Of course I would also need a component that can store a sound. Each component that I drag onto the Viewer screen can be thought of as containing a hidden box of commands that I can later use to code it, and part of coding with App Inventor is familiarizing oneself with which component can be programmed to do what. For instance, a “Button” can be programmed to respond to a click, however a “Label” cannot. A “Sound” component is the only component that can be used to store a sound.

Once I have designed the opening screen of my application, I can switch from the Designer window to the Blocks window, and choose which component to program first. Each component that I dragged into the Viewer on the Designer window is listed in the margin of the Blocks window. I select the component that I want to program first, and connect the blocks of code that tell that component what to do. In this case, I might first select the Button component, and use the blocks of code associated with it to follow instructions that translate to “when clicked, call the sound component and have it play the sound”. This is quickly done by connecting two blocks of code. Of course I would need to already have the sound loaded onto the sound component in order for my application to function properly.


If you are thinking that clicking a button and hearing a sound may be fun, but not particularly useful, you will be glad to hear that App Inventor can do much more. In fact, App Inventor consists of an impressive range of blocks, from speech to text, to drawing and animation, sensors, and even databases. Interested in controlling your most recent Lego Mindstorm creation with your phone? There are blocks for that. How about a mobile app that connects to an Arduino project? This is possible as well. And what if all of the devices at your house are made by Apple? App Inventor is now available for trial on iOS machines, with a more complete rollout likely to happen by mid 2019

Ready to give it a try? Check out the App Inventor and click on the Create button to get started on your first app!

Learn More

MIT App Inventor

Companion App to test Apps on Android device

Google app inventor for Android

Google do-it-yourself app creation

App Inventor for Android

Android abelson

App inventor coming soon for iPhone


  • Jennifer Newell

    Jennifer is a math teacher by training, with an interest in computer science. While working on a computational thinking project at Google, she dived a bit deeper into CS education. Jennifer now teaches computer science to both high school and elementary school students, in addition to mathematics.

Also In The June 2019 Issue

Meet your new favorite robot pal and learn how to code in JavaScript.

A Python coding challenge to create exciting labyrinths at the click of a button!

With this new online program, you don’t have to be a coding whiz to create fun mobile apps!

Spend those lazy summer days curled up with great stories about science & tech.

Learn the secret to creating huge programs without getting lost in thousands of lines of code.

A wacky story about connectivity, Danish kings, and the need for good dentists.

A simple, fun Python tutorial that’ll get you drawing shapes all over the screen.

How Microsoft’s funny little assistant led to the AI we know and love today.

In the future, will computers be able to do everything? Even create an entire universe?

Follow this detailed step-by-step tutorial to create dazzling, colourful flowers out of geometric patterns.

Download some paper templates and bring your Minecraft creations into the real world.

Battery history is a critical part of the history of technology. Without stored electricity, there would be no electronics.

Mix some math and some code to create dynamic games with realistic physics.

Links from the bottom of all the June 2019 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about science and technology for June 2019.

Interested but not ready to subscribe? Sign-up for our free monthly email newsletter with curated site content and a new issue email announcement that we send every two months.

No, thanks!