A few months ago, I got a shiny new Droid phone. I have had a smartphone since starting my new job, mainly because I am on the road a lot and can't use any of my hardware for work to stay in contact with my personal world. It is a luxury, of sorts, but one I expect will be in the hands of a lot of people in the next year or two. I wonder what will happen in high schools when students have their own 3G devices that don't care about the Internet filter?
I was intrigued when Google posted the invitation to
sign up for beta testing of its
AppInventor. I had been perusing apps in the
Market for awhile, disappointed in the lack of (good) productivity tools for teachers. As smartphones become more common, I have to think that we will need more specialized apps for them. Teachers are going to want some different things than dentists or ranchers want. Why not start seeing what we can build now?
I patiently waited for my invite---and it arrived on Friday. I've spent the weekend puttering. I've gotten my phone set up and am working through the
tutorials. There are some very interesting things about the interface. There are two screens that you work with (for the first time, I've wished for dual monitors). The first is within the web browser and looks like this:
Think of this space as a kitchen prep area. It is where you get your ingredients ready. The left sidebar is your pantry. You drag and drop whatever you need to create the app. Does it need buttons to push? A timer? Do you want to integrate sounds and pictures? Make the app use the vibrate function on the phone when the phone is shaken? You place all those things in the middle, using the sidebar on the right to develop their attributes: color, text, name, etc.
Once you have the pieces ready, you assemble the recipe on the next screen. Here is the example from the "Whack-a-Mole" tutorial:

Just like the second part of a recipe instructs the cook which elements to combine, the order, and other steps to make the meal, the Blocks Editor is where you make the final assembly for your app. Along the left sidebar, you have a "drawer" for each piece you created in the first window. Each of those drawers contains actions that can happen with the piece. (One of the drawers is open in the picture above so you can see some of the options.) You drag and drop the actions you need into the main workspace. As you can tell, different actions have different colour codes (e.g. green for "math"). The "whack-a-mole" game has 6 different activities it needs to do: move the mole, display a score, update the score, keep time, reset the score to zero at the end of the game, and vibrate/change score when the mole is touched. Therefore, there are 6 groups of blocks in the work area, each with their own instructions about what to do when any of those things happen.
As you build an app, you can see it on your phone and actually use the app. When you're happy with things, you can use the Package for Phone option from the first screen and load it to your phone. I haven't loaded any of the products from the Tutorials onto my phone yet. I'm not sure that I need a whack-a-mole game; however, since I can use any image I like in place of the mole, there may well be some other heads I would find very therapeutic to squish. :)
You may have noticed that none of this requires any coding skill. In my mind, this is a real plus---especially as I think about how you might use the AppInventor in the classroom. You do have to understand logic arguments or there will be wailing and gnashing of teeth in the Blocks Editor. (So far, I have not built anything from scratch---still using the tutorials with all the training wheels).
Right now, the AppInventor is limited in several ways. You can only build apps that use one screen---and I can already see that for some classroom applications, you're going to need more than one. For example, in a gradebook app, you might want to be able to navigate to screens with class lists, standards, assignment lists, etc. There is apparently a couple of work-arounds for now, but this is a good reminder that the AppInventor is in beta: It's not the finished product. Some patience will be needed for now. Another drawback is that it is very difficult to share your app with anyone. You can't upload it to the Market, for example. Features will be added in time. Currently, this has to be a rather selfish enterprise.
If you've been curious about AppInventor, I would encourage you to give it a try. It's a lot of fun to tinker with and there's something that feeds one's creativity to be on the edge with a tool like this.
What would you like to invent?
Labels: technology