We already know that Google is working on a new operating system: Fuchsia. But what is it really, and what will it serve? This folder will summarize everything we know about it.
It's been some time since Google unveiled, in August 2016, the development of a new operating system. However, he did not announce it with great fanfare.
Far from it: the project's Github was discovered without anyone really knowing what the tech giant's goal was. The project is quickly taking shape, to the point that we can imagine its purpose now. So let's go back to this particular case.
Genesis of Google Fuchsia
In August 2016, the Github of Fuchsia is launched in mirror of the classic Google Source. Originally, we saw only a small geek project as usual to launch the developer, who is not the last to launch and kill tons and tons of projects as a result of by its very playful corporate culture.
We were just learning that it was a new operating system. More interesting: it is not based on the Linux kernel, as is the case of Android or Chrome OS, but on the core Zircon (formerly Magenta).
Zircon is a so-called "microkernel", that is to say a system kernel reduced to its simplest device to allow launching applications. They are generally used for small products like smart watches, which at first suggested that Google Fuchsia could be a new project to replace forks like Android TV or Android Wear (now Wear OS).
This being the case, the evolution of the development of this new operating system finally indicated to us that the project had much greater ambitions. All this without Google officially commenting on the events.
Working principle of Zircon
The new kernel created by Google is derived from the work of Travis Geiselbrecht: Little Kernel. This is an operating system kernel that has been redesigned to integrate only the most basic operations, allowing itself to be very light and fast to run.
Fuchsia, however, has evolved and today has its own architecture allowing it to govern access to hardware and communications of various applications. This is organized into a layer system:
Zircon: core of the system, it is mainly responsible for access to hardware and communications between software.
Garnet: the second primordial layer of the OS. It manages the lowest common tasks of OS, such as hardware drivers or software installation. Garnet integrates Escher, the graphics rendering engine, Amber, the Fuchsia update system and the Xi Core, the system text editor.
Peridot: the third layer of the OS that deals with application management and their modular design. It integrates Ledger, the online synchronization of data, and Maxwell, the artificial intelligence of the OS.
Topaz: the last layer of the OS, it takes care of what is at the forefront for the user: the applications and their design. This is where we find the support of Flutter, which is responsible for the graphical interface of Fuchsia OS, but also the basic applications of the system such as the calendar or the file explorer.
This organization in the form of layers is made to facilitate programming … but also customization. It seems that future device creators could create their own layers, or even completely replace one base layer of the system with another. As Android, manufacturers could customize the system in depth … but without having to touch the system operation, facilitating the deployment of updates.
A real new OS
While it was primarily reserved for those speaking the command line, Google Fuchsia received its user interface in March 2017. This is where we could see the first intentions of the developer, who showed us more about his philosophy.
Remember that so far, the idea that prevailed on the Web was that Google was developing an OS for connected objects that would be able to interact with Android. This idea was abandoned the minute the design of Fuchsia appeared.
The first photos of the open system were not exceptional, and for good reason: in the absence of a screenshot tool, it was mandatory to literally take a picture of the screen of his computer.
With its connection interface and design while cards leaving room for a whole system of notifications and applications launched in multitasking, doubt was no longer allowed on the ambitions of Fuchsia in the future.
Functional principle of Fuchsia
Graphical interface adapting to the target device
New OS requires, new principles of operation will be to learn. As for Material Design, Google relies primarily on maps with large areas of color separated by a play of shadows offering depth. What to visually understand the logic of importance of each element.
Two graphical interfaces took care of this desire at the origin of the project: Armadillo, for mobile devices, and Capybara, which extends the experience to large screens such as tablets or laptops. Of course, things like quick settings, recent apps, or the Google feed are tighter on mobile, when they naturally extend to a big screen.
You'll understand: this is one of the first signs that Fuchsia OS is intended for absolutely all types of devices, whether it is a smartphone, a tablet, a smartphone laptop or even a connected object.
However, the situation has evolved and the development of the Fuchsia OS user interface is no longer based on Armadillo. Three projects have been launched: Dugonglass, Dragonglass and Flamingo. Alas, they are all developed internally: we will not be able to see the evolution any more.
Modular applications and Stories
The Google feed really seems to be at the center of the developer's experience here, and therefore by extending his wizard. At the opening of the system, we find the classic configurations of his account and the flow similar to Google Now. This one is however able to interact more deeply with the system, and in particular to open applications.
The applications fit into their own map, but several applications can exist in the same map as the multitasking mode of Android. In short, a map is here "a view" that can be seen in full screen or move freely on the interface.
Fuchsia's applications are, however, quite specific, since they are cut into modules. Thus, it is possible to access a single specific function of a software within a card without launching the entire application. Above all, it is possible to create "Stories": different software modules that interact with each other with the same basic data. These are also the Stories that can be found in the list of recent applications.
For simplicity, imagine that you are watching a conference on YouTube that you want to comment live on Twitter. You will open the YouTube video, and integrate below the Twitter application to send your tweets. This is what will be considered a Story and therefore somewhere an application in the logic of Fuchsia.
Constantly up to date
It's all well and good, but how do you ensure that all the interactivity of the system is well managed between the various devices able to accommodate it? The goal of Fuchsia being to be the only OS of all your devices, we must be sure to find his experience as it is on all our screens.
For this, Fuchsia OS uses Ledger. According to Google, this is a distributed storage system between all devices. For simplicity, your Google Account simply takes care of automatically backing up your applications, actions and progress in the cloud, while all your instances of Fuchsia OS draw from the same source to stay constantly in sync.
In theory then, you can find your desktop and your applications exactly as you left them, no matter the device.
Maxwell analyzes you and helps you
Fuchsia does not rely only on the Google Assistant, strangely called Kronk (referring to Kuzko) in the current version of the system, to be smart. The complete OS is thought to be proactive in your use.
For this, he uses Maxwell. Maxwell is the system that manages Fuchsia's intelligence. It is supported by "agents" – background tasks – who collect information about your usage and report it to Maxwell who will try to make suggestions.
Thus, we know that an agent is able to read an email and create a "mail" entity that gives a "context" to Maxwell. Depending on your actions, agents report new entities to integrate into the context, which allows artificial intelligence to offer you the next step in your action flow before you even think about it. This is just an example, developers being free to imagine any agent.
The important thing is to note that the agents are independent, so they do not need to communicate with each other: Maxwell, the system itself, is responsible for making the relationship between applications consistent. What optimizing the modular management of applications much more naturally, without having to rely heavily on developers and their openness.
Fuchsia is also thought to be easy to use for developers. First, a significant advantage: it is not necessary to rewrite its application to suit a smartphone, a tablet and a laptop. The same code works everywhere, since this is the will of the OS.
Most importantly, Fuchsia OS supports Swift, the programming language powered by Apple. Also, developers should be able to very easily transpose their macOS and iOS applications to its new operating system, without too much additional costs. Note that like Chrome OS, Fuchsia could become compatible with Linux applications.
Why a new OS
Android and Chrome OS are both based on the Linux kernel. As such, they also suffer the defects. The main thing for Google has always been to rely on the manufacturers to update the operating system.
Whether it's new features or important security patches, it's up to manufacturers to update the system. Treble will have improved things, but not everything is perfect.
Fuchsia is organized so that applications can not access the kernel at all. It is also supported by a centralized update system, named Amber, which continually keeps a device up-to-date in a secure manner.
There is another reason for this: the legal issues that Android faces with Oracle. When it was created, Android used Java and many free APIs with a common sense agreement with Sun Microsystems. After its redemption, Oracle seeks to recover its money and is about to get there.
Google obviously does not like this situation that could lead to having to pay regular royalties to Oracle. No doubt this is an additional incentive for the developer to review his copy from scratch.
Finally, an operating system thought of zero has the advantage (or the disadvantage, depending on the angle) not to drag behind him an entire application universe created over several years, as is the case for Linux or Windows . Also, it is better able to design an OS that can truly adapt to all types of devices.
Thanks to 9to5Google's work that helped to build and illustrate this guide