Google says it has a vision of the future of software. And since Google is without doubt one of the most important and innovative computing vendors today, independent developers would do well to pay attention. The question is, which vision should we pay attention to?
The usual story casts Google and Microsoft as polar opposites: Microsoft, the lumbering, old-world behemoth of retail software, and Google, the young, agile champion of cloud computing. In a Google future, Web-based Google Apps would replace traditional office suites, databases, and messaging clients, while cloud storage and services would eliminate the need for on-premise data centers.
To this end, Google is developing Chrome OS, an operating system for netbooks and connected devices that is essentially a browser in a box. Chrome OS supports no locally installed software, and it uses the cloud for its primary storage. Developers who want to write software for these devices will be writing Web apps, pure and simple.
But Chrome OS isn't the only iron Google has in the fire. Android 3.0, previewed at a Google demo event this week, sees the search giant's smartphone OS blossoming into something more closely resembling a general-purpose computing platform -- including many features the Chrome OS folks told us we'd never need. In fact, if developers really want to write software "the Google way," my money's on Android, not Chrome OS.
Chrome OS: Your Father's Platform
Plenty of people have scoffed at Chrome OS before me, but there's nothing fundamentally wrong with running applications in a browser. Web apps work well for countless enterprises today, and certainly for SaaS providers such as Salesforce.com. The idea of browser in a box is hardly objectionable, either -- provided you take a very narrow view of the future of computing.
Chrome OS was conceived at a time when netbooks were the hot devices. The problem was that nobody really knew what a netbook should be. Were they just cheap, underpowered laptops, or were they something else? With Chrome OS, Google created a platform that skirted netbooks' limited processing capabilities by ditching the traditional desktop and making Web connectivity their most important trait.
The trouble is, increasingly the future of computing doesn't look like a netbook. Mobile browsers are already the preferred window to the Web for many users, particularly in Europe and Asia. Tablets are poised to flood the U.S. market beginning later this year. Some users are even browsing the Web using such oddball devices as TV set-top boxes or Amazon.com's Kindle. What all these devices have in common is that trying to shoehorn a traditional Web browser into them is like hammering the proverbial square peg into a round hole.
The classic browser view assumes the content will be narrow and users will scroll up and down to see more. That assumption doesn't hold on devices that can switch the screen from landscape to portrait view at the drop of a hat and where users scroll using finger gestures. Rollovers? Hovering help tips? Custom cursors? None of these tools are available when there's no mouse pointer. And intermittent connectivity, coupled with mobile carriers' tiered pricing, makes lightweight UIs a must for mobile devices, in contrast to the rich Web experiences touted by Chrome OS.
Android Goes Native
A lot of folks don't remember that Steve Jobs initially said the way to create apps for the iPhone would be as Web apps running in the mobile Safari browser. It didn't take long for Apple to admit that wasn't going to cut it and to issue a proper SDK. Today, many of the most popular apps you see in the iTunes Store are purpose-built UIs for individual websites, streamlined to take advantage of the device's smaller screen and native UI widgets. Despite Google's past dismissal of native apps, the Android market is following suit.
Android 3.0 acknowledges this trend by offering a new UI framework aimed at improving user experience on a variety of devices, including a host of redesigned UI widgets and a new way to build modular, multipane UIs. The whole OS is designed from the ground up to support larger screens and more versatile input methods, including USB keyboards.
Another important trend is that chip vendors, ARM and Intel among them, have been steadily improving their mobile offerings by increasing processing speeds and bundling CPU cores with support components, such as GPUs and signal processors. To not take advantage of these components' new features would be a wasted opportunity. Sure enough, Android 3.0 introduces accelerated 2D and 3D graphics and support for multicore processors. Google is working to add similar features to its Chrome browser, but in general Web-based apps don't scale well to take advantage of hardware.
Software Plus Services Redux
What's important to note, though, is that for all Android's advantages, nothing about it precludes the Chrome OS application model, either. Android ships with a browser based on the WebKit rendering engine, the same as Chrome OS. The difference is that while the Chrome OS forces every application into the old-world browser experience -- which has remained essentially unchanged since Netscape 1.1 -- Android allows developers the opportunity to offer users something more, by combining HTML-based content and services with optimized native UIs.
Astute readers will observe that this type of hybrid model is exactly what Microsoft has been touting with its "software plus services" mantra. While Microsoft remains wedded to thick-client applications, however, Google (and Apple) suggest a more lightweight approach, where most of the heavy lifting still happens in the cloud.
Thick client or thin, I think Android's hybrid model will be the real future of software development, and not Chrome OS's browser-centric model. Last week, I lamented that the HTML standard seems to have fallen under the control of the browser vendors. The most unfortunate aspect is the implicit assumption that browsers will be the primary consumers of Web content for the foreseeable future. Efforts such as Tim Berners-Lee's semantic Web strongly suggest that this won't always be the case; the evolution we're seeing in the mobile software market all but proves it.
This article, "Chrome OS vs. Android 3.0: Which platform will prevail?," was originally published at InfoWorld.com. Track the latest developments in programming at InfoWorld.com, and for the latest business technology news, follow InfoWorld.com on Twitter.
This story, "Chrome OS vs. Android 3.0: Which will Survive?" was originally published by InfoWorld.