What is Fuchsia: a “unifying” OS for the IoT revolution


Google always has many projects, but only a few, special ones, get the honor of being transferred for commercial development. One such special project is Fuchsia OS, which has been available to the public since 2020 but has not had much consumer interest. This is an operating system that is designed to unite the entire ecosystem of gadgets under a single umbrella. Fuchsia OS is designed to work not just with smartphones or desktops, but with any smart device that's part of an IoT network, and Google seems to want to bring you a similar unified experience across all platforms, like Apple's. And this will be even more effective as mobile speeds increase via 5G.

At its core, Fuchsia OS will be agnostic to hardware specifications , offering a consistent experience across all devices . Using a modular approach, manufacturers will be able to selectively select Fuchsia elements based on the device, while developers can push out small updates just to implement new features. In addition to providing a single management interface, Fuchsia could eventually take on the role of a single operating system managing all machines.

While this might give you enough of a hint that Google is planning to replace Android with Fuchsia and even Chrome OS along with it, this article will give you details about the working OS and how Google is trying to take the tech world by storm. Let's start by exploring the role Google has in mind for the operating system, as well as the ideas that sparked the idea.

About Fuchsia OS

With Fuchsia OS, Google may be planning to wipe Android out of existence—or at least the memories of Gen-Z—but the OS's biggest and most sought-after role is to provide a consistent and unwavering experience across all devices , regardless of their specs, size, or usefulness.

Why fuchsia?

Apple may be best known for its iPhones and Macs, but it has a lot more software tricks than it gives credit for. It was the exclusivity of its software that not only helped Apple maintain a strong leadership in the industry, but also helped it bounce back from the management standoff that led to the ouster of founder Steve Jobs from his own company. Now Google is trying to achieve this, but is doing it differently, i.e. by swearing at open source principles .

It is expected that the brainchild of Google developers, Fuchsia, will occupy a large part of all intelligent machines and gadgets in the near future. It is this consistency across seemingly all platforms that ensures that users don't feel alienated when switching to a new smartphone brand or going from browsing the web or using the same app on one device to another. Smart speakers, security cameras, thermostats, air or water purifiers, robotic assistants, robots assisting robotic assistants—pretty much anything you can think of will have the same user experience, no matter how it shapes or forms.

Designed for audio interactions

While a big software monopoly is great for Google's financial system, another big reason for choosing the baby version of Fuchsia over a patched version of Android is that the new OS will focus on interactions that use voice experience instead of relying on touch. This means that Fuchsia will even be suitable for devices with displays that may or may not support a touch interface - or even a display.

In this age of virtual assistants, voice has taken center stage, with Google Assistant at the forefront. It has gained amazing functionality including the ability to receive regular or simple calls on behalf of users. These capabilities will likely be the building blocks for Fuchsia. What's more, this emphasis on voice rather than touch gives the tech giant the freedom to bring visual elements to life without worrying about whether they're well optimized for screen size and shape.

Starting over instead of updating

Android was designed primarily for smartphones with a QWERTY keyboard and was later developed for touch controls. It's now ten years old and supports a variety of devices, not just smartphones or tablets, but still relies heavily on touch interactivity. So if Google wants to prepare for the challenges of the next decade, starting from scratch seems like a better way than modifying Android to meet new needs.

In addition, Google may also be trying to distance itself from Oracle's lawsuit. The two software giants have been battling over licensing fees related to Google's use of open-source Java application programming interfaces, or APIs, in creating an early version of Android. The two giants have been at loggerheads since 2010, and in the latest court order, Google has been asked to pay Oracle $8.8 billion - an order it has contested and is currently preparing for a motion to hear.

While Google has already abandoned the nasty APIs in 2020, moving to a new ecosystem far away from the specter of Java as well as Oracle will not only give Google more freedom to explore and thrive, but will also kill off all of Oracle's capabilities - maybe. Apart from this, Google uses its own kernel called "Zircon" instead of using Linux kernels in Android to stay away from Linux and stay focused in the niche it created.

Apart from this, Fuchsia OS also allows Google to counter the problem of devices running on outdated software and we will learn about its capabilities in the next section.

Zircon Core

Part of the new approach that Fuchsia is part of is the new kernel used for the operating system. This kernel is called Zircon and is written in C++ rather than the C used to write Linux kernels. Zircon is essentially a microkernel that, in layman's terms, will better manage hardware-software interactions and improve efficiency in terms of resource utilization such as processing power and network speeds.

Zircon cores are not limited to smartphones or PCs and will support a wider range of hardware such as digital cameras, smart speakers, other IoT devices, desktops and laptops of all shapes and sizes. This will also help Google push updates to all devices at the same time so that all the devices you interact with are always up to date. If this turns out to be true, the Zircon core could help create a geek utopia.

Zircon will also be updated regularly, unlike the Linux kernel, which is written only to meet hardware requirements so that devices are instantly compatible with the latest updates.

What Fuchsia can do

Google considers the main problem of Android to be its focus on working with a touch screen: devices using other input methods are appearing on the market. The search giant is betting on voice control in its new OS. By default, Fuchsia is designed to use Google Assistant.

The operating system will be more closely integrated with other services of the corporation. Voice control will allow you to perform unrelated actions from running Google applications - for example, inform one of your contacts about a meeting location, viewing restaurant addresses.

Due to the fact that Fuchsia is intended to be a multi-platform system, Ledger cloud storage will be used to synchronize data between different accounts. It will allow you to save data from an application running on one device and continue working with it on another. For example, by opening the Chrome browser on a laptop, the user will be able to duplicate the same tabs on a smartphone.

A special feature of Fuchsia will be integration with the Cobalt analytical system, which collects information from all applications running on the device. The developers assure that this is only necessary to improve the security of the OS.

Also among the capabilities of Fuchsia is support for ARM and 64-bit Intel systems.

Fuchsia OS: a modular approach

Fuchsia uses a modular approach, which means that instead of being one big stack of code, it will be segmented into building blocks or "packages" . Everything, including system files, will be made up of these small packages, also called packages, which , in turn, can also consist of even smaller “components”. These components will only contain the code needed to perform one task . The component on its own cannot achieve much, but when grouped with other components, the frames will be able to perform the process. In addition, there will be two types of components - "agents" that run in the background, and "modules" that will be visible to users.

Modularity in Fuchsia OS; Courtesy of 9to5Google

While this modularity will allow system files and service packs to be broken down into smaller pieces that are easily acceptable to the system, it will also have other benefits. Another advantage expected from Fuchsia's modular structure is that it can new features that will only be added by installing new components . From a practical point of view, modularity will not only solve the problem of delayed and sometimes buggy system updates, but also results in faster app updates . If you want to visualize it better, you can look at it as modular hardware, like a built-in PC, or even simpler, a Motorola flagship using Moto Mods that improve its functionality.

All of this, while encouraging, also requires both collaboration and diligence on the part of developers, as this modular approach is crucial to the consistent experience that Fuchsia stands for.

Modular file systems

Fuchsia OS currently supports several file systems such as:

  • only for reading
  • temporary memory (for RAM)
  • persistent file system for permanent file storage
  • file system for storing packages with integrity check (for data encryption) and
  • typical FAT storage system

With modularity at its core, the Fuchsia architecture is flexible and could gain support for additional file systems in the future .

Fuchsia as a unified ecosystem for devices

Google rightly believes that the need for a new operating system is dictated by the emergence and rapid development of more and more new devices, the full operation of which is unthinkable without access to the Internet. To unite such gadgets into a single ecosystem, it is logical to create a more advanced system than the existing Android.

It is planned that the Fuchsia OS will be installed on the widest possible range of electronic devices with Internet access, from a computer to miniature sensors that transmit information via the network. By and large, Google is creating a new level of artificial intelligence that accompanies the user in many areas of his activity.

The Android operating system cannot cope with this task, despite its constant improvements, because... for this purpose it is morally outdated and something fundamentally new needs to be created, which is what the Fuchsia OS is supposed to be. According to information from Bloomberg, which in turn cites anonymous insider sources, Google intends to completely replace Android with a new OS within 5 years. First of all, it is planned to install Fuchsia in smart home components, and then displace Android from mobile communication devices.

Fuchsia OS will change computing technology, but how?

Real-time updates

Android is the leader when it comes to users, but despite this, it lags behind in the area of ​​updates. While user experience can be subjective, many still prefer iOS over Android, taking into account factors such as the software's long-term support and the former's consistent experience across devices. It was previously reported that Google was considering separating update packages at the Android vendor and infrastructure level, but this would only help update security for Android a little faster. Fuchsia, however, adds this functionality to the entire operating system.

On the other hand, Google uses its own Zircon microkernel instead of the Linux kernel in Fuchsia OS along with a modular approach to push updates in near real-time . This means that regardless of the brand, your smartphone can receive updates at almost the same speed and frequency as and Google Pixel devices.

To achieve this, Google has developed Amber, an update system built into Fuchsia OS that will update not only system packages and installed applications, but also the new microkernel as well as the boot loader . The Fuchsia team is currently working with various update frameworks to provide fast and accurate modular updates , as well as interaction between systems.

Registers

In an attempt to make Fuchsia more human, the OS will feature a feature called Ledgers that will store data related to usage on the device. This will allow users to start working on a new device right where they left off on the previous one . This feature will sync not only the data of an individual application, but the entire interface as a whole. All this information will be stored on a shared network, allowing users to have a seamless experience when switching devices .

Filling in the blanks

The name "Fuchsia" comes from the color of the same name, which in turn comes from the flowers of the eponymous fuchsia plant, which has more than 110 species. Although the name is not very common, you can very easily identify with this color (HEX: ). Easily confused by many with pink, fuchsia can be thought of as a hybrid of pink and purple. But the name goes beyond explaining the color combination and connects to the underlying metaphor.

fuchsia flower

Almost all official repositories that support fuchsia list it as a total of pink and purple. Below the surface, this means that the operating system is designed to bridge the gap between smartphones and PCs, between portable and desktop devices, between web apps and native apps, and even between Android and iOS devices .

Flutter, a software development kit (SDK) designed specifically for Fuchsia app development, can be used to write apps for Android and iOS other than Fuchsia OS. With minimal code changes, developers will be able to port the application interface to other platforms, allowing them to offer a consistent experience not only for systems running Fuchsia OS, but even for those located outside the platform.

Web Application Dependency

The internet is gradually being taken over by progressive web apps, or interfaces that run directly from the internet, offering an app-style experience without any installation. While there is limited information about the Fuchsia apps available at the moment, looking at the connected future, it's safe to assume that the OS will be designed for a web-first experience , much like Chrome OS.

In fact, the Google team running the project is working on something called "Web Runner", a web build engine that will be used to run web applications on the Fuchsia OS. This, in turn, will help make the Internet an integral and integral part of the operating system . But this does not mean that the entire operating system will depend on the Internet experience, and we hope to soon see some live examples of native applications ported to the platform.

Fuchsia Interface Definition Language (FIDL)

Fuchsia may be an interesting proposition for end users, but it is equally interesting for developers. Google wants to ensure that no matter your strengths in programming languages, you can contribute to the development of fuchsia. To ensure this, engineers working on the project developed FIDL, short for Fuchsia Interface Definition Language, designed to unify commonly used programming languages.

Currently, FIDL supports C/C++, Mozilla's Rust, as well as Go and Dart (the main language for writing Fuchsia apps), which are developed by Google itself, while more languages ​​will be supported in the future . Using FIDL, e.g. , developers can develop an application in Rust and then port the application to Go or Dart. - or any other supported language - without having to code the GUI again . This is done by treating the new code as an "implementation".

This presents an exciting opportunity for developers, and if you are one, you can use this guide to learn more about FIDL.

How is Fuchsia OS different from Android?

User interface

While Fuchsia OS is far from commercially available, thanks to a few good Samaritans we have some idea of ​​what it looks like. We know from various leaks and tips surrounding the look and feel of Fuchsia OS that it will be a map-based interface that is oddly reminiscent of Google Now. But there are plenty of elements that seem to be inspired by Chrome OS and even iOS , with a heavy dose of Google Design Material 2.

Older Fuchsia desktop OS interface

Google recently traded files related to the user interface that was previously known as Armadillo for something called Dragonglass. The new user experience is being developed privately by Google, but some public comments on the repository indicate that Google is at least working on three different custom shells or desktop environments for Fuchsia, namely Dugonglass, Flamingo and Dragonglass.

Not much is known about these custom skins, but Dragonglass appears to have the same interface found on smart displays like the Google Home Hub. It has different cards for different actions or apps instead of icons, hinting that Google is aiming to offer users a better experience than one where they spend a lot of time searching for the right option on the touchscreen. Instead, the OS seems ready for the fast-paced world of the future and could reduce its reliance on touch .

Even though the Armadillo interface is ready, you can still try it out to see the differences that may arise between Android and Fuchsia OS. There are apps that simulate the Fuchsia experience both on an Android smartphone (find the APK here) and on the web (check it out) for easy learning. This now-discontinued interface has one button on the navigation bar and it is currently assigned with the responsibility of taking you to the home interface. Additionally, dragging this button up from the bottom opens the Quick Settings panel when you're inside an app (which may remind you of the iOS gestures for the control panel on phones older than the iPhone X).

While we can't comment on the exact user interface just yet, there's a chance that Google could ditch the home page altogether and the unified interface that displays Quick Settings, Latest Data, and your Google Now feed (based on an enhanced version of Google Assistant) on one page. We'll keep you posted as soon as we know what the new interface might look like.

Cross-platform computing with Fuchsia OS

Fuchsia OS is designed to truly embrace the power of sharing, allowing you to enjoy the same performance in both the interface and apps across all devices, no matter their shape or size. But more importantly, Fuchsia OS will allow Google to leverage Apple's rich app ecosystem, allowing apps to be easily ported.

Flutter, an SDK developed by Google, can be used to create identical apps for iOS and Android. Although it is also the only SDK platform for Fuchsia app development at the moment. The SDK recently came out of beta, suggesting that Google is serious about not only making sure Android users don't feel like they're too far behind iOS users, but also for users. wants more developers to try their hand at Fuchsia Programs. Even the core Fuchsia custom skins were built using Flutter.

Moreover, the developers of Fuchsia, the official emulator for testing Android applications, got the opportunity to get acquainted with them - Android Studio received support for the Zircon kernel from Fuchsia. While at the time of this announcement it seemed like Google wanted to allow developers to run Fuchsia on Android Studio, a change was recently made to the AOSP Gerrit repository to highlight that Android apps will run on Fuchsia using a custom version of the Android Runtime.

In addition, a year ago Google also added support for Fuift, a programming language created by Apple, for Fuchsia. While this doesn't mean that Fuchsia OS will run iOS apps directly, the move will at least encourage and invite developers who are currently limited to the Apple ecosystem to try their hand at developing apps for the single operating system.

Interface

The first thing that catches your eye is the large-scale Material Design. The Fuchsia GUI is rendered using Escher's own physically based renderer. Windows, notifications, buttons, etc. are neatly placed on the screen, adding depth to the look. The wallpaper no longer looks like a flat picture that hides behind applications, but more like the view from the nearest window.

Fuchsia currently offers two types: a new mobile-centric design called Armadillo and a more desktop-friendly Capybara. Armadillo moves away from the usual model of icons and application menus towards a combination of recent applications, quick settings and your Google Feed. Capybara is still in an unfinished state: there is only a taskbar where you can see the time, a place for quick settings and something resembling a power button.

This is what Armadillo looked like last year:

In each case, applications open in their own cards, or multiple applications share one card. Some suggestions from Google Feed will directly open two apps in one card for a combined experience. Overall, this looks like an interesting evolution of the traditional app-to-home screen model, one that focuses more on the tasks themselves rather than individual apps.

Fuchsia OS feels like a successor to Android: here's why

In anticipation, Fuchsia OS can be seen replacing Android and there are several reasons for this. Fuchsia certainly feels like it was inspired by Android, despite not being completely visually identical. With Fuchsia, Google is reducing its dependence on other software giants, but it seems to have made sure that both users and developers feel at home. Here are some of the reasons that ensure this.

UI elements similar to Android Pie

  • Single Navigation Button: Fuchsia isn't necessarily similar to Android Pie, but it seems like the latest version of Android is intended to prepare users for the transition to the new ecosystem. A prime example of this is the single Home button and Google's recent decision to prevent Google Pixel 3 users from opting out of using the new navigation bar. This appears to be a step towards creating a better experience for Fuchsia navigation users.
  • App Actions and Suggestion Secondly, Fuchsia's suggestions, which can be seen in the demo interface, are reminiscent of Android Pie's App Actions, which are suggested actions for an app based on user preferences and normal action selections. Android Pie uses machine learning to curate these options, and with smarter and more intelligent systems, these suggestions may not only become more accurate, but will also eliminate the need to tap the screen to execute them - which is one of Fuschia's main goals.
  • Application modularity: The third and final similarity between Android and Fuchsia is modularity. Google recently introduced what it calls "app bundle," which is an alternative file format that developers can use when uploading their apps to the Google Play Store. By now you may have guessed it, but if you haven't, app bundles allow developers to break their apps into smaller units to make downloading easier (Don't you hate it when you have to download a large app or game again from the very beginning? when do you lose internet connection between them?). Additionally, in addition to simplifying the download process for users, app bundles also allow developers to add additional on-demand features to their apps without forcing users to download additional bundles.

Google is already working on fuchsia prototypes

Google is already working on certain software and hardware products, which shows that Google is actively involved, which is not only interesting for developers but also for consumers. Back in July last year, Google was reportedly working on a YouTube app for Fuchsia OS, barring some occasional developments such as a tic-tac-toe game.

In terms of hardware, Google has recently been found to be using resources on a device codenamed "Sherlock", and it will most likely be a digital camera, and is suspected to be a successor to Google Clips . This device uses a Sony IMX277 sensor, and although It has the most potential as a digital camera, it can also be a security camera given the investigative nature of the name.

Finally, one of the Fuchsia devices that actually made it into a commercial product is the Google Home Hub, which doesn't actually use Fuchsia, but was one of the first prototypes it was tested on. The smart display created by Google runs on a different platform called Cast, unlike other smart displays that use the Android Things platform. To be clear, Cast and Fuchsia are different platforms, but the latter is expected to have some smart speaker features, including a direct action interface and a heavy reliance on voice control. Thus, it can be considered that this device was launched in order to sense the overall emotions of users about the experience.

Fuchsia Logo resembles "Q"

This last point may be too speculative, but it's still worth noting. The Fuchsia OS logo looks a lot like the letter "Q" and it wouldn't be surprising if Android Q wasn't the next version of Android. So, is Google planning to replace Android Q with Fuchsia or is it too soon?

Similarities between the Fuchsia OS logo and the letter "Q"

Since Android Pie was a major change from Oreo, using Fuchsia may backfire for users, but we can still hope for some strong development along with Android Q. There have already been attempts to launch Fuchsia on smartphones and Huawei's sub-brand Honor. was the first brand to have its device be part of this testing.

Read

Fuchsia: architecture and security

Playing Around With The Fuchsia Operating System is a study of the security of the Fuchsia operating system, which, according to rumors, should replace Android. Researchers found several standard bugs in the OS, which nevertheless do not provide any authority in the system due to the OS architecture itself. And it is the description of the architecture that is the most interesting part of the article.

Fuchsia is a microkernel operating system based on the Zircon kernel written in C++. All other OS components, usually implemented inside the kernel, are placed in user space services and communicate with each other using the language-independent IPC mechanism. Some of these components, like the kernel itself, are implemented in C++ (USB drivers, for example), while others are implemented in other languages. For example, the TCP/IP stack is written in Rust, and Go is also supported.

Microkernel and Fuchsia components

Unlike other microkernel OSes, Fuchsia drivers can be bundled into a single process called devhost. In the figure below, AHCI, SATA, MinFS and BlobFS drivers are combined into Devhost Process 3.

Fuchsia Devhost Processes

This architecture reduces the number of context switches and makes the OS more efficient. On the other hand, the reliability of the components decreases, but not catastrophically - devhost processes usually combine drivers of the same stack (in the case of Devhost Process 3, these are drivers for working with the internal PC storage), so a vulnerability in one Devhost process will lead to a vulnerability in the drivers one stack and will not affect others (for example, USB drivers). Fuchsia actively uses the IOMMU module to protect device memory. Each Devhost process is only allowed to access its own I/O addresses.

Like Unix, Fuchsia follows the "everything is a file" concept, where files can represent both data on disk and devices or communication channels. However, unlike Unix, Fuchsia does not give each process access to the entire file hierarchy, but creates its own namespace for it (just as Plan 9, the failed successor to Unix, does). This is how the idea of ​​a sandbox is implemented, when each application has access only to a limited set of resources.

At the lowest level (Zircon microkernel level), all files are represented by handles - this is something like a token for accessing a file object. Each handle must have its own kind and rights that control access to system calls.

In the Fuchsia repository, all components have unit tests and fuzzers. The code is compiled with activated protection technologies: ASLR, DEP, SafeStack, ShadowCallStack and AutoVarInit. For C++ code, reliability is further increased. For example, a version of the [] operator with array bounds checks is often used.

The future of Fuchsia OS?

Now that we have learned about the past and present of Fuchsia OS, the right question to ask is about the future of Fuchsia OS. Taking into account the words of Travis Geiselbrecht, a member of the Fuchsia team at Google, the company has no intention of abandoning fuchsia and seems to be quite serious about it. With developments like a separate SDK, dedicated programming languages, a fresh kernel, and strong opposition to Linux, Fuchsia looks poised to take over Google's entire ecosystem of products—be it smartphones, laptops, or simply connected devices like Google Home and Google Home Hub . Fuchsia is the operating system that runs them all.

In the future, we may see Fuchsia combining with other emerging technologies such as cloud computing, ultra-fast 5G networks, quantum computing, etc. to evolve as a collective and connected system of devices, so that the operating system does not work in isolation. on each device. Instead, this all-encompassing OS can be run as decentralized instances on each device, all running in unison.

SEE ALSO: Looking for an Android alternative? Here are the best ones

This may sound like science fiction, but there is no reason to deny it. But amidst all this, will we lose the ability to customize our user experience - like we do on an Android smartphone - or will artificial intelligence tailor it to our needs? This is something that only time will answer, but we will continually update this frequency of articles with every important development in this area to keep you updated on what the future holds for Fuchsia OS.

Rating
( 2 ratings, average 4.5 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]