Sep 042008

The fact that an open-source browser from Google isn’t available on an open-source platform — Linux — is sad. And that too one that is based on Apple’s Webkit.

I ran the browser, called Chrome, on Windows; opened a few tabs and looked at the memory consumed. In Firefox, one of the negatives is that memory usage can easily go over 200 Meg. I saw that the Google browser process chrome.exe was consuming only 25 Meg. I added a few more tabs and saw that there were several of these chrome.exe processes — one per tab, plus 1— with varying memory usages. So with 10 tabs open it is easy to go over 200 Meg. So, as far as max memory usage is concerned, you don’t get any benefit by switching from Firefox to Chrome. Given that every chrome.exe process has some fixed overhead, memory usage will probably be higher for Chrome than for other tabbed browsers. At first I didn’t like this approach. Then I realized its benefits. In Firefox, even if you delete tabs, the memory consumption doesn’t go down much; with Chrome, when you delete a tab the associated process terminates. Over a period of days or weeks, as you add and delete tabs, the total memory consumed is same as what it would be if you started the chrome browser and added those tabs. This means that you never need to quit your browser — a feature shared by another great app called emacs. The other main benefit is that each tab, being a separate process, runs in a sandbox: a bug while rendering a tab can at worst take down the tab (process) but not the entire browser. Neat idea.

When you open a new tab, it shows icons of “most visited” sites and recent bookmarks. You can also open a window (using Ctrl-Shift-N) in incognito mode: pages viewed in this window won’t appear in the browser’s history, search history and won’t leave any cookies. Incognito windows display an icon (hat and glasses?) in the upper left hand corner. Google warns that this mode won’t affect the behavior of other people, servers or software. It asks the user to be wary of “Surveillance by secret agents” and “People standing behind you” 😎

Initially, I didn’t like placement of the tabs on top as you have to move the mouse cursor past the bookmarks and the url rows to get to the tabs. But it makes sense given that a tab is self-contained: it is associated with a separate process and has its own url field; you can even grab a tab, drag and drop it and it will be displayed in its own window.

As I said earlier, there is one chrome.exe process for every tab plus one process that manages them. It will be nice if google used a different name for that process instead of chrome.exe.

The browser is a beta version and one shouldn’t be surprised if it is called beta a few years later. It doesn’t render correctly when you zoom. For example, when you zoom this blog entry you will see that the header is completely screwed up.

Javascript rendering is pretty good. You can check out Sun’s Lively Kernel, which requires a compliant and optimized Javascript engine; Sun recommends Safari 3.0.2 or later for best performance and quality of experience.

I have a suggestion for the browser team. One process/tab, though very useful, is overkill sometimes and can be a memory hog. When creating a window, you should be able to choose between “sandbox-on” or “sandbox-off” modes. To protect the naive, the default option should be “sandbox-on”. If I have tabs open to check news from a variety of sources, I don’t need the sandbox. If there is a problem rendering a tab, I don’t care if that window crashes.On the other hand, if I want isolation from other tabs, I will open a browser window in the default “sandbox-on” mode.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>