I picked up an Acer C720 Chromebook a few days ago to see what all the rage was about. After all, I spend most of my time in the browser already, where I create, read, update, and delete things. Do I really need all the excess of a full-fledged operating system? Can I get by with a $199 laptop that is cheap enough and light enough that I can take it traveling everywhere? I won’t go into details on the hardware – there are plenty of reviews already – but I did want to lay down some thoughts on the experience. I used Code Jam as a litmus test for Chromebooks as a simple development machine, and this is how it turned out:
- This thing is fast. When I hear “Celeron”, I think machines made by Compaq or eMachines sitting next to CRTs that are dog-slow and will probably break in 3 months. This Celeron, however, is Haswell microarchitecture, and with minimal requirements of Chrome OS, makes the machine feel fast. It also helps that Chromebooks come with flash storage. This means excellent boot times (far faster than any Mac/Windows machine), and general snappiness.
- This thing is light. It only has an 11″ screen, but compared to my unibody Macbook Pro 15″, it’s a much better travel companion. And the battery really does last all day (it’s rated for 8.5 hours, and that’s pretty much what I get).
- The screen sucks. The TN panel has terrible viewing angles. The HP Chromebook 11 is the only budget Chromebook with an IPS display right now, but its processor is roughly half as fast.
- Some things are really hard that are trivial on the conventional OS’s:
- Try remapping the caps lock key to control on an external keyboard. In Chrome OS, you can easily do that with the internal keyboard, but not for external keyboards. It took me about two hours of reading through bug reports to find a hack.
- Unzipping files – Chrome OS has built-in functionality that mounts zip files as ejectable drives – but it doesn’t work with all zip formats. For example, Code Jam solutions. The workaround for this was downloading and unzipping on my server and using a remote text editor to read the file.
- Transferring files to/from remote servers – you can’t use TeamViewer (there’s no app), you can’t use SFTP (there’s an app but it costs money). In Code Jam, my workaround for the input/output files was copy and paste. Less than ideal.
- Some issues are unique to the architecture of Chrome OS:
- Flaky internet makes Chrome OS suck – you’re in some purgatory between good internet and no internet at all, which means that many apps are spinning around trying to connect rather than going into their (reduced functionality) offline modes.
- The NaCl SSH client is sometimes insufficient. For example, Koding requires an SSH proxy server, and Chrome OS can’t do that. The workaround is to use Koding’s web terminal interface.
- And some issues are just because Chrome OS is younger and not as polished:
- I had frequent bluetooth disconnects for my headset and mouse. For my headset, the only solution was often to reboot (resetting the bluetooth power didn’t help).
- While you can set “natural scrolling” for the trackpad, you can’t for an external mouse.
- Scrolling with a bluetooth mouse was often quite jumpy scrolling pages at a time, even at the lowest sensitivity settings.
- But it does work. My Code Jam “stack” consisted of a Koding VM and a Zed text editor client on Chrome set up to work with remote files on the VM. Pretty simple, and it worked pretty well (aside from the occasional Zed save hiccups that didn’t push the last character I typed).
Ultimately, this Chromebook is not something that I’d want as a development replacement machine. Chrome OS is just a wee bit too limiting. I sorely miss some of the niceties I have on Mac OS X – TotalTerminal, Alfred, Transmit, and Adium to name a few. Maybe in a few months we’ll see Haswell+ Chromebooks with an IPS display, and I’ll have a nice travel companion (assuming where I travel to has good internet).