While Firefox is a great application, it still is an old school browser, carrying in its architecture the problems that beset all browsers, like making it still not fast enough, memory hungry, subject to crashes or compromised in terms of security. So when my geek friends mentioned the name Google Chrome glowingly, not only did I obligingly feel the need to find out what it is but, once done, reacted in kind of a predictable way: why would I want another browser (especially when having Firefox)?
That feeling wasn’t exactly eliminated after installing and running Chrome with its rather plain and unfancy interface (”typical Google” was the thought of someone whose right brain likes some clutter
) and not having any of my many Firefox extensions. But since it wasn’t just Google but friends who seemed to praise Chrome, I was intrigued and read “Google Chrome” – the book. That’s when I became impressed.
Multi-processing
The first big advantageof Chrome is: it is a multi-processing browser, a concept easily explained by the two comics below which compare Chrome to a traditional single-threaded browser (and who doesn’t know the experience of waiting forever for a web page loading just because of some hanging Javascript somewhere).
Advantages of this architecture:
- rather than having the whole browser crash, you just loose one tab if a web site has a bug in it
- less memory bloat because each tab has its own memory, leaving no fragmentation and memory leaks behind when closed
- each tab has its own rendering engine, data structures and processes, so resources don’t have to be shared anymore between tabs, and moving from one domain to another even within a tab instantly clears out all previous resource components
- multiple processes require a process manager and Chrome provides one, showing which sites use how much memory
Speed
Google Chrome, the book, is written for programmers and semi-program language literate people, so some of the stuff in there I am struggling with to fully understand. What I nevertheless got from reading it was for example how creative those Google development teams are with their starting-from-scratch and thinking-outside-the-box approach. It gives me the feeling that Chrome is very different and exciting. Plus, because Chrome is open-source, that creativity can become a productivity input for other browser developers (like Firefox) to improve browser technology even more (how different Google is from Micro$oft!).
One example seems to be Chrome’s Javascript Virtual Machine. VMs are known for their safety and platform independence, but Java VMs seem to have performance and interactivity limitations when it comes to using modern Web applications like Gmail. So the Chrome team built a brand new JVM that makes the Chrome browser run much faster than conventional browsers (through using “hidden object classes”, “dynamic [machine] code generation” and “precise incremental garbage collection” … right
) .
Tabs
Fortunately for me Google Chrome (the book) is not just about programming language and concepts. Take its thoughts on user experience.
The first (and intuitively confusing but) very practical aspect of Chrome’s layout is that the tabs are on top of the page – because the tab really is the prime user interface.
And as mentioned, tabs are independent from each other; they all have their own resources, including their own controls and url box. That makes them fully detachable: you can drag a tab off your Chrome browser and drop onto your desktop, and you have a new browser window sitting there – instantly (do the same in Firefox, and you just get a Windows shortcut icon). That is handy for example when you want to unclutter your browser and especially when wanting to run separately applications like gmail or web2 based office suites (which thanks to Google Gears can be run as separate applications without launching the browser – see further down below).
Tab separation is also handy when used in conjunction with Chrome’s incognito mode: nothing that occurs in an incognito window is ever logged on you computer; no browsing history, no cookies, no trace. While secret illegal activities or porn sites might be some people’s uses for this feature, it’s also handy when you want to keep a surprise gift secret.
Finally, there is no chance in Chrome for those nasty ‘drive-by’ pop ups that sometimes, without your knowledge appear on your desktop behind your browser. Pop-ups in Chrome are scoped to the tab they came from, so that’s where they stay, and they disappear with it. Very nice. But you still are in control: if you are interested in that pop-up, you do have the choice of dragging it onto your desktop.
Omnibox
Another nice user-friendly feature is the address field which the Chrome guys call “Omnibox”. It’s an appropriate name given that it not only remembers the usual previously accessed web addresses but also offers suggestions for unvisited but popular websites, a full text search over your browsing history and it functions as a field for Google Web searches. Omnibox provides ‘inline’ completion and nice little add-ons like the comic below shows.
Omnibox provides another nice functionality: presenting an opening page at browser startup that contains thumbnail images of the nine most visited web pages – a nice way of browser personalisation.
Safety & Security
Well, there’s malware and there’s phishing. Chrome uses “sandboxing” to combat malware. Different processes running on your browser (like using webmail, watching a YouTube clip, using a web2 word processor) are stripped of their rights; they can compute but not write files to the hard drive or read files in sensitive areas. In other words: they are contained within a boundary or “sandbox”. And given we have tab separation, we also have as many “sandboxes” as we have open tabs. Practically that means:
- no keystroke watching (eg typing of credit card numbers)
- no interactions with mouse operations
- no reading of tax returns or other personal sensitive documents
- no telling Windows to run an executable at start-up
So even if malware scripts might be running in a tab, they cannot leave the “sandbox” and they disappear with tab closure.
Unlike Windows’ three-tier security model (’high’, ‘medium’, ‘low’), which allows different levels of read and write depending on tier choice, Chrome just sees the “sandbox” and the user. Everything is sandboxed unless the user initiates communication wanted by the visited site and provides explicit access – on a case-by-case basis.
This simple model though has one loophole: plugins. Unlike Chrome (and therefore html and Javascript), plugins aren’t written by Google, and they might run at much higher privilege levels than Chrome. And because there is no standardisation, plugins can’t be sandboxed within the rendering process.
What Chrome does though is to separate them them from that process and give them their own “sandbox”. This not only provides a better level of security but also prevents the whole tab crashing when the plugin doesn’t work. Btw: it sounds like Google is hoping to cooperate more with plugin makers to get them to have plugins run at a lower privilege level which would be even safer.
Google Gears, standards and Open Source
No point talking about Open Source here; the advantages of that approach to making the Net a smart, safe and fair place are obvious. And since I despise Micro$oft’s approach to proprietary development, I think it’s great that Google as a company is not just interested in Chrome but in helping all browsers with their development. (Google of course is not totally charitable, eg it naturally wants for example to capture market share for their own online applications like their office suite, knowing that the Web is the future computing platform; it wants to remain the dominant Web player).
Making the Web a better place through developing Open Source software is where Chrome and Google Gears come in; Chrome attempts to provide better user experience, Gears tries to make the Web better for developers. Gears is a plug-in that extends your browser to create a richer platform for web applications. Some of the API components for example are a desktop module that lets you run web applications on your desktop indepently (without your browser; eg Gmail, Google Calendar) or a geolocation module that lets web applications detect the geographical location of their users.
There are a number of web applications that use Gears. These applications come from a variety of companies, including Google (YouTube, Docs, Reader, Picasa, Chrome), MySpace (Mail Search), Zoho (Writer) or Remember The Milk. WordPress 2.6 added support for Gears, to speed up the administrative interface and reduce server hits. Gears is supported on Google Chrome and IE 6+ on Windows XP and Vista, IE Mobile 4.01+ on Windows Mobile, Safari 3.1.1+ on Mac OS X 10.4+[15] and Firefox 1.5+ on multiple platforms.
Testing
While the Chrome interface is, as mentioned before, clean and simple, there is a lot of complexity behind this Web application. That means a high potential for bugs. And while the Chrome team does say that it is impossible to avoid bugs, given they are human too
, with Google being the biggest search engine on the planet and therefore knowing all existing websites, having prioritised them all, and having the resources to check them in next to no time, those guys claim that they can test new iterations of their browser for bugs within 20-30 minutes – rather then having to wait for external beta testing. At least in theory that seems to make testing much more effective and efficient.
Where from here …
I gonna start using Chrome for a while to test it – which is pretty amazing given that I thought I would never give up Firefox. I will of course miss my many Firefox extensions, but for speed and security advantages I’m happy to sacrifice them for now. And I will keep reporting on my experiences …
[This post is a summary of Google Chrome, the comic strip book that can be found here; more information on Chrome is available on this Website, including a brief introductory video and links to special Chrome features.]













