Login

Google App Inventor: Non-Developers Can Easily Create Android Apps

Google recently released a beta version of their latest endeavor, the App Inventor, which enables everyday Joes with absolutely no developing experience to create their very own Google Android apps. According to Google, their system is so easy because instead of writing code, users are actually visually designing the way their app looks using blocks to specify the app’s behavior.

So far the most popular type of apps to be built by novice developers are games, though the App Inventor doesn’t limit those unfamiliar with the developing process to just games. App Inventor users can also build informative and other types of educational apps. For example, teenagers can create apps that help their classmates study for tests, and with the Android’s text-to-speech functionality, the phone can ask the questions out loud.

Google and Apple seem to be in a fierce competition to win the hearts of developers (and non-developers alike), but with the addition of their new App Inventor, Google may take a slight edge over Apple. Not only is the Android Market an open platform for developers, but many are now speculating that we’re going to see a wide array of specialized apps built by non-developers. Pete Cashmore over at Mashable believes that this expansion in the number of apps available for Android may come at the cost of quality. “We’ll see thousands of new Android apps,” Cashmore wrote, “but will they be of a cookie cutter nature, offering very little value?”

When asked why they created the App Inventor, Google cited the fundamental shift in the way people are using their mobile devices. “Smartphones, including Android devices and the iPhone, help provide users with a fully-featured Internet in their pocket. As people become more comfortable accessing the mobile web, we want to help them create mobile services and applications that allow them to engage the mobile space as developers regardless of their computer programming knowledge,” Google said. “App Inventor for Android is an experimental program that allows us to do just that. For educators, App Inventor has become a powerful tool for exposing students to the world of computer programming and helping them become creators of technology rather than just consumers of technology.”

Deconstructing the Inventor

It appears as if the Android platform will never really be done; it’s a constantly evolving software and hardware environment with only one recognizable constant: innovation. Given this, it wasn’t too shocking that Google launched their new development environment for Android — aka the App Inventor.

Some have complained that the Inventor looks a little too much like Legos, but the bright colors and simplistic design make the Inventor less intimidating and easier to follow. Let’s start with the basics. There are two main pieces to the App Inventor development platform, with the first being a browser-based tool featuring a screen builder. This particular tool enables users to create a sort of inventory of screens and widgets that work together to graphically construct an application. According to Linux Magazine, this is a partial list of the available widgets that can be “drag-n-dropped” to a screen in the App Inventor:

Once an element is added to the screen using the tool, the screen of the phone is immediately updated. In other words, it’s updated in real-time. Technically what the Google App Inventor is capable of isn’t really coding, but the Inventor’s version of coding is accomplished in the Android Blocks application, which must be installed onto the user’s desktop or laptop computer. Essentially, this is the Lego-like piece, but as pictured here, the actual workspace where coding logic blocks are placed is clear:

and the blocks are actually selected from one of two available palettes.

The first palette is “built-in blocks,” which include items such as variables, strings, math, control logic, and colors, among others.

The second palette is “My Blocks,” and for each element added, there is a selectable entry with “events” and “methods” available, though it depends on the element chosen.

{mospagebreak title=Types of Apps}

Now that you have a pretty basic understanding of how Google’s App Inventor is set up, it’s easy to see how simple it is to use. Google wants to remind you, however, that the program’s simplicity has very little to do with its impressive amount of power. This is important to know, because some developers believe that opening up the developing power to the masses will lead to lower-quality applications – and I can’t 100% disagree with that concern.

According to Google, apps built by novice developers can store data created by users in a database. So say for example that you’re a teacher and you have a student that misses your weekly quiz. According to Google, you can easily create a make-a-quiz app, enabling you to save questions in a quiz for your student to answer at a later time.

Google also points out some more ways that the App Inventor can benefit you. Because the App Inventor features a GPS-location sensor, users can build apps that know where they are. Meaning, they can build apps that:

Help them remember where they parked their car.

Show the location of their friends at large venues, concerts, clubs, etc.

Provide a custom tour of their new home, school, place of business, etc.

According to Google, users can also write apps that use the phone features of an Android phone by:

Writing an app that periodically texts "missing you" to family and other loved ones.

Writing a "No Text While Driving" app that responds to all texts automatically with a text that reads "Sorry, I’m driving and will contact you later.”

Creating an app that reads aloud incoming texts while you’re driving.

Also, if you know how to write web apps, you can use App Inventor to write Android apps that talk to your favorite web sites, such as Amazon and Twitter.

Those interested in using the new Google App Inventor to create multi-screen apps with the environment should know that this particular function is not yet available. Google states that if the layouts of the screens you want are the same, you can do things like switch the text and images of components to make it look like a new screen has appeared.

And for those who have already made the assumption that the App Inventor is incapable of more complex apps — think again. True, the App Inventor does have limitations, but it can be used to build complex apps. According to Google, the language provides programming constructs like foreach, while, and if-else, in block form. High-level components and operation blocks do exist for some Android functionality, though not all of it. According to Google, there are mechanisms for communicating with web services and databases and a component development kit is being considered, which will enable programmers to build App Inventor components with Java and expand the functionality of App Inventor.

Other Information to Know

As mentioned previously, Google’s App Inventor for Android is currently in Beta, and interested parties must fill out an application if they want to be one of the chosen few granted early privileges to Google’s latest endeavor. The application asks some basic questions and can be filled out online. Google will be choosing users in the coming weeks.

Google App Inventor users who do not have Android phones can still use the App Inventor, which includes an emulator for the Android. Obviously, the emulator can’t do everything the phone can, but users can create apps, test them out, and then install them on a phone later. Google admits that the App Inventor’s interface to the emulator isn’t quite 100 percent, but they’re working on improving it. For the time being it’s serviceable and enables users to develop apps without a phone. For more information on this, check out the Building Apps with the Emulator page at the Google App Inventor site.

According to the Inventor’s frequently asked questions page, here are some other things you should know about Google’s App Inventor for Android before jumping in:

Currently there are technical limitations to being able to upload an App Inventor app to the Android Market, but Google is evaluating the best way to integrate with the Market.

As of right now, it’s not possible to bring in multiple authors on a single project. The only way to work together is to share source code. This entails downloading the source and sending the zip file to your colleague, who can then upload the source from the projects page.

You can connect App Inventor apps to the web using the TinyWebDB component, which can communicate with any service that conforms to a particular protocol.