Google’s Chrome and RIAs: A Response to Flash and Silverlight?

In advance of its tenth anniversary as a company, Google this week launched a beta version of its first Web browser, Chrome — a move widely perceived as an assault on Microsoft’s dominant Internet Explorer browser. But Google’s motivation for developing its own browser may be more a response to cross-browser runtime platforms like Flash and Silverlight than to other Web browsers.

While the company’s launch event touted many of Chrome’s new features — its streamlined “chrome free” look, integrated search and navigation, multi-process architecture — a principal goal underlying Google’s entrance into the browser market is to cement the browser’s role as a platform for rich Internet applications (RIAs). A number of commentators — including Ryan Stewart, Nick Carr, and Wharton’s Kevin Werbach — noted that Google’s concern isn’t on competing in the browser market per se but, rather, in positioning the Web browser has a platform for the next generation of Web-based applications. As Sundar Pichai, a Google vice president of product management, wrote on the company’s blog, “We realized that the web had evolved from mainly simple text pages to rich, interactive applications and that we needed to completely rethink the browser.”

While Google’s ultimate aim may be to use the browser — as it does its search site — to collect information about users’ online behavior to support its advertising business, the more immediate goal is to assure that the browser is a robust development platform for Web-based applications using JavaScript to code to the browser’s document object model (DOM) and AJAX-based communication techniques.

At the launch event for Chrome, Pichai stressed that Google chose WebKit as the HTML engine for its compatibility with existing web sites. “Wanted to make sure we didn’t create a headache for developers,” Pichai explained in response to concerns about browser compatibility. “If your site works in Safari, it works in Chrome” since the two browsers use the same WebKit HTML engine

In regard to JavaScript, Google choose a different path, however. The Google team “rewrote a completely new JavaScript engine from scratch for Chrome,” according to Pichai. The factor driving the JavaScript overhaul was performance. “Most Web developers don’t use JavaScript a lot because it doesn’t run that fast in the browser,” Pichai stated.

Think about that last statement for a moment. Is performance the major barrier to using JavaScript to build enterprise-scale Web applications? I suspect that for most developers cross-browser compatibility is a larger impediment than raw performance.

The problem with the JavaScript/DOM/AJAX approach to RIAs is that your code has to run consistently in a diverse set of browser environments. This is precisely the problem that cross-browser runtime environments like Flash and Silverlight are designed to solve. They provide a development environment that is rich enough to build meaningful applications while remaining stable and consistent across different operating systems and browsers.

I’ve only used Chrome intermittently for a few days. While I’m impressed with its speed, its uncluttered interface, and convenient additions like the Omnibox and the handy start page, I’ve also encountered a number of compatibility issues. Adding a new application to my Facebook profile — which worked fine in Firefox — failed without any notice in Chrome. When Microsoft’s web site asked whether I wanted to complete a survey before continuing, Chrome wouldn’t let me move on to the next page.

Perhaps these problems are the result of poorly written browser-specific code on these sites. And, of course, the current release of Chrome is a first generation beta. Hopefully these issues will be resolved in the future. Furthermore, as an open source application, Chrome’s new “V8” JavaScript engine could, in theory, serve as the foundation for establishing a common JavaScript platform in other browsers.

Nonetheless, while Google’s use of WebKit for the browser’s HTML engine will help Web sitecreators avoid compatibility issues, introducing a new JavaScript interpreter presents yet another platform-consistency concern for Web application developers. If Google is serious about advancing JavaScript and the browser’s DOM for RIA development, the company needs to focus on standardizing the runtime environment at least as much as boosting performance.

7 thoughts on “Google’s Chrome and RIAs: A Response to Flash and Silverlight?”

“Is performance the major barrier to using JavaScript to build enterprise-scale Web applications?”
Yes, I believe it is. Very rich client applications are too complex and code-intensive to run fast within a web browser’s JS engine. As Google offers more and more complicated online services they’re going to hit performance barriers on the client. So a faster JS runtime environment will become a requirement.

Point taken. I certainly don’t want to argue in favor of sluggish JavaScript interpreters. But I wonder which is the bigger impediment to progress: performance or consistent code execution.
But, having said that, both are obviously critical to app development.

Hey, Kendall.
Maybe I’m missing the argument here, but how could a JS engine meaningfully impact any application as far as performance is concerned? Isn’t JS a client-side scripting language?
Regardless, it’s hard to imagine an application so complicated that a JS engine optimization would provide a perceptible improvement in performance.
Frankly, I think the V8 engine is a bunch of smoke and mirrors on Google’s part. I think you’ll be surprised that if you *tell* people something is faster, they will anchor on the belief that it is.
Only time will tell for sure (and the advent of more complicated DOM/AJAX applications).

I did some side-by-side speed testing and found that on standard sites, there was no real performance difference. I did find a huge difference on javascript/ajax sites. Both vBulletin and Joomla render much faster in Google Chrome than in either IE or FireFox. I was able to click on Chrome after clicking on one of the other two, and the page loaded seconds faster in Chrome. That performance made the difference for me. I also enjoy the time-savers such as paste-and-go, and the smart new tab page. All those things together made me put the beta chrome as my default browser.