This week, even more developments have come about that have left me wondering if Google is up to something that goes far beyond just capturing Enterprise customers. Before we dig into the details, let me take a moment to make something clear.
The subject matter of this article falls well outside of any expertise I may possess about Chrome OS and the hardware that houses it. I have simply connected a lot of dots and filled in a lot of blanks and come to a conclusion that may or may not be accurate at all.
With that being said, many of you may have a much deeper understanding of the subject and I invite you to converse below and share your insights. I’m sure we will soon find out more about what Google has up its sleeve, but we’d love to hear your thoughts.
Okay, on to the point.
This time last year, Google announced that their growing Cloud Platform was beginning to use Container VM (virtual machine) images built off of Chrome OS. This was exciting news for the Chrome OS community and you can read more about the how and why in Robby’s article.
Now we have Google’s Cloud Platform that developers can use to create programs, websites and full-blown applications. All of this being done in virtual environments inside containers. Awesome stuff. Especially when much of it is being built around the Chrome OS virtual machine.
Fast forward to May 2017. Google I/O, the annual developer event, brings a new Chrome OS emulator for developers wanting to test Android apps on Chrome OS without having to purchase the hardware that is a Chromebook.
This brings an official, fully virtualized version of Chrome OS to desktops. The distribution is very limited but it is there and it greatly increases the potential of Chrome OS.
Additionally, it is a very good possibility that Android Studio will be coming to Chromebooks, but until now it was unclear how it would be implemented. In this commit, we see that Android Studio on Chrome OS will start with Wayland support.
This is where things started to get a bit confusing for me, but this commit spurred me to keep digging.
crosvm: add virtio wayland device
This adds the virtio wayland device which is activated by default. The wayland device needs the XDG_RUNTIME_DIR env variable to be set and a running wayland compositor to connect to in that directory.
You see reference to “crosvm” in this commit. Thanks to an email from a reader, we have a very detailed description of what crosvm is and what it does.
crosvm – The Chrome OS Virtual Machine Monitor
This component, known as crosvm, runs untrusted operating systems along with virtualized devices. No actual hardware is emulated. This only runs VMs through the Linux’s KVM interface. What makes crosvm unique is a focus on safety within the programming language and a sandbox around the virtual devices to protect the kernel from attack in case of an exploit in the devices.
Basically, crosvm is the Chrome OS build of the Linux KVM. (kernel-based virtual machine) KVM is a full virtualization solution for Linux on x86 hardware containing virtualization extensions.
Up to now, most of my research continued to point to Chrome OS running as a virtual machine in whatever environment you choose. However, I stumbled upon this commit that reveals the purpose of crosvm on the physical Chrome OS platform.
The crosvm program is used to start VMs and provide virtio devices on Chrome OS.
Initially, I thought, “What about VMWare and other virtualization platforms? Aren’t they already doing this?”
They are, but it is all done within a browser. These new changes to the Chrome OS code look to be pointing to a variety of virtual machines running natively on a Chromebook.
If I am remotely understanding how this works, Android Studio may arrive on Chrome OS via crosvm and the aforementioned virtio wayland device.
So, what does all of this have to do with Google’s upcoming PixelBook?
Glad you asked.
First, we know from my previous article that the PixelBook or Chromebook ‘Eve’ will have VM extensions enabled making it capable of much more than current Chromebooks. Second, if my above theory is correct, the PixelBook will be a device with the ability to run Android Studio and allow developers to create on Chrome devices.
Whether in a container, virtual machine or combination of the two, if Google has tailored a way for the PixelBook to efficiently run a variety of virtual OSes, the PixelBook now becomes a device that can replace full Linux workstations, control cloud servers, run applications from other platforms, and more.
Chromebooks are already using this process in the implementation of Android apps on Chrome OS. Google is using software like Docker and others to present Android in a container on Chrome OS. This allows Android apps to utilize the processes of the Chromebooks kernel while keeping the app sandboxed for the protection of the Chrome OS software.
This gave me a new outlook on the seemingly inflated price tag attached to the new PixelBook. If Google’s new flagship is capable of even a portion of what we’ve discussed, I think developers and IT managers would have no problem purchasing one in lieu of pricey Linux workstations or say a MacBook Pro.
I may not have a complete grasp on the inner workings of what Google is doing here or what their ultimate goal is, but it is clear that the PixelBook will be much, much more than just another high-price Chromebook.
For Google, this could mean bringing their own hardware in-house to run the Goobuntu Linux distro that manages the majority of their back-end process. That’s huge.
This left me with one burning question.
Google’s event next week will likely have the same tone as last year’s Pixel launch. Consumers. #madebygoogle was then and surely now will be the mantra of the event. Google wants to be a brand. They want you, the consumer to buy their products. Gone are the days of producing limited runs of developer-focused devices and we are now in the era of buying Google products at your local Target, WalMart or BestBuy.
So, how does Google convince John Q. Public they need a Chromebook that is well North of $1000?
That, to me, is a mystery. The only thing that comes to mind is what we have talked about from the beginning.
Google has lavished resources and countless hours on virtual platforms and containers for Chrome OS. What if they have created a simple way for consumers to run their favorite non-Chrome OS applications via a native, sandboxed interface on a Chromebook?
I’m not saying they have done this, but I am saying it would be a big hook for consumers looking for a reason to buy a Chromebook.
We have had a glimpse of this type of platform in the company Droplet. While we still don’t know exactly how the guys at Droplet are doing what they are claiming to do, we have spoken at length with them and the whole premise is that Droplet will be able to run applications from various operating systems – offline – on whatever device you like.
I had a chat with one of the chaps from Droplet today and he assured me that their project is still very much alive and, in fact, will be moving closer to a public build in coming weeks. If they succeed, it will be revolutionary.
What if Google has something like this up their sleeve? A clean, simple way for users to emulate, virtualize or containerize their legacy and non-Chrome OS apps.
With Google’s Cloud Platform continuing to expand, Chrome OS becoming mature enough to handle enterprise-level computing and Chromebooks getting the tools to woo developers as well as consumers, the search giant may be on the verge of winning the cloud war and no one will see it coming. What’s more incredible is that it might be done on a device that was once dubbed “a glorified browser.”
That about sums it up. I don’t know what Google’s roadmap looks like, but I can tell you this: it’s a big map and the PixelBook very well could be a big stop on the way to whatever is next for the folks in Mountain View.
Hopefully, we will learn more next week in San Francisco. I will definitely be poking around as much as I can to see what is in the works for the next stages of Chrome OS.
Special thanks to David A. for enlightening us about the Chrome OS Virtual Machine.