Thursday 2 April 2020

The enigma of Chrome OS

Chrome OS really IS an enigma to me. At one time, I thought that I understood what Chrome OS and Chromebooks were all about. When The first Chromebooks made their debut in June 2011, they were, in the main, low powered laptops that had to be connected to the internet to work, and everything was done in the Chrome browser. Google had provided an online office suite that was good enough for many purposes and, Gmail was being used more and more as a web application rather than as an installed email client. A year earlier, Microsoft had launched its somewhat slimmed down Office Online which gave Chromebook users access to their familiar office tools, which meant that as long as they were online, Chromebook users had options for doing their work.

Although there is limited offline capability, Chrome OS was conceived as an operating system that used the browser as its primary interface to cloud-based applications and that essentially, all of the computing power resides in the cloud. This is one reason why early Chromebooks and some modern Chromebooks were quite low spec devices. I was an early taker and have (and still use) a 2012 Samsung Chromebook.


Chrome OS is based on the Linux kernel and so, in a very loose sense, you could argue that Chrome OS is a Linux distribution. My Chromebook has the GNU/Linux kernel version 3.8.11, and as the machine is past its AUE (Auto Update Expiration date), there will be no more updates of any kind. It seems however, that Google will be bringing the latest kernel to Chrome OS during 2020.

Why make an operating system so crippled that you could do just as much in any operating system simply by using the Chrome browser and just running the same cloud-based, browser applications? This seems an even more pertinent question when we consider that a number of equally low spec netbooks have been released that run Windows 10 (albeit with barely enough resources to function, particularly when it comes to updates.) These CloudBooks have, even so, much more capability as computers, hampered only by their hardware limitations.

Only Google knows the reasons behind their decisions, but between 2014 and 2016 they worked to make it possible for Android apps to run on a Chromebook, thus making Chromebooks potentially more useful computers. Of course, not all Android apps are suitable for running on a Chromebook unless it has a touchscreen, but many run fine. Android is another Google operating system with a Linux kernel, and like pure Chrome OS cannot run Linux desktop applications. Google’s solution was ARC (Android Runtime for Chrome). This would allow Android apps to be run in Chrome in any OS. This wasn’t an ideal solution for Google who went on to develop ARC++ that fully integrated the Android Runtime into Chrome OS; moreover, it allowed the use of the Play Store.

In the meantime, the Chromium team has been working on ARCVM (ARC Virtual Machine). This would make Android app support work much like the Chrome OS support for Linux Applications. At the time of writing, it is not known whether ARCVM will ever see the light of day on production Chrome OS.

Chrome OS support for Linux applications works via a virtualisation system called Crostini in which Linux is installed. Crostini is well integrated into Chrome OS and installed Linx applications are accessible and can be launched like any other Chrome OS app. Although this support for Linux applications has been available in some Chromebooks for more than a year, and is available in all new Chromebooks, it is still very much a work in progress, with support for many essentials, such as USB support, at the moment being absent.

It has been interesting to read recent articles in sources such as Chrome Unboxed that make a point of showing how Chromebooks can be made much more useful and capable by installing Linux applications such as The Gimp. This, in addition to their much-vaunted support for Android apps.

Of course, Chromebooks now span the whole range of prices found in other computers, with build qualities and prices to rival or exceed MacBooks. They also have higher specs than they used to have, with better processors and more RAM and SSD disk space; all of which make them more suited to running Linux applications that run locally rather than just cloud-based browser applications.

So, let’s sum all of this up. We have a Linux-based operating system, Chrome OS that runs apps from another Linux based OS (Android) by means of ARC++, and possibly in the future, a full virtual machine; plus it can run Linux desktop applications in a Linux virtual machine that isn’t quite finished because it lacks (at the moment) support for USB passthrough etc. All of this, running on moderate to good specification hardware, under an OS originally conceived as a system to run cloud-based applications inn a browser.

Writers talk about the virtualisation elements and the lack of USB support etc as virtues on grounds of security, as the guest system is running in a container that is isolated and thus the OS is protected. This doesn’t wash with me. It reminds me of an adage from the programming days of the 1970’s and 80’s. ‘If you have a bug; document it and make it a feature’. If Google get it right in the end, they will implement all of the missing functionality such as USB support, and then maybe astronomers will be able to run software such as AstroDMx Capture for Linux with astronomy cameras and process the data on some subsystem of their Chromebook. Chromebooks will finally become really useful devices for astronomers doing their astronomy.

At the moment, my impression of Chrome OS is that of a Shelleyan monster, with pieces bolted on here and stitched on there to make an operating system, rather than something that has evolved according to a plan that was in place at the start. Maybe it is time for Google to make Chrome OS a proper Linux distribution running on bare metal, with the ability to run Android apps but with Linux applications running natively. They have the potential to make a truly different and powerful operating system that is better than the current Chrome OS mish mash. As Mary Shelly said ‘Invention, it must be humbly admitted, does not consist in creating out of the void, but out of chaos’. Google take note, take Chrome OS and make something great out of the current chaos. Mene mene tekel upharsin!