What is App Inventor? Ask Hal Abelson

Hal Abelson, the MIT professor who took a sabbatical at Google to develop App Inventor, wrote a recent piece for EDUCAUSE Quarterly. Not surprisingly, Hal’s article deftly characterizes the great potential of App Inventor in education and society. Here’s an excerpt that gets to the gist of App Inventor’s unique educational value:

One of my favorite App Inventor examples comes from an introductory computer appreciation course at Wellesley (one of the Google-sponsored pilots). The instructors, Takis Metaxas and Eni Mustafaraj, had the idea that students should learn about the societal implications of information systems by building some of these systems and seeing first-hand the choices involved. In one example, the class created a polling application. As people walked around the Wellesley campus, they could pull out their phones and see that there was a new poll — for example, “Who is your favorite female singer?” — and select and send their responses, which were recorded by a web server.

At the next class, Eni pulled up the web page and showed the results. Then she pulled up the database and said, “and here’s how you all voted.” The students were startled. In the “private” experience of using their phones to answer a poll, they’d simply not appreciated that:

  • The polling system could keep track of their identities along with their votes.
  • This was a choice made by the system designer.
  • They could experiment with that choice implementing their own variations of the polling system.

As a topic for introductory computing, this goes beyond the issues involved in learning about programming or computational thinking. It gives students direct experience with a technology — online polling — that has major social impact and lets them look through the eyes of the system implementer. By creating their own variations, students explore the design choices and grapple with the implications, social as well as technical. The next time these students encounter polling systems or proposals for electronic voting, they’ll be asking some good questions as informed citizens.

 

High School Girls and the Technovation Challenge

How do we get more women in computer science? App Inventor may be part of the answer.

This year’s Iridescent Technovation Challenge has expanded to NYC and Socal along with the Bay area. This is a program where high school girls spend two nights a week learning app development and entrepreneurship, aided by college students and young professionals. NYC’s program was featured in a PC Magazine article. Three USF students– Jenny Horowitz, Julia Cahill, and Melody Garcia–  are instructors at the San Francisco Challenge taking place at Google’s SF offices.

Girls at the NYC Technovation Challenge

The nation-wide finals are May 21 in the Bay Area. I’ll be there!

 

Google’s Mark Friedman at USF’s CS Night

App Inventor Director Mark Friedman gave a great keynote talk at USF’s CS Night.

Our CS 107 students– non-cs majors with no prior programming experience– presented and demo’d their Android app projects alongside the seniors and MS students.

CS 107 students Jose Malave and Crystal Ferguson show their app

CS 107 student and filmmaker Angelo Taylor

CS 107 student Angelo Taylor documented the night with this short film, and librarian supreme Shawn Calhoun contributed these photos

 

USF App Inventor Student in Wired Magazine

Clive Thompson of Wired Magazine featured a USF student project in his article, Coding for the Masses. The article features Daniel Finnegan and his No Text While Driving app.

You can check out a refined version of the app as a tutorial on the App Inventor site, and check out  a screencast of how to build it on my App Inventor youtube list.

Publishing App Inventor in the Market

The cat is out of the bag. There’s  a primer out on how to publish an App Inventor app in the Android market, via androidworld.it. It takes some work using the Java SDK and some command-line tools but it doesn’t look to awful.

The cat being out of the bag is big news and could help with the next step– one-click publishing directly from App Inventor.

QR Codes anyone can download

When you package an app in App Inventor and choose “Show Barcode” it generates a QR code that you can use to allow others to install your app. Unfortunately, people can only install it if they are App Inventor users. This is especially problematic while App Inventor is in its invite-required mode.

There is a work-around. This screencast demonstrates a process for downloading an android executable (.apk) from app inventor, getting it on the cloud, and generating a QR code that others can download.

Computing Distance from GPS points in App Inventor

With App Inventor, you can create apps that use the LocationSensor to get the phone’s GPS coordinates. Some of my students have been writing apps to perform such public services as finding the closest pub from their current location. To compute this, they need to convert to GPS lat/long coordinates into a distance in miles.

To help them, I created these quick and dirty screencasts demonstrating how to find a formula on the web then convert it into an app inventor program:

PART II

Setting the Icon and Publishing an App

Peter Evers of Amsterdam and  MobileGuru.nl has a great post describing how to change the icon of your App Inventor app. He also provides info for publishing an app on GetJar, an alternative to the Android Market.

His app is an Android version of the on-line magazine “overdose”– you can install it at: http://www.getjar.com/mobile/43526/overdose

Idea Transformation, App Inventor, and State Farm Insurance

How many great ideas get left as just that, some jotted down notes on a dirty napkin in an even dirtier bar? Especially with software and mobile app ideas, most get dropped with, “if we only knew a programmer.”

App Inventor changes things by lowering the barrier to app development– just about anyone, with little or no training, can take an idea and build a working Android prototype for it. Even if it’s not the most refined, complete, or beautiful app,  an interactive app can convey an app idea better than a power-point presentation or dirty napkin.

USF Student Daniel Finnegan in the App Inventor class. Photo by Shawn Calhoun (http://www.flickr.com/photos/shawncalhoun/4622481338/in/set-72157623971497647/)

Here’s an example. Daniel Finnegan was a student in my App Inventor class last spring. Daniel is a really sharp, creative guy, a creative writing major who I’m sure spends more time thinking about the human condition than cell phone apps. But with a few hours focusing on app development he came up with a great idea. He had read about the dangers of texting while driving– incredibly, something like 28% of accidents involve a phone. For his final project, he came up with an app that tries to help by eliminating your urge to text back. The app, which Daniel coined, “No Text While Driving,”  auto-responds to any arriving text with a response message such as, “I’m driving right now, I’ll text you back later.”  You turn it on when you start your drive and all your friends and colleagues know why you’re not there for them. The app even lets the user change the response for different situations—say if you’re going into a meeting or a movie– and we’ve written versions that speak texts aloud and even send the driver’s current location as part of the auto-response.

Daniel’s idea struck a chord with people and when App Inventor launched in July,  Daniel’s app was cited on the App Inventor About page. Because the app was also a nice example of the powerful Android features you can program with App Inventor,  I also developed it as a tutorial for the App Inventor site, and created a YouTube screencast on how to build it.

A few days ago, we were excited to see that State Farm Insurance had launched “On the Move”, an Android app that is quite similar to  “No Text While Driving”. State Farm distributes it free to anyone as part of State Farm’s updated Pocket Agent® for Android™ application.

Daniel Finnegan's "No Text While Driving" app

“It is our hope that this widget will prevent crashes and save lives,” said Laurette Stiles, Strategic Resources vice president at State Farm. “This new service will help drivers manage the temptation to read or respond to text messages when they are behind the wheel. We wanted to make this widget available free-of-charge as just one of the ways we’re working to keep our roadways safe for drivers.”

I don’t know that the State Farm app was inspired  by “No Text While Driving”, but its quite possible. In pondering this, I realized the incredible nature of it–an app created in an introductory computer science course,  by an English major who had never programmed a computer, possibly being the inspiration for a now mass-produced piece of software! And one that saves lives! As soon as I finish this blog, I have to email USF President Stephen Privett!

If Daniel had written a term paper on his idea,  I wouldn’t be blogging about it possibly being the inspiration for the State Farm app. But because App Inventor made it possible for Daniel to transform his idea into something tangible–well, virtual– an interactive app, it is a distinct possibility.

So cheers to Daniel, and to the App Inventor team– you have built a tool that opens up app development to a huge new pool of creative people!

Success Story from Helsinki

You’ve got a real-world problem that could be solved with software, but none of the pre-canned solutions you find quite fits your particular needs. Wouldn’t it be great if you could take something that almost fit and tailor it? And wouldn’t it be great if you could do it within hours and without hiring a programmer. This is the promise of App Inventor, and the promise of an open source where the “source” is actually decipherable.

I recently received a series of emails from a couple who needed an SMS Texting broadcast hub to organize a community event. They tailored one of the App Inventor tutorials I wrote, BroadcastHub, to solve the problem. From Myles Byrne:

My wife and i are respectively a cancer scientist and a bioinformatician who moved from San Francisco to Helsinki last year. We’re working extracurricularly with a local arts organization to try to lift a central neighborhood to a more creative and inclusive plane, especially regarding the growing immigrant population. So there is at least some relatedness to the mission of FrontlineSMS.

So we’re organizing events from now till 2012, when Helsinki is World Design Capital. The first such event is Saturday, and we’re trying to get  broadcastHub working in this way:

– a cell number on an Android (HTC wildfire) receives SMS’s from people who want to be part of the event
– each SMS receives an auto-response reply
– each number that sent in an SMS receives several more messages over the next few days – simple text broadcasts

I was planning to learn App Inventor at leisure. But hours of searching for commercial SMS providers doing what broadcastHub does (for Helsinki users) turned up nothing.

A few days later I received this:

Dave,

Our community raising event in Helsinki went off really well. About 1000 people came.

(almost entirely in Finnish)
http://www.facebook.com/#!/profile.php?id=100001436757236

We needed SMS broadcast capabilty for up to a thousand people over a few days. We looked at FrontlineSMS, Clickatell, and others – nothing had the right fit. Then I got my invitation to App Inventor, looked at the broadcasterHub tutorial, and realized with a shock this was the perfect solution. In a few hours I was able to modify the broadcastHub tutorial app to fit exactly our needs:

Any SMS’s sent to my phone number with the app running received an autoreply: “Text ‘beatroot’ to this number to sign up for our message list.” Any numbers sending an SMS to me containing ‘beatroot’ or ‘Beatroot’ were added to the broadcast list. But because our event was in Helsinki, the broadcast messages needed to be in Finnish. So instead of writing them myself, I told the app to take any messages sent to me from Heta and Jon, the Finnish organizers of the event, and automatically re-send it to all the numbers on the broadcast list.

It really was incredibly fast and easy to modify the broadcastHub app to do only what we needed. The app worked perfectly and can be easily re-used, modified, and shared. Having the capabilities of an android phone plugged into a graphical programming environment is an amazing experience. You’re not just learning logic, you’re learning it in the context of the social world connected to your phone.

Thanks David and Google for bringing the next level, again.
We will be using your tools for more ambitious (but still local!) projects in the near future.

Cheers,
– Myles Byrne
Heta Kuchka
Jon Sundell
: Punajuuri (Beatroot)
Helsinki, Finland

Check out their event page at http://www.punajuuri.org/

and you’ll see the invitation for people to join their broadcast list:

Elävä musiikki alkaa viiskulmasta ja jatkuu
Pursimiehenkatua pitkin kankurinkadun kulmaan.

Send “Punajuuri” SMS to +358 50 415 6799 to get live SMS updates

Cheers to Myles and team, and cheers to the App Inventor team!