You, too, can be an app developer

I wrote this post for our E2BU project. Feel free to check out the site and the webinars we’re producing over there. http://www.e2bu.com

This week, Google announced the App Inventor for Android, a “visual programming language” that will let the uninitiated, Java-illiterate public create their very own Android apps. Skepticism and enthusiasm abound in near equal measure, but from where I sit, the potential implications for the app market and for book apps in particular are tremendous.

Though the actual program is not yet publicly available, anyone interested can request an invitation. In the same way that word processing software brought desktop publishing to the masses and visual html editors enabled anyone to create a webpage, the App Inventor promises to level the app playing field:  “To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge.” More experience, knowledge, and know-how will naturally mean the experts create more sophisticated apps, but easy access and low barriers to entry can drive a great deal of creativity and bring new people (and their talents and energy) to the market who would have otherwise thought app development too difficult.

The GeoCities problem

In 1995, GeoCities (followed by other services like Angelfire and Tripod) came along and allowed everyone – kids, parents, teachers, merchants, collectors, your neighbor with the Elvis obsession – to create their own web pages. And they were terrible. Gaudy, awful, un-navigable things filled with animated gifs, MIDIs, and Comic Sans. (If you miss the good old days, you can visit Wonder-Tonic and turn any website into a late ‘90s wonderland.)

Anyone could (and did) make poorly designed websites. But it was exciting, and a new generation of web-savvy kids discovered they could make something cool. I’m willing to bet that a good chunk of our most talented web designers today started at www.geocities.com/SiliconValley.

So, the prospect of anyone and everyone making an app now is pretty darn exciting. Questions remain: Will they be terrible? And will newly-empowered amateur app developers fill the Android Marketplace with their crap? More than likely, the answer to both is yes. The real test will be what happens in the long run.

Over at Buzz Machine, Jeff Jarvis is one of the excited ones:

Will App Inventor yield lots of crappy apps? Of course, it will, just as Quark enabled sinful design and Blogger wasted bits. That is true of all such technologies that lower the barrier to entry to a former domain of priests. That’s precisely what the printing press did. As much as the web breaks down priesthoods, it created new ones. Developers are merely the latest. They say that mortals can’t do what they do. But what if they could? What if they could translate a thought not just into words and design but into action?

Quite a tall order for an unproven program. I would argue that the App Inventor is not likely to replace well-educated, skilled and experienced developers; nor should it. Not everyone wants or needs to be a developer. But maybe everyone should be able to give it a shot.

The WordPress solution

Similar to the Scratch programming language, App Inventor is built on the foundation of the OpenBlocks Java Library.  It has been in development for over a year and is being used with middle and high school students and undergraduates without a programming background.

Early indications are that the App Inventor is not going to magically allow grandmothers the world over to create beautiful, functional, complex applications. From the TechCrunch review:

I spent around 90 minutes this morning cranking away on a few test applications in App Inventor, and while I’m very excited about it, this is not going to be a walk in the park for “ordinary people”. Unless you’re looking to make an extremely basic application — think “Hello World” — you’re going to have to read through the documentation, and in some cases even the existing tutorials won’t be enough. That said, this will be absolutely perfect for the classroom environment for which it’s been tested in. The learning curve is not trivial, but this isn’t something that will take years to master, either.

What WordPress does for blogging and website development today, Google’s new experiment may be able to do for app development. By creating an easy on-ramp, they’ll bring new talent to the development space. By providing design templates and a structured development process, they’ll help people create apps that don’t entirely suck. The App Inventor is open source; so we’ll be seeing plenty of extensions and updates from more experienced developers who want to see it succeed and who want to see what it can do.  It will encourage (and sometime even require) people to learn more. The more you know, the more you’ll be able to do with it and the better the app you’ll be able to create.

Curation in the Android Marketplace will undoubtedly become more important, but as more apps enter the space and more people use and rate those apps, quality content will rise to the top more quickly. And so authors and small publishers may have an opportunity here to create simple but well put-together apps for their content without the expense of an experienced developer.

Or they’ll make one, and it will suck. And then they’ll realize how much they really do need a good developer. We’ll have to wait and see, but for my part, I’m excited.

My first-semester in college, I took Introduction to Computer Science. We had to program Tetris in Java, and my Tetris was a thing of conditional-statement beauty. I have since forgotten everything I learned (about Java, in any case).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s