Google Pixel for Developers
Google Pixel: The Perfect Linux Laptop?
When I ordered the Chromebook Pixel, I was confident I would not like it. $1299 for a laptop that is only a browser? For $1499 I can get a full Retina Pro running OSX, Windows 8, better battery life, more storage, more ram etc. The following post is the story of how my perspective changed, and how I use this machine as a power user / developer.
The Competition
The first though most people have with the Pixel is, why not a Macbook Retina 13 refurb, or the Samsung Chromebook.
| Feature | Pixel | Macbook Retina 13 | Samsung Chromebook |
|---|---|---|---|
| Screen | 2560x1700 12.85” | 2560x1600 13.3” | 1366x768 11.6” |
| Quality | IPS | IPS | TN |
| Touch | Yes | No | No |
| Local Storage | 32GB | 128GB | 16GB |
| Cloud Storage | 1TB | 5GB | 100GB |
| Processor | i5 1.8GHz | i5 2.5GHz | Exynos 5 1.7GHz |
| Ram | 4GB | 8GB | 2GB |
| Battery Life | 5 hours | 7 hours | 6.3 hours |
| Price | $1299 | $1499 | $250 |
What Sets the Pixel Apart?
What the table above doesn’t account for are the qualitative features which make all of the difference. The build quality is fantastic, and the Pixel feels very tough. The Aluminum used in the Pixel feels stronger and more durable than the Macbook, and feels like it is less prone to denting. The screen is extremely bright, and even when plugged in I only use it at 70% brightness, and when on the go I turn it down to nearly minimum. Even with the brightness set so low, it is easier on the eyes and more readable than the TN panels common in most laptops.
The keyboard feels subjectively better than the Macbook Pro. It is an absolute joy to type on, and the touchpad is also flawless. Plugging in adapters to the Mini-Displayport “just works” with external monitors, and having a browser open with GTalk etc while a terminal on the other is great.
Chrome OS itself really gets out of your way. Out of the box I only installed the secure shell app, and I was able to do 50% of the Linux development I wanted to. No tweaking, driver downloading etc, out of the box I had a very fast browser, multi-monitor support, retina level text, music and cloud file storage.
The next question to answer was how do I do heavier development? Chrome actually has a great remote desktop feature built in, so I was able to connect to my much more powerful Ubuntu workstation, and run Eclipse there. It worked well over my local network, although there are even better solutions if you don’t enjoy the slight latency for screen refreshes and window dragging.
Enter Crouton
Crouton provides a way to install Ubuntu and run it without rebooting from Chrome OS. This means if I run Crouton and simply press CTRL-ALT-Refresh I am instantly in my XFCE full Ubuntu 12.04.2 environment, and I can run any X86 programs I desire. I was able to use SSH XForwarding to also connect to my desktop, and it was also fast and fluid. I was able to load vim, git, gcc etc, however I actually like just using regular Chrome OS and a SSH session where possible, so I can switch between locations with ease. You can download Crouton from Github.
Battery Life
Most reviews highlight that battery life is less than four hours, but skip over how low you can set the brightness on this laptop. 60% brightness on the Pixel is brighter than a lot of laptops at 100%, and the screen is extremely clear and readible. I was able to get 6 hours of battery life without issue, and this will improve as Chrome OS seamlessly updates itself.
Unscalable?
CNet wrote up a headline grabbing blurb, so I wanted to clarify screen scaling. As the owner of a Macbook Pro Retina 13, I never use screen scaling. The performance is horrible, frames are dropped, and it doesn’t make sense for developers. We generally work in text, so using the native resolutions and adjusting font sizes means we can manage the scaling easily. Sure, window borders etc are not resized, but in all of the applications I use, my biggest windows are full of text. Even if I do Windows development, I have C# / XAML windows open nearly fullscreen in VS. Scaling on Retina is, from my humble perspective, for those who don’t understand they can just decrease their font size and have great performance and readiblity.
Operating System
What is the most fascinating part of the Pixel is that I absolutely love Chrome OS. A few downsides of OS X you don’t find clearly articulated:
- OS X got in my way a lot
- Spinning beachballs
- Safari rendering huge white blocks
- Memory usage - you really do need 8GB to load iTunes, iPhotos and Safari
- Had to install Ubuntu to get a full ‘real’ stack
- Every time I had to install gcc-42 from brew dupes and have multiple compilers
- Compiling ruby with rvm sometimes compiled with LLVM, sometimes didn’t, depending on the day and release
- Everything costs more. Want to live the iLife? Many albums priced at $4.99 elsewhere can be > $15 on iTunes
- The filesystem ‘feels’ slower, especially in rails. When I ran rake etc, these commands all took noticibly longer than my Ubuntu installs
- 128GB is actually too small if you don’t live in the cloud, and was a constant battle
Conclusion
The Pixel is a winner for Linux power users. We get a Linux based OS out of the box that auto updates, is secure, requires no tweaking, and just lets us get to work. We can easily switch to full Ubuntu, and back with just simple keystrokes. SSH support is fantastic, and works with tmux etc (unlike so many SSH emulators on the Windows 8 store). The built in applications make photo editing, listening to music, youtube, gmail, and even games just a click away. If I had to purchase it again, I would order the LTE model as I intend to take this everywhere with me.


For the first step, you will want a virtual switch for your VM to connect to. The virtual switch will allow your VM to connect to the internet and communicate with your Windows 8 system.

The next screen will ask us how we want to configure our virtual disk. The default is 127GB, which is much larger than you likely need by default. Even 20GB is a safe default for Ubuntu. If you do pick a larger size, you will not immediately lose that disk space on the host system. Creating a 400GB virtual disk will actually only take 5GB or so initially, and will grow as you create more data.
