Building Phone Apps

On Sunday, January 17, about a dozen kids learned the basics of coding by building some Android phone apps. We met in a computer lab in the Julian Center at DePauw, and worked through some of the tutorial apps in the App Inventor program from MIT (

Screen Shot 2016-02-05 at 10.55.57 AM
Alice Howard’s “Magic 8-Ball”, which randomly says “Yes” or “No” when shaken

The system is programmed through a web browser, where you can build how the app screen will look (with buttons, labels, and connections to various phone sensors), then shift over to a “blocks” environment where the actions can be hooked up. The first example involved responding to the phone being shaken by sending some text to the speech synthesizer (such as, “Hey, stop shaking me!”).

While the app was being developed in the browser, an Android device (some kids brought phones, and the CS department loaned a bunch of tablets for the afternoon) was attached to the session and allowed immediate live testing of the program.

Screen Shot 2016-02-05 at 11.03.52 AM The second app we built was like a virtual billiards table. It drew some balls on the screen, and with a flick of the finger they could be launched to bounce around.

The App Inventor website allows sharing the projects that are created, and they can be turned into stand-alone apps to download to a friend’s phone. At the end of the hour, a bunch of the kids were excited about being able to continue working on their app ideas at home. Alice turned her random yes/no app into one that could generate a random story idea for a Doctor Who episode (example: “The Doctor and Rose battle the Daleks in New New York, accompanied by Captain Jack.”), and then worked with a friend to build a pair of apps that told each other knock-knock jokes (using a speech recognizer as well as the speech synthesis)!

App Inventor is related to the Scratch environment, which can be used to control Arduino boards, so it’s likely that there will be more sessions like this in the future.

Leave a Reply

Your email address will not be published. Required fields are marked *