Google’s Fuchsia is a Smartphone OS with a New UI But No Linux Kernel
As is customary with everything Google, if it exists, there must be more than one of it. Jokes aside, Google does seem very much interested in bringing up and maintaining not only Android and Chrome OS as viable and mainstream OS’s, but they’re also looking at bringing up yet another OS in the form of Fuchsia.
Fuchsia was last talked about in August 2016, but the OS was in its rudimentary form and just taking shape. Since then, Google has been hard at work, albeit discreetly, in giving more substance to the fledgling OS.
Fuchsia is the new open source OS from Google, one that does not utilize the Linux Kernel. Instead, Fuchsia uses a Google-developed microkernel called Magenta. The Magenta Kernel follows along an MIT-style license which allows for others to do whatever they want with the code (including modification, distribution and keeping said modifications private) as long as the original license is available somewhere in the derivative.
Magenta is the core platform that powers the Fuchsia OS. Magenta is composed of a microkernel (source in kernel/…) as well as a small set of userspace services, drivers, and libraries (source in system/…) necessary for the system to boot, talk to hardware, load userspace processes and run them, etc. Fuchsia builds a much larger OS on top of this foundation. Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.
This is a definite change from GPL v2 followed along on Android’s Linux kernel, which placed an obligation on the modifier (usually OEMs) for open sourcing the code changes if they modify and distribute any part of the code. Depending on which side you’re standing on, one can argue the choice of license and the deviation from the Linux kernel is for better or for worse.
Other parts of the OS are licensed separately and often individually under BSD License 2.0, Apache 2.0 and MIT.
Ars Technica notes that the interface and apps on Fuchsia are written using Google’s Flutter SDK, a project capable of producing cross-platform code that can run on Android as well as iOS. Flutter apps are written in Dart, Google’s in-house Web development language which focuses on high-performance apps on mobile. Fuchsia also has a Vulkan-based graphics rendered called Escher, which Ars Technica mentions as seemingly custom-built to run Googles’s shadow-heavy Material Design UX.
As Fuchsia’s interface is written with the cross-platform Flutter SDK, it is possible to run parts of Fuchsia on an Android device. Hotfix.net brought to light how to build Armadillo, basically a demo app to showcase what the SystemUI of Fuchsia would look like. You can download the Fuchsia source code and compile Fuchsia’s SystemUI as an Android apk and install it on your device. In case you don’t want to go down that route, nor wait for someone to compile and distribute it, Hotfix.net was kind enough to include a demo video of the interface:
Since the SystemUI consists of a lot of placeholders for components that are in different stages of development, there isn’t much you can do with the SystemUI as of yet. The homescreen on Fuchsia in its current form consists of a vertically scrolling list, with an information widget in the middle which displays the date, your city and your profile picture. Above this widget is what appears to be Recent Apps and scrolling below this widget will bring up Google Now-like suggestions which are currently just placeholders. Tapping on the widget brings up a re-imagination of Android’s Quick Toggles to an extent.
Armadillo UI also features multi-tasking features with better window management than seen on Android currently. There are a lot of ways you can arrange apps, including having four apps open at once or even resorting to a tabbed interface. The Armadillo UI also features Fuchsia’s keyboard with a new dark theme.
It is abundantly clear that Fuchsia as an OS is still very much in its early stages. One only needs to take a look at Android to realize how much effort goes into making an OS and refining it, which in turn will give you an estimate of how far Fuchsia as a ‘product for the public’ is in the future.
Since Google has also been quiet on the whole OS and its progress, it is further difficult to estimate what future this OS has, if at all it does in the first place. Ars Technica quotes Fuchsia Developer Travis Geiselbrecht as having said:
[Fuchsia] isn’t a toy thing, it’s not a 20% project, it’s not a dumping ground of a dead thing that we don’t care about anymore.
While the developer insists Fuchsia is more than just a temporary fling, Google’s (and Alphabet’s) fickle nature is well known, unfortunately.
Ars Technica speculates that the OS in its current state seems a lot like a new branch of Android, wherein Google is fixing a lot of its early and foundational mistakes and utilizing a lot of its experience that it acquired over the years building the world’s most popular smartphone OS. With Fuchsia, Google can successfully detach itself from the Linux kernel and from Java right from the ground-up — a task that would otherwise be very, very difficult in Android currently.
The future of Fuchsia is exciting. This just might be the next big thing, and you can experience it before it becomes the next big thing. For instructions on how to build Fuchsia’s Armadillo UI to try it out on Android, follow along Hotfix.net‘s brief guide. You can also check out Fuchsia’s source code over at Github or GoogleSource.
What are your thoughts on Fuchsia and its Armadillo UI? What do you think the future holds for Fuchsia, Android and Chrome OS? Let us know your thoughts in the comments below!