Google Chrome: the Google OS
September 2, 2008The web is abuzz today with Google’s entrance to the web browser war-field with its shiny new Chrome beta. You’ll find plenty of coverage elsewhere (Google’s blog is here, the comic strip (more about it later) starts here), I’d only like to focus on one conspiracy theory aspect: the first version of Google OS.
First of all, do read the comic strip by Scott McCloud and the Chrome Team. It is in itself a piece of marketing art and although its primary intended audience may be journalists and less technical people, it is a statement of how serious Google is about Chrome and full of hints for conspiracy theorists among us.
So some of my first thoughts will follow…
OS-within-the-OS
Chrome will be the OS-within-the-OS for Google: most productivity and line-of-business applications can now be successfully turned into web applications. Arguably more and more of them are better in ease of use than the original apps, due to the richness of the platform and due to being re-engineered from scratch (UI wise) with many usability lessons learned since.
The big issue is compatibility. There are at least four major players now: IE, Firefox, Safari, and Opera (plus the mobile editions), and their abilities are spread on a wide spectrum, to say the least. The unquestioned market share leader (IE) is trailing behind in almost all important areas (like performance, usability, standards conformance) and there are subtle but important differences among the others. This makes web application development very costly and time consuming. Even with frameworks like DOJO, Prototype and tools like GWT and Morfik you will encounter compatibility issues and missing functionality (e.g. lack of a consistent graphics layer, like SVG or Canvas).
If we had a browser that
- has #1 market share,
- is consistent among all the major operating systems (Windows, Mac OS X, Linux) and mobile OSes like Android and iPhone OS X (probably Symbian and Windows Mobile, but I would not hold my breath for those),
- is performant, secure and robust,
- and has some additional features like support for off-line operation, a strong graphics layer (for graphs and graphical apps), sandboxed native filesystem access, support for push technology (like COMET), drag & drop desktop integration, and a mature, efficient and familiar development platform (e.g. Eclipse/Java/GWT),
then most applications can be implemented on this platform regardless of the underlying native operating system.
Just think for a second when you used Microsoft Word the last time: I used to be in-and-out all the day, but recently it happens that I don’t open Word for weeks, and then only to edit a “legacy” document that originated from the “old era”. Most of my new documents are emails, Google Docs, or some other on-line properties (god, what that does to privacy, though, so don’t put all your documents on-line!).
Technology tie-ins
There will be technology tie-ins all over the place. Although Google is a huge animal and its projects are only loosely coupled (waving off the monopoly power arguments), saying that the Chrome team accidentally asked the Android team about WebKit love is amusing.
Gears integration is only for starters. I expect that GWT and Chrome will be “optimized together” pretty soon. Google Docs, Maps, etc. will gain in performance, stability and functionality if run on Chrome.
Then the primary business of Google is ads: now it will be able to collect even more information about us (although since gMail and Desktop Search they already have some data on you ;-).
BTW I wonder when Desktop Search will be integrated into Chrome…
Head start
Chrome may have a head start over all other browsers.
Current generation Firefox, Safari and Opera are pretty level on performance (relative to lackluster IE) and at least Firefox and Safari are engaged in further speeding up JavaScript with adding virtual machines similar to Chrome’s V8 (on paper); they are also keen to match each other in standards compliance and usability, but while Chrome addresses all these issues, it also brings a new architecture to the table with the promise of marked enhancement in security, memory performance and robustness, plus the native integration of Gears.
The others will have to play catch-up. And Google has the resources to compete — it is single-handedly financing Firefox at the moment.
Market share
In order to be successful, Chrome will have to establish market share.
In the consumer space all the good virtues (speed, stability, security) will play well, together with the hippie word of mouth marketing of comic strips and oh-so-accidentally-released-a-bit-ahead-of-time trickery.
The much harder nut is the corporate market. It takes years for corporate IS departments to certify products for use. Here being OSS will help (the corporate world is getting into love with OSS), but the primary message can be security: if Google can deliver on its promise of security (both process separation and malware filters), it will be salvation to IS departments fighting with the dilemma of supporting more and more intranet/extranet web applications and weak security of the very same applications.
Being a consistent web application platform on all important OSes will also come handy - it makes corporate web app development much simpler.
Google will definitely push Chrome with subliminal tactics (e.g. “off-line mode and advanced features of our web apps working best with Chrome” splashes).
Still, it will be a hard sell — they’ll need some killer apps to get rolling.
Missing bits
I’m also missing a few things, the most prominent being additional web application security.
Chrome is a rich client platform, and rich clients run most of their code on, well, the client. This used to be the case with traditional apps, but those were compiled to binary, so poking around required some skills. Now Web 2.0 rich clients are generally made of JavaScript, which is quite readable and even can be changed on the run, making attacks against the code much easier than before.
Of course tools like GWT or Morfik will scramble and optimize the client code making it not a pleasure to read, but it is still the source code of the app that is downloaded and run in the browser. So it would be fine if some kind of run-time protection would be in place to prevent code morphing and allow code verification. The fact that each tab runs in its own process is promising, though.
Phew! So here are my first impressions — what if I stared thinking about this :-) Now it’s your turn!

I just blogged about the same thing, however, one area
Chris Shaul | September 2, 2008I just blogged about the same thing, however, one area that Google has focused on, is its partnership with Salesforce.com to get a lot of business users utilizing the Google Docs and Gmail link within Salesforce. I am sure there are other such partnerships in the links.
Chris you make a point there: that will help Chrome
piprog | September 2, 2008Chris you make a point there: that will help Chrome gain market share fast, as one can expect that all these sites will have “best with Google Chrome” stickers all around.
It is interesting, that although Chrome uses WebKit as the
piprog | September 2, 2008It is interesting, that although Chrome uses WebKit as the rendering engine, the visual rendering of pages (on Windows) is markedly different from Safari rendering (Safari has softer, more rounded fonts) and exactly matches Firefox Gecko’s rendering. What gives?
The reason for the rendering difference is that chrome uses
Joeri | September 3, 2008The reason for the rendering difference is that chrome uses windows’ native font rendering system, and safari comes with its own font rendering system that emulates that of the mac, so pages will render exactly the same on the mac and windows.
About the easy modifyability of javascript, I would say this isn’t a problem. The client is not secure, never, never ever. Security belongs on the server, period. Executables are not inherently more secure than javascript, not to someone who knows what they’re doing. You’ll still want to obfuscate javascript to protect against code theft though, because with apps moving entirely to the client side, the code will be out there for all to steal.
Joeri, thanks for the explanation on the visual difference --
piprog | September 3, 2008Joeri, thanks for the explanation on the visual difference — enlightening :-).
Security: I know that the client by definition must be treated as breached (non-secure) — that’s what I’m telling all the clients :-) but there are some questions here with more complex client app architectures.
Since we are in on-line mode (most of the times), in fact we could make client security better than executable security by validating the code against the server version and protecting the channel and the VM sandbox as much as possible against intrusion. Of course since the client is out of my control anything can happen there (even faking the whole protection scheme), but for many types of apps this type of protection would help a lot.
I’m going to write a new entry with more details so that we can discuss…
should be interesting to see if Chrome works more efficiently
media kingdom | September 3, 2008should be interesting to see if Chrome works more efficiently than FireFox and IE… if it’s faster than Firefox, since isn’t IE, then i’ll use it