I got to completely geek out when Daniel Matte wrote up the things he found about Andromeda while looking through some Google source code earlier this week. It reinforced a lot of the things I thought when I first looked through all the code in August 2016, caught a lot more things that I overlooked, and examined the new code. I think Matte's assessments are pretty close to the mark here. Not because they confirmed some of my original thoughts, but because it points out things I got wrong. Or at least I think I got them wrong. Everything about Andromeda or Fuchsia is still just educated guessing.
At this point, I think we have a pretty good idea of where Google is going with Andromeda, Fuchsia, Android and Chrome. The future looks like it will be all about consolidating everything without making things the same. I've been digging and chatting and poking things for a couple days and that's my conclusion.
Fuchsia is where we need to start. Fuchsia is a way to replace Linux and become an operating system for Chrome and Android to run on. Android is kind of weird. It can be built as an all-in-one OS waiting for some hardware support to be added making it ready to run, or it can also be a runtime(s) and support files for applications. The Nexus 6P is using Android as an operating system, the BlackBerry Classic is using Android as an application platform atop another operating system. If you were to hack Google's apps (Google Play, Play Services, etc) onto the Classic it could do everything the Nexus 6P can do when it comes to Android apps, even though it's not using "Android" as the operating system.
Fuchsia will work with the Android runtime and support everything using compatible APIs. In other words, we won't see any difference but the people developing Android will.
The future where everything is the same but different makes sense when done right.
Fuchsia will also power Andromeda. We have already seen stage one of Andromeda when Google Play came to some Chromebooks. Right now, Chrome OS is basically a user interface and application platform running on a fairly standard Linux kernel and middleware. If that sounds confusing, just think of Chrome OS as something like Ubuntu. That's close enough for what we're talking about here. Android apps run in Chrome natively, but not really natively. There's a layer that talks to Android apps and talks to that middleware through Chrome that makes it seamless to the user. That layer is step one of Andromeda.
Fuchsia will work with the Chrome application platform and framework and support everything with compatible APIs. In other words, we won't see any difference but the people developing Chromium will.
It looks like Andromeda and Fuchsia is a hybrid of Android and Chrome, but not the way people thought it would be. It's the software underneath it all that's being changed to support everything. And that's about as awesome as it gets for people who work with Android and Chrome every day.
You and I are end users for Android and Chrome. We appreciate the changes (or hate them) to the operating system but are familiar with them both and choose to use them instead of something else. Changing that and offering something that looks and feels different is risky. Keep giving people the things they want to buy.
A universal OS is hard because not all screens are the same size.
Developers benefit from having one operating system that powers both platforms. As things advance, the lines between what a Chrome app is and what an Android app is will blur until there is only one app that runs on both. Developers can target the mobile, touch-friendly version or the full pointer-driven version, or both. This eliminates the biggest drawback to what Ubuntu and Microsoft are doing because a universal interface just won't work on a 4.5-inch screen and a 30-inch monitor.
Or everyone thinking about it all and guessing could be completely wrong. Wouldn't be the first time.