It all started in 2016 with a simple quip that initially appeared on the Fuchsia development page: Pink + Purple = Fuchsia (a new Operating System).
There was some meaning behind that simple sentence. Project Pink was a name that engineers from Apple and IBM gave to a new OS that used a new interface because the notes were written on pink index cards. Project Purple was the name given to prototype devices that eventually became the iPhone. These projects were new ideas that turned out to be wildly successful, and the original developers of Fuchsia, Google's latest operating system were involved in them.
But a witty name isn't an operating system and Google quietly worked on Fuchsia for the next five years. Occasionally we would get a little more news about the project or even a way to run it on devices like the Pixelbook. It was Google's way of letting everyone know the project was moving forward while simultaneously piquing the interest of developers.
It wasn't really a surprise that Google finally unveiled a version of Fuchsia that would run on consumer hardware when the original Nest Hub (originally sold as the Google Home Hub) was announced as the target for the first release. Seeing a new operating system deployed to an existing device was a bit of a surprise, though. But really, the whole thing makes perfect sense. It also shows a bit of Google's plan for Fuchsia.
But what exactly is Fuchsia? It's easy to say it's Google's newest operating system, but that leaves out almost all of the larger picture. So let's have a look at what Fuchsia actually is and what makes it tick.
Every operating system uses what's called a kernel to monitor and control all of the hardware and the ways software can interact with it. In Android, the Linux kernel is used. In Fuchsia, the kernel is a new bit of code called Zircon.
There are different ways to build a kernel, but usually smaller and faster is better.
Zircon is based on LK (Little Kernel) which was a real-time kernel for embedded devices written by Travis Geiselbrecht. Zircon is almost (the documentation waffles on that a bit) a microkernel that aims for low resource consumption and scalability. It's also written in-house by Google but is still open source.
Zircon, as it stands today, has a small set of user services, drivers, and libraries that are needed for the system to boot and communicate with the hardware so the user processes and interface that make up Fuchsia can load. Some nerdier information — it's written in C++ and assembly, most system calls can't block important threads, and unlike Android and iOS, it's nothing at all like the original Unix kernel.
What's important here is that Google built Zircon from the ground up. Google knows the problems Android has because of the way Linux works. Google also knows what it needs to power a system designed to run user applications and design a great UI. Google was able to force these things to happen with the later versions of Android, but starting from the ground up is a much better way.
What we see
The kernel may be the most important part of every operating system, but it's also something that most users will never interact with. That's by design — a kernel runs and acts as the supreme controller of all the other bits and pieces and doesn't need any interference from users.
The part of Fuchsia we can see is a different story. It looks a lot like Android or iOS based on the things we've seen so far, but it doesn't have to. Like the kernel, we don't really interact with the operating system and instead, userspace utilities run that translate our taps and presses and voice commands into a thing the processor can do.
Like the Zircon kernel, Fuchsia is written from scratch and will address the problems Google faces today.
The interface and initial user apps are written in Flutter, another Google project. Flutter was designed as a toolkit that can build cross-platform apps with a UI that looks the same regardless of what device is being used. A developer can use Flutter to make an app that looks and feels exactly the same on Android, the web, a Chromebook, or iOS. When combined with other development tools like Firebase and code written in Kotlin, Flutter apps are full-featured and beautiful.
As of 2021, right now Fuchsia is "just" a replacement for the Cast OS and interface we already know on the original Nest Hub. It can respond to our touch, it can recognize our voice, it can control the camera to make a video call, and it can do everything else the Nest Hub was always capable of doing. And it looks exactly the same. But everyone knows this is just the tip of the iceberg.
- From what we've seen so far, does Fuchsia look like an operating system that's scalable enough to power complex devices like phones?
I'm sure it is capable of a lot of things, but phones are complex and Android works great there today. I believe this means Google will focus on different devices for now.
- Does Fuchsia feel more developer-friendly when it comes to writing applications?
Fuchsia uses Flutter for building apps. That framework has proven very successful for building apps and will likely gain more popularity as it gains support for more platforms.
- How important or significant is it that Google is making this move?
I think their bet on Fuchsia is part of an experiment but also a way for Google to control the entire stack, from hardware to apps. Testing it on cast devices is a smart move, as those are devices they have full control of. This is not very important for app developers or consumers today, but maybe in the future if it turns out to be very successful.
I think Mr. Hellman is correct on all counts. Today, Android and ChromeOS are too ubiquitous and popular to replace with, well, anything. Fuchsia will have the ability to run Android apps and a web browser and application layer that can run apps for Chrome OS is surely possible and probable. But you don't replace anything important until all the pieces are in place. Android and Chrome are very important and the pieces aren't yet in place.
Will Fuchsia come to my phone?
One day we might see Fuchsia on both the best "Android" phones and the cheapest "Android" phones. Because Google controls the development of Fuchsia and it is built in a way that Google can update the operating system independently of any extra UI layer a phone maker or carrier adds, Fuchsia is the future. But right now I think Google has plans to revamp its entire smart home products using Fuchsia as the operating system.
Fuchsia is ready to power Nest devices like cameras, mesh routers, smart speakers, and thermostats. By all appearances, that's exactly what it was built to do. I would be surprised to see a new Nest branded device launch without using Fuchsia as the operating system barring any disastrous issues that arise from using it on the original Nest Hub.
Fuchsia is ready to power smart home and IoT devices but not your phone.
Once we move past that, Fuchsia is good for everyone if and when it comes to devices like our phone. Google has more control over the operating system and the updating process, which means new features come to every user at the same time and security issues can be addressed for the entire ecosystem, all at once.
Phone makers can use Google's development tools to build the same complex user interface that they are building right now. the difference is that it runs on top of the OS instead of being the OS. This simplifies the process and eliminates the expensive contracts with chip vendors.
Users get to enjoy the same (or better) "Android" experience we have today, complete with the great apps from Google Play, without seeing any real differences — except one: our phones should be supported longer.
Fuchsia is Google's way of creating its own full-stack smart platform across every device. A phone with a Google-designed SoC that runs Fuchsia would give Google the same ecosystem advantage that Apple enjoys today. That's something too alluring for Google to ignore.