Review: Google Chrome wants to be your OS

The Chrome Apps architecture enables native-like apps, written in JavaScript with platform APIs, that load fast, run quickly, and work offline

A couple of months ago, my wife told me, "The Internet is slow." I had a look at her computer, which still runs Windows XP because that's what she knows and likes, and realized that she was still browsing with IE8 (not that she could upgrade IE from there on XP). I used IE8 to install Google Chrome, then allowed Chrome to copy her bookmarks and make itself the default browser; just like that, the Internet was no longer slow.

Chrome is not just the cure for slow browsing. It has a number of other key features to recommend it, including excellent HTML standards compliance, its own copy of Flash, its own PDF viewer, automatic updating, synchronization across computers, incognito viewing, and many extensions.

[ Get the best apps for your mobile device: InfoWorld picks the best iPad office apps and the best Android productivity apps. | Keep up on key mobile developments and insights with the Mobile Edge blog and Mobilize newsletter. ]

Chrome is also the basis for a whole new family of packaged apps built with the Chrome Platform APIs, HTML5, CSS, and JavaScript. These apps use the browser's capabilities, but start locally, run from their own app containers, and have access to local resources as well as Web resources. These apps are obviously needed to make Chromebooks more useful, but they add value on other operating systems as well.

On the negative side, Chrome can be a huge memory hog, and it forces you to log in with your Google account if you want to take advantage of its coolest features, such as synchronization among computers and mobile devices. I don't mind logging in, even though it can sometimes be a pain given that I use two-factor authentication, but I know people who think that this loss of anonymity is not worth the benefits.

A platform for appsIf you look at a Chromebook, you'll see Chrome apps as well as the Chrome browser. These apps, or most of them, are also available to Chrome users on Macs, Windows, and (real soon now) Linux. I say "most of them" because QuickOffice comes standard on Chromebooks but is not available from the Chrome Web Store.

The first time you install a Chrome app on a given computer, Chrome will construct a Chrome App Launcher panel (and dock or toolbar icon) for you, which contains icons for the freshly installed app and any others that may have been synchronized to the current computer. When you add more Chrome apps, they will automatically be appended to the Launcher panel. You can easily organize your Launcher panel pages by dragging icons from page to page.

The assortment of Chrome apps you'll find in the Web Store is not quite what you might expect. I thought I'd mostly find productivity apps, especially ones that use Google infrastructure. I did find those, but I also found plenty of image editing apps, music playing apps, news and weather apps, and games. I also found numerous office applications and utilities, including several remote desktop apps. The latter are suddenly even more interesting now that Google and VMware have teamed up to make Windows VMs available for Chromebook users.

There is also a good assortment of business applications in Chrome App form, many of which are also available as Web apps. Examples include QuickBooks, Zoho CRM, Staff Squared HR, SEO SERP Workbench, Clever Elements, and Salesforce.

I expected Chrome apps to be slow to load and run, but I was wrong. The ones I have used load faster than many native applications and run nearly as quickly. Chrome apps tend to be smaller and more focused than many native applications, but that isn't necessarily bad.

Chrome apps are a hybrid between normal desktop applications and Web applications, coded in HTML, CSS, and JavaScript -- and in some cases, C/C++, Flash, or Flex. The user downloads the app from the Chrome Web Store, and it installs on the local computer. The app launches locally in an app container, not in a browser tab, and loads its first page locally -- not from a remote URL. The app container is blank, and it does not have the typical omnibox of a Chrome browser page. Subsequent pages can be loaded from remote URLs, but the developer has to guarantee some minimum functionality for an app that launches on a computer that isn't connected to the Internet.

The app has an event page that runs in the background and handles user gestures and system events. The Chrome Content Security Policy enforces stronger security than you'll typically find in a Web application, and it provides the ability to set up privilege separation on a per-window basis. Sandboxing for Chrome apps is even stronger than sandboxing for Chrome extension processes.

Services available to Chrome apps include push messaging, several different storage APIs, drag and drop, and access to Google Drive. Chrome apps can use USB, Bluetooth, and serial devices, and they can act as network clients. A developer can use Native Client (C/C++) code in Chrome apps but should structure the package hierarchy to reduce the size of the user download.

Best among browsersRecently, Chrome has been blowing all other browsers away in almost every conceivable speed test. (The most recent public results I can find are here.) I say "almost" because Microsoft has posted some tests in which the latest version of IE beats all comers. I have seen accusations that the Microsoft test site is rigged, but I haven't investigated them. In any case, those Microsoft test results don't correspond to my real-life experience.

Chrome is fast for multiple reasons. One is that its JavaScript engine is efficient; another is that it uses the SPDY protocol when it can. I installed a Chrome extension to display the SPDY status of Web pages, and I wasn't surprised to find that many of the sites where I normally see the biggest speed improvement from Chrome are also the sites that support SPDY. On a geeky side note, sites typically support SPDY by using Nginx, which also speeds up the Web server.

On a Mac (above), the new Chrome "For your desktop" apps live in a launcher in the Dock. When expanded, the Chrome App Launcher has room for 16 app icons per page. You can easily drag and drop icons from page to page in roughly the same way as you would with Android screens. On Windows 8.x with the Metro aka Modern aka Windows Store interface (below), Chrome Apps appear on the same Modern "desktop" as Chrome itself. Note that you have to allow Chrome to be the default browser on Windows 8.x to enable its Modern interface version.

Unfortunately Chrome is a memory hog. It's actually not as bad a memory hog as its own diagnostics say it is on a Mac -- they suffer from some double counting -- but I routinely see the sum of the RAM used by all the Google Chrome and Google Chrome Helper processes running into multiple gigabytes. Admittedly, I keep a lot of tabs open, including tabs for Gmail, Outlook.com, Facebook, and other memory-heavy applications.

If RAM usage matters a lot to you, you might find that Firefox works better for you than Chrome. I spend most of my browsing time on an iMac with 16GB of RAM, followed closely by a MacBook with 8GB of RAM. With that much RAM, memory usage from the browser becomes an issue for me only when I also have multiple photo and video editing programs, software development environments, or VMs running. And when that's the case, I usually shut down the browser or close all but the essential tabs.

HTML5, CSS3, and JavaScript/ECMAScript all have governing standards to which browsers are supposed to adhere. Speaking as a sometime Web page designer, I can tell you that standards conformance is much better today than it was in the days of, say, IE6. But conformance varies from browser to browser, and Web designers still have to watch out for edge cases in desktop browsers, plus a whole lot of issues in mobile browsers.

Niels Leenheer maintains a well-regarded suite of HTML conformance tests at html5test.com. The current results show Chrome 32 with a score of 503 (as of Feb. 13, 2014) out of a possible 555, the highest among desktop browsers, followed in descending order by Firefox 26, IE11, Opera 18, and Safari 7.0.

Always up to dateOne of the reasons my site Tubifi.com recommends that people use Chrome when running our online video editor is that Chrome has its own copy of Adobe Flash, and it keeps it up to date automatically. I can't tell you how many error reports I've heard that were resolved by having people either update their Flash installation or switch to Chrome.

While the private version of Flash that Chrome maintains seems like a good thing to me, the internal PDF viewer in Chrome is a mixed blessing. There are times when it really speeds up viewing a PDF, and there are times when it gets in the way of viewing a PDF properly. When the feature first came out, it mostly got in the way, and the interesting information for people to know was how to revert to viewing PDFs in Adobe Reader. (Enter chrome:plugins in the address bar and click Disable underneath the entry for Chrome PDF Viewer. The Adobe Reader plug-in will automatically be enabled, if you have it installed.) Now it's not quite so bad. I personally let Chrome display PDFs itself, but when there's a table of contents I want to see or a form to fill out, I download the file and open it in Adobe Acrobat Pro or Apple Preview.

I mentioned above that Chrome's automatic updating of Flash is one reason to use it. In fact, Chrome usually updates all of itself in the background when you're not using it, and if you go a few days without closing it, Chrome will let you know that there's a new version that will load the next time you start Chrome.

Once in a while, though, Chrome will get itself into a state where it can't reach its update server. The symptom I've seen is that when you go into About Google Chrome, it will attempt to update, then report Error 12. The way to fix this is to close Chrome, download a fresh copy of Chrome using another browser, and install that copy manually.

Chrome apps do not need to look like a browser. Here you see Autodesk Pixlr Touch Up, where I am non-destructively adding a transparent layer to an image. This is the kind of functionality you expect from a native app like Photoshop, not a browser-based app. (Click the image for a close-up view.)

I formerly used a browser plug-in called Xmarks that synchronized all my bookmarks. At some point, Xmarks was withdrawn from the market temporarily. It eventually came back, but I had moved on. Meanwhile, Chrome and Firefox got their own synh functions, and people learned to sync IE bookmarks via SkyDrive (recently renamed OneDrive for legal reasons). I've never gone back to Xmarks. Chrome sync works fine for me across all my computers and all my mobile devices.

In addition to automatic updating and internal copies of Flash and a PDF viewer, all of which improve its security, Chrome has internal detection of infected sites and detection of bad SSL certificates. It also sandboxes browser tabs and extensions. In most browser security tests, Chrome comes out on top, or tied for the top grade.

The most noticeable feature of the Chrome UI is that there is only one box for search and navigation, called the omnibox. You'd think that would be confusing, but Chrome does a good job of offering you the right choices, especially if you have "Use a prediction service to help complete searches and URLs typed in the address bar" checked in your advanced preferences. Type "onion" into the omnibox, and you'll see suggestions ranging from "theonion.com" to "onion soup."

I appreciate the malleability of Chrome tabs. It's easy to drag them around, move them into separate windows, reopen them from the same computer, and reopen them from another computer.

Thinking outside the browserWith the exception of memory usage, Chrome is the top choice for Web browsing available today on Windows, OS X, and Linux. It offers superior speed, usability, and security. In addition, Chrome provides a framework and Web store for apps that run on Windows, OS X, Linux, and Chromebooks.

The Chrome Apps architecture offers a container and APIs that developers can use to easily build desktop applications using HTML5, CSS, and JavaScript. These apps perform surprisingly well, partly because the Chrome JavaScript engine is very fast -- faster than Python in some tests -- but also because the Chrome APIs are fairly thin layers over native OS APIs.

Now Chrome apps are making the leap to mobile devices. Google recently released a developer preview of a toolchain, called MobileChromeApps, that allows developers to wrap Chrome apps with native shells for Android and iOS, then publish them to the Google and Apple app stores.

As phones and tablets become more powerful and less memory-constrained, and Chrome on mobile gains larger and larger subsets of the functionality of Chrome on the desktop, the possibilities will get even more interesting. Google Chrome has become much more than a browser.

  • Fast, standards-compliant Web browser
  • Includes its own copy of Flash and keeps itself updated
  • Many extensions available for Chrome, almost as many as Firefox
  • Support for desktop apps using Chrome Platform APIs
  • Chrome apps can work offline with some level of functionality
  • You can synchronize Chrome among computers and mobile devices, as long as you sign in with your Google account

  • Substantial memory footprint
  • You need a Google account to use the full features
  • Debugging tools are not quite as good as Firebug on Firefox

 

This story, "Review: Google Chrome wants to be your OS," was originally published at InfoWorld.com. Follow the latest developments in applications and application development at InfoWorld.com. For the latest developments in business technology news, follow InfoWorld.com on Twitter.

Read more about applications in InfoWorld's Applications Channel.

Tags Mobile Developmenthtml5application developmentGoogleapplicationsmobile technologysoftwarejavascriptmobile apps

More about Adobe SystemsAppleAutodesk AustraliaFacebookGoogleLinuxMacsMicrosoftVMware AustraliaZohoZoho

Comments

Comments are now closed

Amazon vs. Google vs. Windows Azure: Cloud computing speed showdown

READ THIS ARTICLE
DO NOT SHOW THIS BOX AGAIN [ x ]