Android on Chromebooks: Goodbye ARC, hello Containers

Yesterday we told you that Android apps coming to Chromebooks was official, based off of an announcement on Google’s official Chrome blog. Today I’m here to tell you that Android apps coming to Chromebooks is now super official, as there was an entire session dedicated to it at Google’s I/O Developer conference.

It doesn’t get more official than I/O.

We didn’t have a lot of details though, when I wrote that article yesterday. We knew that Android apps were coming, when they were coming, and for which model Chromebooks they were coming, and that was about it.

Thanks to an interview that our friend Ron Amadeo over at Arstechnica.com had with Zelidrag Hornung — engineering director of Chrome and Android — and members of the Chrome OS team, and a half hour session from Google I/O, we now have a lot more information regarding this bold move from Google.

We (and many other people) naturally assumed that bringing the Google Play store to Chromebooks would heavily involve the App Runtime for Chrome (ARC). Not long ago, Google worked with developers to port a handful of Android apps to Chrome OS using ARC. These apps were found in the Chrome Web Store, and many people may not have even known they were dealing with Android apps.

According to Hornung, Google has ditched ARC in favor of using containers.

The main problem with ARC, was that while it made porting Android apps to Chrome OS possible, it still required a good amount of work to get there. This means that developers would need to develop the app for Android like usual, and then do more work getting it to work on Chrome OS. At that point, you might as well just build a web app and publish it to the Chrome Web Store.

ARC also didn’t pass Google’s own Android Compatibility Test Suite (CTS), and making it CTS compliant would have taken a lot of work.

So Google decided to start from scratch. The new model for bringing Android apps to Chrome OS involves running an unmodified Android framework in a container. The keyword here being unmodified. This means that developers won’t have to do anything in order for their Android apps to work in Chrome OS. Containers typically bundle entire apps with all if it’s dependencies.

Ron describes it as being somewhat similar to virtualization, but better. A virtual machine is completely sandboxed, unable to access things outside of itself. It’s basically like it’s own computer inside a computer. But with the Android Framework running in a container, it won’t be sandboxed. It will be able to access the underlying OS (Chrome OS) so that the two can communicate with each other. This means your Android apps will have access to things like storage, audio, the touch screen etc. Performance will also be better than a true virtual machine would be, as this will be a native solution.

So what’s the most important take away from Ron’s interview with Hornung?

In my opinion, it’s the fact that Android developers won’t have to do anything in order for their apps to work on a Chromebook. This means that we won’t be dependent upon them to make this work. It’s also important to know that you will now have two app stores available to you as a Chromebook user; the Chrome Web Store, and the Google Play Store.

Some things that won’t work on a Chromebook include live wallpapers, custom home screens, and widgets.

In case you haven’t had the pleasure yet, here’s the video of the Google I/O session: