The promise of a soon-to-be-released Web app development tool kit called Google Web Designer has many in the IT industry making guesses. What kinds of sites will it create? Will it rival Adobe's Web design software? But mobile developers -- especially developers who work with Java -- are asking something else entirely: Will Google use its new tool to solve the signature Android problem, hardware fragmentation?
Unfortunately, Android's success came at a cost, and that cost was fragmentation.
It would be unfair to disparage Google without noting that Android has been very good for the Java community. Five years ago, few college kids were interested in coding a servlet or a browser-based Java applet. The only thing they wanted to do was write Objective-C and create iPhone apps. With no real mobile presence, developer interest in Java was fading fast. Then came Google's Android. It was free, open source, customizable -- and wildly popular. It was also practically tailor-made for a cross-platform programming language like Java. All of a sudden, writing Java code became cool. Unfortunately, Android's success came at a huge cost.
Everywhere at once
Android is deployed on a whole universe of devices -- from expensive tablets like the Samsung Galaxy Tab to low-powered phones like India's Lemon P1. There is no comprehensive documentation on how they all differ, because aggregating such documentation would be virtually impossible. And it's not just a matter of some phones having microscreens while others render in high definition -- some devices don't have user interfaces at all. Writing an app that fits all Android devices? Maybe you can fit a camel through a needle's eye while you're at it.
Conversely, writing an iPhone app for any number of devices is a lead-pipe cinch. There are only a few versions of iOS on the market, and the iPhone and iPad share many of the same features. So it's easy to tell whether the iOS device your app will run on has two video cameras, like the iPhone 4, or lacks a built-in Global Positioning System (GPS) function, like the iPod touch. That makes the development, testing and global deployment of Apple-based mobile applications simple. Apple does consistency well.
HTML5 to the rescue
Hardware fragmentation, the biggest of Google's Android problems, is not a new one. Canadian computer scientist James Gosling, known as the father of Java, spoke about it at TheServerSide's Java Symposium in November 2011. His take on Android? "A world of chaos," he said. And for Google, "managing that chaos is going to be challenge No. 1 for them going forward."
So can the industry face that challenge? Making it easier to develop mobile applications in HTML5 -- the newest, flashiest version of the hypertext markup language used to present webpages -- is a good start. "As more mobile devices and platforms flood the market, we'll see a greater demand for a single method of creating multichannel applications," said Sal Pece, an enterprise software architect at Leone Enterprise Consulting. He’s right.
The industry doesn't benefit from having separate development paths for Android, BlackBerry, Surface and iOS devices. It needs to simplify and consolidate, and the only way to do that is to give developers the ability to deliver applications through a Web browser. How? Get HTML5 to work with CSS3, the latest version of Cascading Style Sheets, which controls webpage layout—then a real conversation can begin. The problem is, hypertext was not intended to access cell phone cameras and GPS sensors, so companies like Google, which are pushing the boundaries of what HTML5 can do, have got to step up their game.
Google needs to offer an HTML5-based development tool set that is consistent, predictable and reliable -- one that developers can use to program all handheld devices that run Android. Fragmentation is the scourge of Android development, but it's not something a talented Bay Area behemoth like Google can't fix.
Here's hoping that the much-anticipated Google Web Designer will shatter the dilemma created in the wake of Android's stunning success.