Google Cr-48 for Coding

The other day I saw the announcement for the new Chrome OS test laptop and decided to sign up on the off-chance that I might be able to snag one. In the request form I made it very clear that I would be attempting to use this laptop for development (easily my primary activity). Surprisingly the laptop arrived this morning and I’ve been having fun putting it through its paces.

(Note: There doesn’t appear to be a way to take screenshots of the Chrome OS UI – making this post a bit less interesting.)

My Workflow

I’ve seem to have settled upon a workflow that can work for me – to some limited extent. Chrome OS (as I’m sure you’re aware) is roughly just enough operating system to get a copy of Chrome running. I’ve played with Chrome extensively before now so there wasn’t anything that was too surprising. I had to install the PasswordMaker extension as I use it to manage all my passwords (thankfully one exists for Chrome, otherwise this laptop would be completely unusable to me).

Typically I have two pinned tabs in my browser: Gmail and Google Calendar. The OS doesn’t appear to allow right-clicking so in order to make them pinned I had to add the Gmail and Calendar apps, tweak their options to only open pinned, and then re-open them.

Virtually all of my development is JavaScript-centric (and against Git repos). Thankfully it’s easy enough to test JavaScript in Chrome OS – but development is another matter entirely. Right now there doesn’t appear to be any good code editors (or file system access, for that matter). This puts a major damper on my ability to work offline.

Google Cr-48 Terminal

What I’m doing now is opening a separate terminal view (Ctrl+Alt+T) and SSH-ing to a server where I can develop. The terminal provided by Chrome OS is very very limited. The only truly useful command is ‘ssh’ and even then it’s painfully limited. There is no way to provide an SSH key, for example (meaning that I actually had to set up an account on one of my servers with a password – which is quite lame). There does not appear to be any way to get a useful shell (sh, bash, tcsh – whatever). It seems as if there use to be some ways to boot into a different mode and get at the underlying Linux distro – but that all seems to be disabled on the Cr-48.

Right now I have my primary browser and my secondary terminal. In the terminal I have an SSH connection to my server where I run screen. Within that I split it into two vertical panes which gives me both a text editor and an IRC view (where I spend a vast majority of my day). Using this I can most likely get work done on a day-to-day basis.

The major problem: This really only works if you’re connected to the Internet. I know that this should be rather obvious since this is ‘Chrome OS’ and it is something of a netbook – but the lack of any filesystem access means that I won’t use this machine for anything more than a hobby (certainly can’t use it while traveling).

I really like the Google Talk pop-overs that persist (making conversation rather easy). I didn’t realize it at first but if you click the titlebar of a pop-over it will minimize, which is nice. However if I close a conversation it becomes an exercise in frustration to try and get it back.

Thankfully the Chrome in Chrome OS still has the developer tools installed, together with the JavaScript console.

I’m looking forward to when the Chrome OS store improves – right now it can be rather frustrating to do some simple things. For example I wanted to quickly crunch some numbers and went looking for a calculator. Surprisingly there wasn’t one in the store. I ended up having to use the JavaScript console to do the calculations – which, I suspect, is not what Google expects most users to do.

The Hardware

Typically I use a Macbook Pro for my day-to-day development so I’m a bit spoiled when it comes to good hardware.

It appears as if the Cr-48 gets about 8 hours of battery life with the screen turned all the way down – or 6 hours with it all the way up. (Note: There is no brightness indicator when adjusting.) These numbers are about comparable to what I get on my Macbook (although I usually end up running more apps on the Macbook, including Textmate, a web server, and various other utilities).

Google Cr-48

The trackpad is absolutely infuriating. It’s as if Google attempted to create a similar trackpad to the Macbook Pro but just got it all wrong. There is two-finger scrolling (good) but no acceleration. Tap-to-click is frustrating and I disabled it immediately. There is no three-finger swipe-to-go-back gesture (which I miss a lot). Performing text selection is absolutely insane. It seems like any combination of having two fingers on the mouse pad simultaneously throws the laptop into “scroll” mode. It’s so bad that it makes me not want to write things on the laptop until it is fixed. As mentioned before there appears to be physical way of doing a right click – but I can’t find a single place in the UI where right-clicking has an effect.

I completely miss the power adapter from the Macbook. I’ve tripped over my cable dozens of times and the lack of a magnetic connector frightens me. Not to mention that the connector isn’t very good to begin with – it’s already fallen out at least once.

I’ve been having a mixed experience with the wireless. The regular (802.11) wireless seems to be really… forgetful. I’ve had to enter my wireless password at least a half dozen times today – and since my password is more of a “pass phrase” it becomes quite tedious. It seems to hate waking up from sleep, the wireless fails to reconnect quite frequently, in that case. That being said the 3G process is quite smooth. The setup is relatively easy and you get 2 years worth of free wireless from Google (this is for 100MB per month of usage). I’m already pleased with it and I’m looking forward to using it while sitting in the Boston Commons this summer (that, combined with the matte screen, will make this an amazing laptop for outdoor usage).

The keyboard is easily the best part of the Cr-48 hardware. Replacing Capslock with a “New Tab” button is truly inspired. I’ve found myself already starting to rely upon it very heavily. The keyboard feels good to type on and the large Ctrl + Alt keys make for easy key combinations (important when using screen).


As it stands the situation where I could see myself using the Cr-48 the most is if I were to casually explore a city or do work outside. The included 3G wireless and simplicity of design make it ideal for that. I do not plan on using this laptop for any travel (and, thus, I likely won’t be using it for any presentations) until I can get some form of shell-based filesystem access. I’d love to be able to have access to a shell and the ability to install vim + screen + git + a web server. If I had that (and, presumably, this would be an easy thing for Google to do – probably just a switch that would need to be toggled) this laptop would easily become a top contender for my primary laptop.

Right now my ideal laptop would be: Take a 13″ Macbook Pro, replace the HD with an SSD, replace the DVD drive with more battery, add 3G. I would use that laptop until the end of time.

Posted: December 10th, 2010

Subscribe for email updates

54 Comments (Show Comments)

Comments are closed.
Comments are automatically turned off two weeks after the original post. If you have a question concerning the content of this post, please feel free to contact me.

Secrets of the JavaScript Ninja

Secrets of the JS Ninja

Secret techniques of top JavaScript programmers. Published by Manning.

John Resig Twitter Updates

@jeresig / Mastodon

Infrequent, short, updates and links.