Owning a Chromebook

Written by abiosoft | Published 2017/12/17
Tech Story Tags: chromebook | chrome-os | pixelbook | termux | software-development

TLDRvia the TL;DR App

All hell went loose when Google announced the PixelBook and I was among the critics.

One thing the PixelBook managed to do is to get more people to check out Chromebooks. That is probably part of Google’s goal for the device.

Coincidentally I was in the process of switching jobs and I was going to be without a laptop for about 2 weeks. I was looking at something that could fill the gap for that period and keep serving as a secondary laptop afterwards.

What further lured me towards getting one is the Andriod apps support. Rather than thinking of a Chromebook as a web browser, I saw it as an Andriod tablet with full sized keyboard and desktop browser. I prefer browsing on desktops by far and I would rather use a native mobile app than a mobile site.

I wanted a bit of a premium feel but not willing to spend $999 for something that is going to be an experiment. Most Chromebooks are cheap with plastic build, a huge downgrade for someone using MacBooks for couple of years now.

After reading available reviews and watching the videos, I settled for the Asus C302. Like many other people, the choice was always between the Samsung Chromebook Plus/Pro and the Asus. I chose the Asus because my keyboard usage is quite heavy and would rather not compromise on the quality of the keyboard.

The device and Chrome OS

The device turned out to be what I saw in the reviews. It took me few days to be fond of it and kept wishing it could do more. It is so light and comfortable that regular laptops start to feel like a heavy burden.

The Chrome OS may be limited but it is so smooth. There’s almost no lag except one is a very heavy user running many Chrome tabs alongside multiple android apps or game at once. It powers off or on in a few seconds and sleep or resume happens almost instantly. To top it all, OS updates downloads in background and also takes few seconds to apply.

Android apps are hit and miss but they generally work. Asphalt 8 looks like a game designed for Chromebook, the keyboard works well for control. My PS4 gamepad also works via both USB and bluetooth for games that support such (SBK16 and Real Racing 3). Also, I was able to print via USB on an older HP printer.

Do not buy the “Chromebooks don’t work offline” argument. You only need internet to set it up the first time, Chromebooks are no different to Windows/macOS laptops when offline. And by the way, no one stays offline nowadays, irrespective of what type of device you are using.

Reality

After exploring Chrome OS to satisfaction, I went back to reality that I needed to write code. The option of using the Chromebook as thin client and ssh to a server for development is there but I prefer to have a local development setup.

I started out with Termux but soon realised it was not going to suffice and the only way out was to enable Developer Mode. I was reluctant due to the security cost and scary boot screen.

Termux would actually be enough for most people. It provides an access to popular development environments including Node and Go but a major limitation for me was the OS being a 32-bit Android.

Development environment on Termux

Developer Mode

A bit of a background. I am the type of guy that toys with devices. e.g. I flashed custom ROM and voided warranty on my Galaxy S2 after unboxing it, I didn’t even see what the Samsung boot screen looks like. I’ve built Hackintosh and ran Linux on my Mac, and so on. So, not enabling Developer Mode on my Chromebook is actually a disservice to myself.

I decided to enable Developer Mode and added Ubuntu with crouton. Since I have a tmux and vim setup, I only needed the Linux capability without the desktop environment.

The only thing missing is Docker, the Chrome OS kernel does not support it. A workaround was to use rkt, whose limitation on Chrome OS is host network requirement--net=host. And whenever there is a need to build docker images, I do that on cloud servers.

Ubuntu environment

Why it works for me

If the following does not apply to you, the Chromebook may not work for you as a development machine.

  • No reliance on any Windows or macOS software.
  • Willingness to enable Developer Mode and get full Linux capabilities.
  • Use of CLI editor like Vim. VSCode, IntelliJ or other GUI editors are achievable but would require a desktop environment installation, which comes at the cost of performance.
  • No reliance on building Docker images. Running an existing Docker image is possible with rkt.
  • Zero need to edit heavy videos or play AAA games.

Chrome OS wish list

I primarily hope for two things to improve on Chrome OS.

  • The use of key combinations instead of space bar to disable developer mode at boot. The space bar is too risky. If you by chance leave your Chromebook with someone else, you can be sure they would hit the spacebar if they happen to reboot it.
  • Docker support in the kernel. That would be wonderland.

Conclusion

Chromebooks already work for 95% of computer users. Yes, 95% of computer users only use what the Chromebook offers. Web browsing, social media, videos, music and editing documents. And Android apps further enhances the tablet modes of the 2 in 1 Chromebooks.

For the remaining 5% which is where programmers like me belong, the Chromebook is a very capable device if you have one with an Intel processor and you are bold enough to enable developer mode. You get a 64 bit Linux with the lightness of Chrome OS.

Now if you put things in perspective for someone with a similar setup to mine, the PixelBook is not that bad for the price. A premium build quality, top of the line keyboard, high res screen, Linux environment. That is what you get with ThinkPads and they cost more than $999.

Now I am looking forward to upcoming Chromebooks in 2018 and may upgrade if I find a worthy one. This is something I would never have imagined myself doing 4 months ago.


Published by HackerNoon on 2017/12/17