Thursday, May 19, 2011

Creating an Android App using Google App Inventor and Placing it on the Android Market

Apps are all the rage these days. Many people with smartphones (iPhone, Android, Windows) have downloaded apps that can be used to book flights, check bank balances, listen to music, and complete other tasks. There is an app for almost anything computer related.

Creating apps, however, remains a hurdle for the ordinary, non-techie person. Creating apps for the iPhone, for example, requires a sophisticated understanding of computer language and coding. In addition, Apple's strict gate-keeping of its app-store (e.g. to block spyware or apps that simply copy what other apps can do) means that a beginner experimenting with creating an app for the iPhone risks spending months working on an app that is ultimately rejected by Apple.

Google has stepped in with its Google App Inventor which it says is meant to bring the task of creating apps to the ordinary, non-techie person. In this post, I will share my thoughts regarding my experience using Google App Inventor and some recommendations if you are thinking about creating an app using Google App Inventor.

Step 1: The first step when using Google App Inventor is to get an invitation to the program.
The easiest way is to use your .edu address (if you are an instructor or student). If not, apply anyway. To apply, go this link: http://appinventor.googlelabs.com/about/
It may take a couple of weeks but not too long to get an invitation.

Step 2: If you don't have one already, buy an Android Phone. I would recommend getting a cheap, no contract phone. Currently, the cheapest phone you can get is the LG Optimus http://www.virginmobileusa.com/cell-phones/lg-optimus-v-phone.jsp
Although the price on Virgin Mobile is $199, I bought mine for $140 at Radio Shack. You can even buy it for much cheaper on Ebay: http://bit.ly/lTWMrb

The good thing about this phone: for $25 you get unlimited 3G data (surfing, texting, email) and 300 talking minutes. You can pay when you want and cancel anytime. Virgin has the cheapest plan and Android phone compared to Boost, Cricket, and the prepaid services of the major companies (ATT, Sprint, T-Mobile etc). It has wifi and works perfectly with Google Voice so you can actually just use Google Voice to make free calls without even using your plan minutes.

The negatives: The phone's battery life is poor and Virgin Mobile's 3G network (it piggybacks on the Sprint Network) can be iffy. If you talk a lot, this is not your phone. If you simply want to check email, listen to music, do light surfing, and use/create apps, this is the phone.

Step 3: Follow the tutorial Google App inventor provides on how to learn to create apps. All you will need is a computer (I used the most basic, low-end Compaq laptop) and an Android Phone.

If you don't have a phone, you can use an emulator (a program that runs on your computer and imitates the function of a phone). Unless you have a very fast computer, I would not recommend using the emulator. My computer froze when I attempted to use the emulator and online, many complain that if you don't have the latest machine, you will encounter problems.

Step 4: After completing the tutorial, experiment with creating a simple app. Spend no more than one day doing this. Do not spend weeks creating that dream app for your organization or an app that you think will earn you thousands (if you do, you will regret it).

Step 5: Test your app on your phone and if possible, on another Android Phone.

Step 6: The catch: The reason why you should not spend months creating an app using Google App Inventor is that there is a catch with the program: apps you create it can't be placed on the Android Market.

The whole point of creating an app is placing it on Google's Android Market and Amazon's Android Market where people can easily download it to their phones. Without access to these markets, your app can't be found easily. Of course, there are other alternative app markets but these are not well known to regular users (e.g. Appslib, Slideme)

In addition, there are "gray markets" where pirated apps co-exist with spam apps and apps designed to steal personal information. These gray markets are simply not an option for any organizational creating an app.

A critical limitation: In Google App Inventor, Google has turned off the feature that would allow you to finalize the app and place it on the Android Market. The reason is simple: if Google did not do this, then the market would be flooded with lots of trial, incomplete apps from novices (people already complain that even skilled programmers are flooding app markets with junk apps).

Google App inventor is therefore a trial platform meant to teach you how to create apps. It is not meant for creating apps that can be placed and downloaded through the app market. If you are thinking that you can bypass the app markets and place the app on your website for people to download: that is also not possible. In App Inventor, Google has turned off the feature that could allow you to create a complete app that can be downloaded and used on a phone that is not tied to your Google account. Hence, the only way people can download your app is when they are logged in to your Google account which is impractical for real world app use: you would have to give hundreds of strangers your Google account password which is a probably not a good idea

Step 7:
So how can you get your app on the Android Market if you are not technically proficient:

Alternative A. Some people have designed methods to get around the restriction. I am not sure whether Google has approved these work around methods. Before trying them, I would read the App Inventor terms of service carefully.

There are three articles that discuss these methods in detail. Some are very technical and some are easy to understand. I have not tried these so I can't vouch for them. And since I am not sure what Google's perspectives on these methods, I will wait for an official word from Google before trying them. But I recommend reading them to get an idea of what it entails:

Noobs Guide For Publishing App Inventor Apps To The Android Market


How to Publish a App Inventor Application to the Android Market

Automating conversion of App Inventor apk to Android Market

Alternative B:
I think the best method is to trying programming and coding. First, buy or borrow Beginning Programming with Java For Dummies (this series gives a good basic introduction). This will give you an idea of the programming language behind Android Apps.

After completing that book, move to Android Application Development For Dummies

Although Google App Inventor is good start for those seeking to learn about Android apps, there is currently no good way to create apps besides programming and coding. A business can always outsource the process but for the individual to experiment with into app creation, learning basic programming is simply necessary.