A friend and I were debating the other day: Is it appropriate to refer to Google's Chrome OS as a platform?
We in the tech press often use the terms "operating system" and "platform" interchangeably, but they aren't always the same thing. Ubuntu is an OS, for example, but it's not really a platform. The platform in that case is Linux.
[ Go deep into HTML5 programming in InfoWorld's "HTML5 Megaguide Deep Dive" PDF how-to report. Then understand the issues surrounding HTML5 today in InfoWorld's HTML5 Deep Dive PDF strategy report. | Learn how to secure your Web browsers in InfoWorld's "Web Browser Security Deep Dive" PDF guide. ]
Chrome OS is also based on the Linux kernel, but as user environments go, it offers much less than Ubuntu does. A Chrome OS device boots directly into a version of the Chrome browser that's virtually indistinguishable from the Mac or Windows version, nothing more. The OS supports no other applications except those that run inside the browser.
Does that mean Chrome OS is just a browser, interchangeable with every other browser? If so, then it hardly seems appropriate to refer to it as a platform, when all it does is show us the same websites and applications we've always used.
But maybe that's not right. More than any other browser vendor, Google has been aggressively evolving Chrome to include features and capabilities that set it apart from the classic Web client. Google is doing more than just developing technology. It's realizing a vision. By the time it's done, the Web browser -- and Chrome in particular -- could resemble a full-fledged application development platform more than ever before.
Web apps reloaded
Want proof? Check out Google's new "Field Guide to Web Applications," published this week by the Chrome developer relations team. It's essentially a crash course in the world of Web app development. What's interesting, however, is that Google's definition of a Web app may not be quite the one you remember.
For starters, the guide makes a clear distinction between Web "apps" and "sites." Unlike simple websites, it says, Web apps have rich UIs and use asynchronous techniques -- if you ain't AJAX, you're out. Furthermore, unlike websites, Web apps "encourage people to interact, engage, and accomplish something, rather than passively view content."
So far so good, but Google goes further. Web apps, it says, take advantage of the full size of the browser windows available to them. Traditional website navigation elements are hidden from view, and browser controls like the Back button are disabled. Instead, Web apps use the same paradigms as desktop applications -- buttons look like buttons, dialog boxes look like dialog boxes, and users can follow traditional UI patterns such as drag-and-drop.
There's more. Web apps, Google says, follow a "primarily" client-side architecture model. That means they handle most of the application logic in the browser itself, rather than making constant trips to an application server. They also work offline (which not even all of Google's services can do). If that wasn't ambitious enough, they use the capabilities of the device they're running on, which means not just the screen and traditional input devices, but also GPS, accelerometers, or any other sensors that might be available.