Nik Kantar

Wednesday, April 8, 2015

Web Development on a Chromebook — Not for Me

I tried migrating to a Chromebook and didn't like it.

A few weeks ago I decided to try using a Chromebook as my primary machine. As I already live largely in the cloud, I figured it'd be easy for the most part. The one thing I wasn't so sure about was development work, which I sorta' do for a living.

After some research, I concluded that the ideal candidate would likely be the New Dell Chromebook 11 with 4GB of RAM — inexpensive, durable, and small. My plan was to try Chrome OS for a bit and then install some flavor of Linux and use just that full-time. It's nothing that hasn't already been done, and many people have been quite happy with it all.

As it turned out, it didn't work for me.

Chrome OS

The everything-is-a-browser-tab workflow is probably quite good for many (most?) people. Using Google's web apps (Gmail, Google Docs) and storage (Google Drive) is a seamless consumer experience, and the machine doesn't bog down very much even with a growing number of tabs.

The problem for power users is task switching. Terminal windows being just tabs in a browser completely takes away the ability to differentiate between different applications (Cmd-Tab on OS X) and different windows of the same application (Cmd-Tilde). This distinction is very important to me to be able to switch between different types of tasks effectively, as I do on OS X. Having to cycle through a bunch of browser tabs just to get to the terminal is a huge time killer and the task switching cost grows with every key press.

Linux with crouton

The easiest way to get Linux on a Chromebook is with crouton. All you need is to enable the Developer Mode and crouton will let you use Linux in a chroot in a few short commands.

I set up Xubuntu this way, and it improved the experience greatly over just using Chrome OS. Real terminal, application switching, package management. I installed some command-line tools and tried doing some development locally.

The problems with this setup are a bit more challenging to explain.

Some of them are due to the Chromebook's low power — running a virtual machine (as I'm used to) eats a fair bit of resources, but even avoiding that doesn't hide the fact that you're running more than one operating system on what is in reality not a beast of any sort. Even if Linux in a chroot doesn't have as much overhead as a full blown VM, it's still more than the hardware was ever intended to do.

The tricky bit I didn't foresee was the keyboard: the keys themselves actually feel great on this particular model, but the layout is a bit weird, the shortcuts are a bit off, and it's just not as smooth of an experience as I'm used to having with a Mac.

The most annoying issue I ran into was the touchpad placement combined with its sensitivity. In normal use I kept tapping it lightly my hands and moving the cursor and selecting text (which I then overwrote with what I was typing), forcing me to undo quite a bit of what I was doing. I wrote my last post on the Chromebook and nearly went mad.

Standalone Linux

As this option generally requires opening up the machine to remove the firmware protection screw and voiding the warranty in the process, I didn't consider it.

And that's a good thing, as I returned the computer after mere days of use.

Whose Fault Is It Anyway?

Well, mostly mine, really.

After all, I'm a power user (cliché as that phrase may be). I use my computer a lot, and in somewhat unusual ways. I have a terminal open effectively always when the machine is on (and I even use TotalTerminal), I do a lot of things that require as much power as I can spare (multiple-VMs-at-the-same-time isn't a game I recommend playing on a Chromebook), and I'm incredibly spoiled by both the hardware and software I've been using for a long time.

The Chromebook itself is great, and I'd definitely recommend it if it fits your needs. It can even work as a dev machine if its limitations don't pose a problem given your workflow.

I, however, will keep my Mac with OS X. The comfort and productivity levels are simply too high to give up.

Want to respond with a comment or question, or have some feedback?
Email and Twitter are good direct options, but you could also write a piece of your own and send me the link. :)