Joho the Blog » chrome

February 24, 2011

Google Chrome: The OS, the laptop, the browser

Klint Finley at ReadWriteWeb writes:

Google is bringing Web apps one step closer to having full desktop functionality. Today, it announced new functionality that allows apps from the Chrome Web Store to run in the background, even when all Chrome windows have been closed but the user hasn’t actually exited the browser. Why would you want to do this? A couple of reasons.

1. To enable hosted apps, such as calendars, to provide notifications without having to leave a window or tab open for the app.

2. To enable apps to load content in the background so that it’s instantly available when a user launches the app. For example, a dashboard with real-time information, or something like Mint.com that takes a while to update.

This brings Chrome the Browser one step closer to Chrome the OS … and if I were Google, I would not go much further than that. At least for now.

I say this as the recipient of one of the tens of thousands of CR-48 Chrome notebooks Google sent out over the past couple of months. (I strongly suspect it was sent to me by someone at Google Docs, because I spent a morning with them about a year ago talking about next steps for the product. It was an unpaid session [well, until now], and, as far as I can tell, what I said had no effect. Very interesting morning, though, from my point of view.)

The Chrome netbook comes with an early version of Google’s Chrome operating system installed. As many have pointed out, the hardware is a mix of pretty nice and totally sucks. The point of the distribution was not the hardware, but, rather, how well the OS works. Nevertheless, let me get the hardware comments out of the way. Positives: Fairly lightweight for a screen that large. Good battery life. It was free. Negatives: OMG the trackpad is frustratingly awful. The lettering on the keyboard is invisible except in full light. The mouse tracking speed cannot be slowed down enough. And because there is only one USB port, you can’t easily plug in both a mouse and a USB lamp to light the illegible keyboard. Anyway…

The key difference apparent to the user is that the Chrome OS is a fullscreen browser with no desktop underneath it. Everything is optimized for online work. That’s great for online work: The wifi connection is easy, setup overall was easy, it’s getting very good battery life even though wifi is on all the time, it starts up lightning fast, and it actually both goes to sleep and wakes up instantly when you close the lid. So, when you’re online, Chrome is terrific.

But I am not always online, and even when I am, I often want to use local apps. For example, there are some good text editors online, but they are not better than the copy of TextWrangler I have installed on my laptop. Furthermore, Google Docs has its strengths, but Pages, OpenOffice, LibreOffice, and even Word all are better at some important things. Much better. Why does it help me as a user not to be able to use the apps I want? Plus, I have many years of documents and other data on my computer (yes, multiply backed up); I’d have to move them all into the cloud to have them at my fingertips when using Chrome. But why would I want to go to all that trouble…except to use Chrome?

Chrome is like a visitor from the future when wireless connectivity is ubiquitous, but the available apps have been frozen since 1996. It is in that regard the worst of both time zones. Sure, the apps in the cloud will get better, but I am unconvinced that there will never ever be any app that I want to run locally. In the meantime, I’ve taken to using my CR-48 as the laptop I keep on our TV couch, so I can figure out where I’ve seen that actor before, which I suspect is less than Google hopes we’ll be doing with their shiny new operating system.

On the other hand, enabling Chrome the Browser to permit Web apps to work in the background is a brilliant idea for the here-and-now. We can continue to use our highly-evolved local apps, but still integrate cloud-based computing into the world we’re going to be in until creatures from the future blanket our land with wireless, open, broadband access to the Internet, or until our government comes up with policies to do so. (My money is on creatures from the future getting here first.)

[But, hey, Google, thanks for the free laptop, and I do admire your willingness to push the envelope.]

4 Comments »

February 13, 2011

The size of an update

I enjoyed this explanation of how Google updates Chrome faster than ever by cleverly only updating the elements that have changed. The problem is that software in executable form usually uses spots in memory that are hard-coded into it: Instead of saying “Take the number_of_miles_traveled and divide it by number_of_gallons_used…”, it says “Take the number stored at memory address #1876023…” (I’m obviously simplifying it.) If you insert or delete code from the program, the memory addresses will probably change, so that the program is now looking in the wrong spot for the numbers of miles traveled, and for instructions about what to do next. You can only hope that the crash will be fast and while in the presence of those who love you.

So, I enjoyed the Chrome article for a few reasons.

First, it was written clearly enough that even I could follow it, pretty much.

Second, the technique they use is not only clever, it bounces between levels of abstraction. The compiled code that runs on your computer generally is at a low level of abstraction: What the programmer thinks of as a symbol (a variable) such as number_of_miles_traveled gets turned into a memory address. The Chrome update system reintroduces a useful level of abstraction.

Third, I like what this says about the nature of information. I don’t think Courgette (the update system) counts as a compression algorithm, because it does not enable fewer bits to encode more information, but it does enable fewer bits to have more effect. Or maybe it does count as compression if we consider Chrome to be not a piece of software that runs on client computers but to be a system of clients connected to a central server that is spread out across both space and time. In either case, information is weird.

1 Comment »