A Few Notes on the Google Pixelbook

November 26, 2017   pixelbook

I've got a history with Chromebooks:

I wrote a tutorial about getting Crouton set up on a Chromebook during my bad sabbatical, and explained how to turn a Chromebook into a standard Linux machine (with a lot of musing about ChromeOS in general).

I wasn't sure how that second link would hold up, but I'm still in agreement with myself on a key takeaway:

In its own way, ChromeOS is Google making a comment about computing the way Apple does with iOS: Both would like you to consider the hardware comfortable and pleasant to use, but neither want you to really care about the hardware. They want you to care about the experience the hardware delivers.

The problem I had with Chromebooks was sort of the problem I've had with the Windows ecosystem generally: There's no such thing as a canonical Chromebook, so you're thrust into a world of poring over reviews and comparisons, having to care about the processor, the memory, and the OEM's reputation, and just generally having to think about the damn thing before you can buy it.

Anyhow, I've been using the things on and off for a couple of years now, and as older MacBooks and MacBook Airs have aged out in the family fleet I've replaced them with Chromebooks. I hadn't been willing to do that myself, but then I read a raft of reviews for the Google Pixelbook and decided it was my turn.

Though it's expensive for a Chromebook, the Pixelbook is less costly than the current-gen baseline 12" MacBook. It's also a bit lighter than a MacBook Pro and has a better keyboard than either of them. Reviewers also said the Android support–which allows you to run Android apps on a Chromebook alongside web apps–isn't bad. Plus, I'm not afraid to just send things back if I don't like them.

I brought it out to the coast for the Thanksgiving weekend, and so far I love it.

What's Good?

The hardware is great:

Android support is more baked than I thought it would be:

Overall fit and finish is just solid. Google is notorious for its engineer-driven UI decisions, but I just don't have any complaints. If I had to rank, I'd say, in order of fit and finish:

What's Not So Good

The Android integration isn't perfect:

Some apps look like a phone app floating on a big screen, but others size up to fill the screen and look like native laptop apps with a sort of mobile inflection. Sometimes, when you try to make an Android app full-screen, it tells you it has to restart. The apps generally look okay once they do that, minus a few "phone form-factor or die" holdouts, like Instagram. There are also some UI glitches: A mouseclick, which I'm assuming the Android layer is meant to read as a finger-tap, sometimes doesn't register, so I have to reach up and tap a UI element with my finger.

Apple avoids this sort of problem by not bothering with a unified OS. Microsoft seems to think it has solved these problems, but it has not.

It also still feels weird to navigate with the keyboard:

This is more my issue than Google's, but Google opted to go with the classic IBM/Microsoft CUA for system keybindings, which are much less elegant and expressive than the readline-style keybindings you can find on MacOS or Linux. I'm still struggling with trying to use ctrl-A to go to the beginning of a line, only to find I've selected all the text. Basic navigation lives in a combination of alt/shift chords I'm still getting the hang of.

There's no local automation:

Thanks to AppleScript and the services menu, Apple has a rich automation heritage. The culture of desktop automation those things fostered has set about colonizing iOS, and Apple has slowly improved the ability to pass things around between apps. While that platform isn't as far along as MacOS (or traditional nix systems), ChromeOS comes nowhere near it. I think Android is closer, but I haven't had enough time with Android apps to see how that works on a Chromebook.

The Web app picture:

There are some good web apps with surprisingly good functionality. I'm started typing this up with StackEdit, which is a very good Markdown editor that shines thanks to its ability to save to Google Drive, GitHub (gist, or files in a repo), or Dropbox. When opened as a single-window app, it just looks like a simple text editor that understands Markdown syntax, and it preserves state when opened and closed. Caret is an even more fully-featured editor that acts quite a bit like SublimeText if you're into that.

But as good as these things are, they're not Sublime, Emacs, vim, Ulysses, or BBEdit.

For my purposes these days, most web apps are fine. I get why, for instance, Google Sheets doesn't work for the finance department, but it's fine for me. Same with Google Docs. Objectively, though, web apps are usually 50-75 percent solutions for the "good enough" crowd. I just happen to have decided I'm part of that crowd now, too. Mostly.

Which brings us to:

Termux

I think, in the end, that I don't really take any platform seriously that can't run Emacs natively. It's the core of my discontent with iOS. Even if someone managed to port Emacs to iOS, it'd be faced with all the limitations sandboxed apps face on that platform. Ultimately, I want to be able to program, run org mode, and do general purpose editing with some access to editing tools I write on anything I run.

So, the thing that puts the Pixelbook over the top for me is Termux, an Android-based Linux environment that doesn't require me to put the Chromebook in developer mode, and that features a package repository with a number of things I'm happy to see including:

There are some idiosyncrasies in the environment, mainly owing to paths being sort of weird, but I was able to:

The hitches I hit weren't due to the environment itself, but the context all of that software exists in: I've almost always had to fiddle to get my Middleman setup working when I clone it down to a new machine. I didn't have to patch anything or make any changes to my site's Gemfile that won't work on other machines: I just got rid of the temperamental therubyracer and replaced it with nodejs + execjs and added a timezone info gem. I had to make a symlink from the termux /etc/hosts to a file down in another etc that's peculiar to Termux.

Net, it's a very comfortable machine that's "just working," is more comfortable to use as a laptop than an iPad but can pull tablet duty, and has local (non-network-based) access to an extensible text editor and development environment that iOS does not.






Things is © 2015 Mike Hall.