App Inventor for Android Do-it-yourself App Creation David Wolber, Computer Science Talk Outline • • • • • • App Development (iPhone/Android) App Inventor introduction App Inventor at USF Demo: No Texting While Driving App Inventor’s Secret Sauce What you can build David Wolber, Computer Science Smartphone market share David Wolber, Computer Science Market share w/newbies http://blog.nielsen.com/nielsenwire/?p=25901 David Wolber, Computer Science Developing Apps • iPhone – Objective C – High level tools to turn pre-existing content into an app. (e.g., http://www.appmakr.com/learn_more/) • Android – Java – App Inventor David Wolber, Computer Science App Inventor • Blocks language, like plugging in puzzle pieces. • Similar to Lego Mindstorms and Scratch but for phones not robots • “Hypercard” for mobile phones, “electronic napkin” for prototyping apps • Democratizes app building. David Wolber, Computer Science An App Inventor App What do you think this app does? David Wolber, Computer Science The Brief History of App Inventor • Summer 2009 – Hal Abelson of MIT and Google – Pilot program with 10 schools – Public launch July 2010 David Wolber, Computer Science App Inventor at USF • CS 107: Computing, Robots, and the Web. – 4th semester teaching App Inventor – Now 2 sections • Students’ work cited in SF Chronicle,NY Times, Techcrunch, Wired, … • Wolber authored App Inventor tutorials • O’Reilly Video series • Co-authoring book David Wolber, Computer Science Demo: “No Texting While Driving” • Three windows of environment • Change title, show in emulator • Add label, textbox, button for custom response • Respond with a fixed message,test • Use custom response of user • Custom response for mom • Speak it aloud David Wolber, Computer Science Why is it so easy? • No syntax. The blocks language eliminates the need to remember and type code • Everything is right in front of you. Components and functions are in drawers. Just find,drag, and drop. • Events at top level. "When this happens, the app does this" is the correct conceptual model. • High-level components. The app inventor team has built a great library with simplicity the main goal. • Only some blocks plug-in. You can't do things that don't make sense. • Concreteness. Less abstract than many languages. David Wolber, Computer Science Apps students have built • • • • • • Quizzes, surveys, study guides USF restaurant guides Droid Where’s my car? Broadcast Hub Next Muni Games David Wolber, Computer Science What you can build • Educational apps – Including video, images, text-to-speech • • • • • Location-aware apps Games NXT Robot Controllers Web-enabled apps Personal apps David Wolber, Computer Science Demo: Quiz App • • • • Lists for questions,answers Index to walk through questions Next button Checking the answer David Wolber, Computer Science Try It! • Go to: appinventor.googlelabs.com • Register and get started – Download software – Try HelloPurr app and other tutorials – Use phone or emulator • Help-- Wolber’s sites: – appinventor.org – appinventorapi.com (advanced) • Take CS 107 (and send students!) David Wolber, Computer Science David Wolber, Computer Science David Wolber, Computer Science