There is a lot of chatter around Google Fuchsia. Let us take a simple tour of the concept.
What is Google Fuchsia?
Fuchsia, created by Google, is a relatively new open-source OS. While open source technologies such as Linux, Android, or Chromium are around, Google built Fuchsia OS from scratch.
Fuchsia runs on a novel microkernel, Zircon, built by Google. To understand the structure, think of Zircon as the base upon which Google Fuchsia is built. This means it needs to be agile, robust, and secure. As Google designed it, it is free from issues or baggage brought by a legacy system. Fuchsia is where the applications and any UI runs.
Zircon handles only a few but vital device functions. These include the boot-up process, hardware communication, and management of application processes.
Source: Quark Labs
This means developers can use the Google Flutter app development to build interfaces for smart screens using Fuchsia OS. There are currently a few apps that are running a Flutter interface on Android, the web, and of course, some original Google Home Hubs using Fuchsia OS.
Components are fundamental to Google Fuchsia and not just for the UI. The official Google Fuchsia.dev site describes the components as “the basic unit of executable software.” Additionally, Fuchsia components are individually sandboxed.
Components have been built to grant specific access to other components only as required. This enhances security with excellent segmentation properties when compared to older platforms. This translates to any vulnerability affecting a single component compromising only its process.
The benefits of Google Fuchsia
- Complete independence from the Java programming language is the primary advantage with Fuchsia OS.
- Its scalability makes it possible to work in one system across devices within the same interface. This boosts the speed of ordinary everyday tasks and highly specialized ones.
- Based on a self-written kernel, Fuchsia’s development is devoid of the pitfalls of Linux used in Android. This makes it possible to customize each device’s system.
- Fuchsia simplifies multitasking by allowing users to place numerous application windows on the desktop at once. It then proceeds to “glue” them together, making it possible to switch between them, much like tabs on a browser.
The Structure of the OS
The Google Fuchsia platform has a graphical UI written in the Dart language and developed using the Flutter framework. A sturdy framework is being developed for building UIs, a package manager, a rendering system, file systems, etc., using Python. The Flutter SDK is designed for high performance and support for 120 fps. This makes it easy to run Google Fuchsia OS on an Android device. Here is a repository of the code.
The Material Design of Google Fuchsia OS has the renderer and Escher specially designed for shadows. This allows for clean layering of notifications, buttons, windows, and pop-up boxes.
There are two versions of Fuchsia’s UI, built based on Material design rules: Capybara (for desktop) and Armadillo (for mobile).
The Card Interface
A standout feature of Google Fuchsia is the design of the screen. Instead of the conventional rows of app icons, there will be a scrolling list of cards representing the apps. Other elements found on the screen include a profile picture, date and time, location, Google bar with suggestions, and a battery icon.
The Split-screen Mode
The split-screen feature of Google Fuchsia is a critical advantage. Upon dropping one app on top of another, the screen will split up. This allows both applications to be used simultaneously. Additionally, in the desktop orientation, users can choose between a vertical or horizontal split. Both Capybara and Armadillo allow up to three apps to be open in split-screen mode.
Most of Google Fuchsia’s functionalities have been kept under wraps. The functionality that has been revealed until now is fairly limited and includes many placeholders. For instance, it is possible to switch between multiple profiles.
While Google Fuchsia looks great currently, it still has a long way to go in terms of functionality.
Google Fuchsia in IoT
Google Fuchsia in IoT offers enhanced security as the individual modular components are limited in their access to data and in what they can or cannot do. Let us go over what makes Google Fuchsia a great choice for IoT.
The Fuchsia.dev site gives more detailed information. The basic principle here in Google Fuchsia in IoT is that each component has a small number of responsibilities and reveals services that other components can use to perform more elaborate tasks.
- The ethernet driver component —-> exposes a service for sending ethernet frames
- The network stack component connects to the ethernet driver component ——> uses its services to communicate with the hardware.
As these two components align on a standard set of protocols, they can be authored by different parties and distributed separately.
While this doesn’t guarantee device security, it certainly minimizes security risks through the implementation of controlled components.
Google Fuchsia in IoT works rather well as the individual components like the network stack, are well defined and isolated from other processes or components. Each component is limited to the functionality for which it was intended.
According to Google, the capabilities of the components used and exposed in Fuchsia must be explicitly declared. This makes it incredibly tough to exploit the stack. Further, even if it is exploited, the damage will be limited due to the compartmentalized nature of the component model.
Based on the above parameters, Google Fuchsia in IoT will be an OS maximally protected from external tampering and will only be partially available to developers to release their shells.
Additionally, third-party applications will not have access to Zircon. This means the installed applications will not clash when the system is being updated with the same updates.
Google Fuchsia uses the Ledger cloud storage system. Within IoT application development, this allows Fuchsia to provide rapid syncing across all devices from the same ecosystem. This makes the data secure while ensuring the user has access to any of their devices.
Google Fuchsia in IoT uses the cloud migration services not just for backup, but for creating a whole chain of data storage. Additionally, this functionality will be leveraged when using 5G as the implementation necessitates a high-quality and high-speed internet connection.
The File model
Based on the Entity-Agent model, Google designed the new system. This implies the full management of the system is by various built-in services (agents).
Generating and processing the data (entities) that the user operates on allows these services to interact. A crucial advantage in IoT here is that the model learns itself based on user activity data. This means the owner of a device will be offered the most relevant content.
As the newest OS on the market, Google Fuchsia will be integrated with Google Assistant. As Google Assistant is the nerve center of other agents in the system, this enables the device user to regulate both existing system components through voice commands and create new ones.
As an open-source novel OS, we at Josh Software are super excited to follow the journey of Google Fuchsia in IoT. Watch this space for more updates!