Use Google App Inventor to Create Your Own Android Programs

Update: App Inventor is being integrated into MITs Mobile Learning Center. Don't wait, start using it today with Google! (see the announcement on the Google Research Blog from App Inventor's creator Hal Abelson)

Whether it is for the fun of it, or out of an actual need, everyone can learn programming. Like any skill it requires a lot of practice and perseverance but programming does have a steep learning curve. There have been great leaps in providing the masses with the ability to create their own websites/wikis and with Python my 9th grade math/physics students have learned a lifelong skill, not to mention the powerful 3D Software like Alice and Blender (such an amazing time to be alive)!

Yet, with an ever growing population of mobile phones and the likely true prediction that they will replace most of what we do on a laptop, there is a need for those who can program for the mobile platform as well. Our phones are with us 24/7 and there are already so many great applications out there, but sometimes you have a great idea or need for something new. Google App Inventor is free and now open to everyone and the interface and tutorials are easy to follow in the way you have come to expect from Google.

Some of you might have reasons why you might skip over this post:
  • "I don't have the time to learn to program."
  • "I don't have an Android phone"
  • "I don't have an idea of what I would want to make"
Let me say that I was able to get an app up and running in less than 30 minutes. It is the goal of this blog to share with you amazing technology in a way that you can get started using it tomorrow (Geogebra, Python, Audacity, to name a few examples). Even though I do have an Android phone, for those of you who don't, you can use the built in emulator to test your apps on the computer. If you still think that there is nothing you would want to make, keep in mind that every one says the same thing when they start to create. Whether it is art, writing, or programming, the important thing is to just get in there and start, then when you see your potential you will come up with many more ideas.

In order to start making your apps:

  1. Setup your computer (download the software and make sure JAVA is updated).
  2. If you are using a phone:
  3. If you are not using a phone use the built in emulator to make your first app
I am going to let Google show you how to make the first app in which they use a meowing cat as their Hello World app (to each their own) as they do an excellent job of using pictures and descriptions to walk through the steps and I see no reason to try and do it better.

While creating this app, you will find a WYSIWIG Drag and Drop interface that makes building and designing an app very simple. The interface is a simpler implementation of the iPhone app designer in my opinion.

On the left are all of the commands and sensors that you can use in your app. This ranges from simple buttons and pictures to more sophisticated sensors like the Barcode scanner, videos, messaging, and even the ability to interface with their VEX Robots

On the right are customization features like color, layout, and other aesthetic features.

To make all of these components work together, they need logic and connections that determine what happens when you push on a button, turn the phone 90 degrees, etc. The actual programming occurs in the Block Editor where you connect conditions to methods (fancy name for a function) and make the magic happen. This setup is very similar to the Alice software environment in which kids from elementary school and beyond can make 3D JAVA like programs. 

There are tutorials from the basics to more advanced, and while one cannot do every possible thing that they could do if they were to program the application in the full Android SDK, it is powerful enough to make some very useful apps for class or general productivity. Not to mention that our students are understanding the basics of computer science which is applicable to any programming language and situation.

The App Inventor community is growing and is strongly committed to it's success. I think educators see how powerful it is for people to be able to create a useful or fun app without much programming experience. Keep in mind that students are still learning quite a bit about logic and algorithms, App Inventor just makes the syntax a bit more kinesthetic/visual (if only they all could be).

There are a few new resources out that I would like to highlight to get you started:
  1. The Official App Inventor Tutorials - The link may change once it moves over to MIT but the instructions will show you how to make a quiz app, a don't lose your car app, and more.
  2. Google App Inventor Book - I have reviewed most of the books out there on App Inventor and I enjoyed this one the most for its clarity and use of visuals. While App Inventor is colorful and easy to use, it is not just fun but a powerful development tool. The author delves right into the parts of App Inventor that would be useful for making professional and powerful apps like media, databases, sensors, game logic and more.
  3. My colleague Michelle Hutton (former president of the CSTA) spent her time at Google developing tutorials and curriculum to get you and your students going on App Inventor.
Enjoy and if you have created a cool app using the App Inventor be sure to leave a comment about it to inspire the rest of us!

Subscribe to BrokenAirplane and keep up with all of the latest education and technology resources!