{"id":411,"date":"2008-09-02T20:03:15","date_gmt":"2008-09-03T01:03:15","guid":{"rendered":"http:\/\/unitstep.net\/?p=411"},"modified":"2008-09-03T07:17:43","modified_gmt":"2008-09-03T12:17:43","slug":"google-chrome-what-it-offers","status":"publish","type":"post","link":"https:\/\/unitstep.net\/blog\/2008\/09\/02\/google-chrome-what-it-offers\/","title":{"rendered":"Google Chrome: What it offers"},"content":{"rendered":"

\"Google<\/p>\n

After much speculation yesterday<\/a>, marked by a leaked web comic<\/a> and finally an acknowledgment by Google<\/a>, Google Chrome<\/a>, the much anticipated web browser, is here<\/a>.<\/p>\n

I encourage you to download it<\/a> and give it a try, as I did as soon as it came out. Here are some of my initial impressions.<\/p>\n

Overview<\/h3>\n

Google released a fairly long web comic<\/a> that delves into quite a bit of detail about Chrome – it’s not your typical comic! Touted as being built “from scratch”, Chrome uses the WebKit rendering engine, the same one that powers Safari and Konqueror.<\/p>\n

\"\"<\/a><\/p>\n

The first thing you notice is how minimal the “Chrome” or UI of Chrome is. If you’re used to a half-dozen toolbars, buttons and widgets all over the place, Chrome will seem like a greenfield to you. By default, there is only a tab bar and then an address bar containing back, forward, a combined reload-stop button and the address bar. There are also buttons for bookmarking a site and for page and browser settings. The bookmarks bar is not displayed unless you specifically change that setting.<\/p>\n

Keyboard shortcuts are also present so that you don’t have to click through context menus. If you’re used to the keyboard shortcuts of Firefox and IE7 you’ll be pleased to know that most of them transfer over without change: Ctrl-T opens a new Tab, Ctrl-W\/Ctrl-F4 closes a tab, Alt-D focuses the address bar and Ctrl-J opens Downloaded Files.<\/p>\n

The address bar also functions as a search bar, and this combination just makes sense. It’s something I’ve always been doing using Firefox Quick Searches<\/a><\/p>\n

By default the home\/start page is set to set to show an Opera-style “Speed Dial<\/a>” page containing most recently-accessed pages\/bookmarks. You can also configure Chrome to restore the previous tabs\/websites on startup, which is my personal preference ever since I started using Firefox.<\/p>\n

<\/p>\n

Features<\/h3>\n

Chrome integrates Google Gears to speed up supporting web applications and is an obvious effort by Google to self-promote. This is substantial since the download link for Chrome is on the main Google search page – no small feat considering only the most popular\/important services get that sort of attention and furthermore the link is positioned dead center beneath the search field.<\/p>\n

\n\"\"<\/a>
\nThe address\/search bar\n<\/p>\n

Chrome allows for quasi-Site-Specific Browsers<\/a> by use of “Application Shortcuts”, which can be set for any website but are meant to be used mainly with web applications. These allow you to open the target URL<\/acronym> in a browser window that does not have the menu or address bars and essentially serves as a blank canvas upon which the web application’s own UI can be displayed. <\/p>\n

This is similar to other SSBs such as Mozilla Prism<\/a> or Fluid<\/a> for the Mac, as they aim to bridge the gap between desktop and web applications to make their integration more seamless.<\/p>\n

However, like Google Blogoscoped points out<\/a>, using such non-browser interfaces may condition the user to be more lax when entering their credentials and makes phishing attempts more viable since no URL<\/acronym> is displayed. This is curious since security, “sandboxing” and general safe browsing were so high on Chrome’s feature list – this feature seems to help undo some good user practices of always confirming the URL<\/acronym> before entering credentials. <\/p>\n

There are also some nice little enhancements as well – the combined address bar\/search bar is very much like Firefox 3’s “awesome bar”. Chrome also allows you to dynamically resize any textarea<\/code> element, without the site designer having to code this specifically in JavaScript or some other client-side technology.<\/p>\n

Performance<\/h3>\n

Each tab\/window is a separate process and thus will show up separately in Task Manager; Chrome also offers its own Task Manager but the memory usage reported here differs from that in the Windows Task Manager. To get the full picture, you have to click on the “Stats for nerds” link, which takes you to about:memory<\/code><\/p>\n

\n\"\"<\/a>\n<\/p>\n

This page displays the full memory usage details, and also, surprisingly, displays memory usage for any other web browsers also currently running! (I have confirmed that it will display Firefox 2\/3, IE7 and Opera 9)<\/p>\n

\n\"\"<\/a>\n<\/p>\n

Much talk has been made of this feature; indeed while it does use more resources, it also prevents a single site from bringing down the entire browser as only that tab\/window will be affected. To test this out, just terminate one of the instances of chrome.exe and you will see that tab’s screen into a “sad tab of death” with an amusing message.<\/p>\n

\n\"\"<\/a>\n<\/p>\n

JavaScript<\/h3>\n

Though JavaScript falls under the category of `Performance` I felt it deserves its own section because of the importance of JavaScript in web applications. Chrome uses the Google-developed V8 JavaScript engine, which has also been released as open source<\/a>.<\/p>\n

The main points<\/a> of V8 are outlined at the Google Code page for the project, and are quite interesting. One of the main improvements in performance is the use of a Virtual Machine (VM) for processing JavaScript.<\/p>\n

The V8 Virtual Machine is different from say, the JVM (Java Virtual Machine) in that it compiles JavaScript source directly to machine code<\/em>; there is no intermediate byte-code representation used and hence no interpreter is needed for this. This seems to indicate that JavaScript performance might be faster on Chrome since there’s no intermediary. Google provides some benchmarks<\/a> to confirm this.<\/p>\n

From some informal\/unscientific preliminary testing, the V8 JavaScript engine in Chrome does<\/em> appear to be quite fast; loading the same Digg topic in Firefox took longer than it did in Chrome. (Roughly 14 secs vs. 8 seconds over a few trials – and Chrome did not have the benefit of AdBlock Plus) I’d be very<\/em> interested to see how Chrome stacks up against Firefox 3.1, considering the rumoured performance boosts<\/a> coming with it.<\/p>\n

If Chrome has anything going for it, it’s definitely the lightning fast JavaScript performance. Coupled with the crash-proofing this makes it ideal for use in web applications.<\/p>\n

Development<\/h3>\n

Chrome comes with a nice DOM inspector reminiscent of Firebug. Using it is dead simple; you just right click and select “Inspect Element” and the inspection window will pop up with the element highlighted. Here you can see the full DOM tree as well as the computed CSS<\/acronym> styles for the element. <\/p>\n

\n\"\"<\/a>\n<\/p>\n

There’s an included JavaScript console for executing code\/commands\/expressions on-the-fly and while there is a JavaScript debugger included, it seems at this time to be a command-line only tool, far less user-friendly than Firebug.<\/p>\n

Not ready for prime time yet?<\/h3>\n

Of course, Chrome is marked as Beta by Google, something we’ve come to expect since Gmail has been in beta for longer than the company has been publicly traded. Nonetheless, there are still some features that are sorely missed.<\/p>\n

The one thing I absolutely love about Firefox is the vibrant developer community and subsequent widespread availability of quality, useful extensions. This has produced such gems as the aforementioned Firebug<\/a> and Adblock Plus<\/a>. <\/p>\n

For now, extensions\/addons are not part of Chrome but may be added in a later version. In the meantime I don’t think I’ll be even close to ready to switch, as I’m very stubborn. I don’t use that many extensions but the few that I do are “must-haves” and I just can’t browse without them. <\/p>\n

Lastly, there are always privacy concerns, especially from a company as big an involved as Google. Though you can turn off the sending of usage statistics, there will always be some with their tinfoil hats on.<\/p>\n

Conclusions<\/h3>\n

All things considered, Chrome is a very good entry into the browser market. While I don’t think it’s ready to take on Firefox or IE yet, it does provide competition. So as long as Chrome continues to support standards (which I think it will, since it uses the WebKit renderer and Google has also been forthcoming with their support for web developers<\/a>), I won’t have a problem with it. I won’t be switching over to it anytime soon, but at the very least it’ll be a useful development tool to verify\/test my websites on to make sure they look proper in Safari\/Konqueror\/Chrome.<\/p>","protected":false},"excerpt":{"rendered":"

After much speculation yesterday, marked by a leaked web comic and finally an acknowledgment by Google, Google Chrome, the much anticipated web browser, is here. I encourage you to download it and give it a try, as I did as soon as it came out. Here are some of my initial impressions. Overview Google released […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,75,262,149,208,265,23,74,4,242,116,17,2],"tags":[425,469,451,470,267,413,266,264,263],"_links":{"self":[{"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/posts\/411"}],"collection":[{"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":16,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"predecessor-version":[{"id":433,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/posts\/411\/revisions\/433"}],"wp:attachment":[{"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitstep.net\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}