An intriguing Git repository appeared a few days ago from Google. Entitled Fuchsia, it claims to be “a new Operating System???.
It has support for far more languages than Android, with Dart, Go, LLVM and Rust compilers built in. The Dart support especially is well ingrained, and after recent experiments with the language myself, I often wondered how much of a Java replacement it could be.
On first inspection it seems ideal for embedded devices, but other features and code commits hint at a unified OS for desktop and mobile.
It’s unlikely that Google have any concrete plans to replace Android just yet, and it’s even more unlikely that they would work on it in the open. Still, it’s a fascinating mystery, I’d love to know what you think about our new pink and purple enigma.
The brand new Google OS is not Linux based and it uses an advanced Google developed micro-kernel coined as “Magenta???. With the on-boarding of Fuchsia, Google would be on the way to dump the Linux kernel as well as the GPL the operating system that has been licensed under the mix of MIT, Apache 2.0 and BSD 3 clause. Fuchsia is designed technically to work on modern systems and phones with extremely fast processors and using non-trivial amounts of RAM.
You may be wondering: what the heck is a microkernel? It’s basically a stripped down version of a traditional kernel (the core of an operating system that controls a computer’s underlying hardware).
This image illustrates some of the tasks kernels manage that mircokernels:
Google Fuchsia now has a UI which has been named as the “Armadillo???. The Fuchsia interface is written with Flutter SDK (cross-platform). Armadillo has a totally different home screen which has a home button, a keyboard, and a window manager. It basically supports a vertical scrolling system and there are specific slots where the user can himself adjust the various day-to-day aspects like battery icon, date and time display, temperature settings, profile pictures and so on. It also uses the concept of story cards like which are the most frequently used or recently used apps, and a lot more.
Armadillo is written in Flutter and is technically divided into two separate apps i.e Armadillo and Armadillo User Shell. Where Armadillo is a Flutter app and contains the majority of the code and can run on iOS as well as Android and any other platform that Flutter supports. On the other end, an Armadillo User shell is a kind of thin wrapper around the Armadillo instance that acquires the data from the Fuchsia system and interacts with the Fuchsia system’s services via the FIDL interfaces. Hence Armadillo runs everywhere Flutter runs but Armadillo User Shell only runs on Fuchsia.
Android, as well as Chrome OS, are both based on Linux and it has numerous downsides. The fragility of Linux lies in the fact that the system is composed of n number of components and they might work reliably but not necessarily fast. This becomes the reason for problem mostly for the open sources and it creates significant loopholes in the security.
Fuchsia in a way is expected to overcome all the shortcomings of the previous Operating Systems, thereby promising a consistently high performance impossible to implement in the present Android system architecture. Through all the vital experiences with the smartphones and PC operating systems, Google has planned Fuchsia well where it can control each and every component of it right from kernel to UI to a lot more.
Google hasn’t officially said anything about the purpose of this operating system, so I’ll speculate:
- Since Oracle’s 2010 acquisition of Sun Microsystems, the Java ecosystem (which Android is built on top of) hasn’t been as friendly to open source as it used to be. In fact, Oracle unsuccessfully sued Google for $9 billion last year claiming Android violated Sun’s licenses. Google’s new operating system represents an opportunity for Google to stop using Java all together (and so far, none of Fuchsia’s open source code is written in Java).
- By moving away from the Linux kernel and focusing all its energy on Magenta, Google may be able to introduce specific features it needs faster than the Linux community — with its more diverse interests — would be able to.
- Android wasn’t designed with virtual reality or augmented reality in mind. This seems to be where computing is heading. Starting fresh with Fuchsia will allow Google to focus on virtual reality from the beginning.
Future of Fuchsia
As far as development of a full-fledged running Operating System is concerned it takes a number of years to do so. For example, the now-so-famous Android Operating System was under 5 years of development prior to making and entry and capturing the market of smartphones. The development of the Magenta kernel is estimated to have started around February 2016 and anticipating its fully established version will not debut until 2020. But Android should drift towards Fuchsia eventually.
On an ending note, Fuchsia is a massive project and it is almost as if Google had to design Android from the scratch. However, the most difficult part might not be developing the Operating System but to go for the risk involved in the grand transition idea to a brand new OS from the world’s most popular OS. It might be a huge success or may not. Let’s keep our fingers crossed after all it’s “Google???!