Archive

Posts Tagged ‘Chrome’

Google Chrome

January 2nd, 2009

I just decided to give another try to Google’s browser called Chrome. I’ve tried it when it was only launched initially and didn’t really get what’s so special about it.

The first thing I’ve noticed now that I am on Mac is that although Chrome is based on the same open-source Webkit engine that Safari uses, Chrome is currently only available for Windows. Unfortunate (and hopefully temporary), but not a big problem in this age when Macs can run Windows without problems.

Not sure if they had this great comics-style explanation of what Chrome is all about before, but this time I’ve checked it out and it make things very clear.

The most important feature (for me at least) is that each tab in Chrome is actually a separate process in the operating system, so theoretically you can easily identify tabs (or sites) that consume most of the resources, including memory. Chrome even has its own task manager, which shows what resources each tab consumes!

I am not sure if browsers such as Firefox work the same way processes/threads wise on every operating system, but certainly for Windows independently processed tabs is a cool and innovative feature. Google engineers definitely have something interesting going on in Chrome.

picture-1

What struck me as important is the mention of the “Gears guys” in the comic who were saying that

One of the problems with the browsers is that they’re inherently single-threaded. For example, once you have Javascript executing, it’s going to keep going, and the browser can’t do anything else until Javascript returns control to the browsers.

In a response to this, Chrome engineers decided to go with this separate process tabs, but this is of course only a partial solution. And maybe even not a solution at all. Certainly you can isolate Javascript-heavy web apps in separate tabs, close the tabs if they become unresponsive and etc.

But it would be way cooler if Chrome actually made it possible to run Javascript in the page in separate threads like Gears guys were suggesting. That would tremendously help the developers of Javascript/Ajax-based web apps. You can do pretty complex things in the background with Javascript while the whole page remains as responsive and interactive as before.

I wonder if that’s technically possible at all, why Chrome engineeres decided not to go this way?

Thoughts, Whatnot ,