Google’s latest operating system project, Fuchsia, may be largely a mystery, but it reinforces a truth that platform vendors are having, grudgingly, to acknowledge: one operating system does not fit all. For a company which has put so much effort into making Android an OS for all purposes, Google has a remarkable number of potentially conflicting platforms, now including Chrome OS, Brillo and Fuchsia.
Even though it looks like an experimental OS for embedded devices, Fuchsia was described by its own Google team as being designed for “modern phones and modern personal computers”, which might be just how Android and Chrome OS would describe themselves too. So is Google hedging its bets, extending Android to cars, homes and wearables while developing alternatives just in case? Or is there a more coordinated master plan at work?
The failure of one-size-fits-all OSs
Many companies, of course, develop parallel systems, creating dilemmas for the marketing departments – especially companies with a culture of innovation and semi-open source activity like Google (though the same parallelism used to characterize the far more controlled Samsung too). But Google’s multi-headed OS hydra may well have a greater commercial logic behind it. If it can create a fully optimized platform for each key emerging area of connected experience, and then marry them all together at the applications layer with the ubiquitous Android, it might achieve what Unix, Linux and Java promised, but failed to deliver all these years.
All those, not to mention the proprietary unified OS attempts like successive generations of Windows, ran up against the huge challenges of extending a single OS across very different hardware systems, user and developer communities, and user experiences. The fragmentation becomes even worse with the rise of a new host of connected devices, and companies which missed out on the mobile market because of Android’s dominance have been eagerly grasping the opportunity to devise a fully optimized software environment for virtual reality headsets, for smart clothing, for industrial robots, for drones, for car dashboards, for connected light switches.
Can all these target devices, and many more, with their very varied screens, interfaces and applications, really be served by one OS? No, say the firms whom Android pushed aside, such as Samsung with Tizen and Huawei with LiteOS. Google increasingly seems to be saying no too, despite the proliferation of new Android strands for specific device types.
Chrome OS enables devices – initially lightweight laptops but now streaming gadgets like Chromecast and others – which are inherently cloud-connected, while Android, in its commercial implementations, is optimal with downloads and offline/online.
Then there is Brillo for embedded, ultra-low power devices – it is used in the Google Wi-Fi OnHub while its associated application layer framework, Weave, is used by the Nest home devices subsidiary, along with the Thread connectivity protocol – and access to Android apps and services.
This is the key – different OSs, but with various levels of integration with the huge Android base of developers and applications. Brillo is essentially a stripped-down version of Android, while Chrome OS is entirely separate, based on the Chromium code base which is increasingly strategic to Google (it also underpins the browser and the CoreOS containers). But Chrome OS has also become increasingly entwined with Android, enabling Chromebook users to harness those apps and offline services too.
Fuchsia’s early details
The details of Fuchsia are few and far between at this early stage, but it appears to be an ambitious project, with one core component drawing a lot of attention – it won’t be using the Linux kernel at all. Itappeared on GitHub with just the description “Pink + Purple = Fuchsia (a new Operating System)”. It can be trialled on an ARM or Intel computer or a virtual machine, and its next port is said to be to a Raspberry Pi to test its low power credentials further. It uses Google’s own Dart programming language.
While a non-Linux OS might be commonplace for very low end embedded devices, Fuchsia is more than a simple RTOS (real time OS), since it has “grown-up” capabilities such as advanced graphics and 64-bit support and a capability-based security model. This points to an attempt to create a Linux-free OS and potentially create a whole new approach to open OS development (and IPR) a quarter-century after Linus Torvalds made his breakthrough.
Fuchsia will run on the newly developed Magenta kernel (based on the Little Kernel project), instead of the Linux kernel that forms the heart of all Linux distros – including Android and Chromium. As such, Google’s new OS looks like it will be entirely homegrown.
The GitHub repository notes “LK is a kernel designed for small systems typically used in embedded applications. On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of RAM, with arbitrary peripherals doing open-ended computation.”
Whether that makes it more efficient than the Linux kernel remains to be seen – after all, that codebase has existed for quite a long time now, but has been the source of near constant development from the open source community. Those open source advocates are likely going to be quite uncomfortable with a Googlespawned OS, but for Alphabet itself, there might be some strategic advantages to the homebrew platform.
This would most likely be targeted, in its commercial stages, to compete with the rising number of specialized lightweight systems which sit somewhere between a full platform and a real time OS (RTOS) like VxWorks. The latter’s developer, Intel unit Wind River, is playing in this space, as is ARM with mBED OS, and up the stack a little, there are numerous vendor efforts like Tizen, and open source alternatives.
The Magenta kernel has been designed to compete at the RTOS end, against the likes of FreeRTOS and ThreadX, which are operating systems designed for devices that are incredibly hardwareconstrained – and thus more likely to be found in remote IoT deployments. These embedded devices often use non-Linux kernels, and so that realm won’t be too unnerved by Google’s proposition.
How far will Fuchsia cannibalize Android, or ride on it?
But Magenta is also being built to scale up to far more powerful compute platforms such as phones and PCs, so if it succeeds there in future, Google will have to make difficult decisions about the risks of moving away from Linux; the level to which Magenta would be allowed to cannibalize Android; and how the two OSs could be converged. It seems impossible that the company would throw away the ingrained advantage that its Android base brings it, whether in embedded devices or new generation smartphones.
Fuchsia could conceivably be the basis of something like Android 7.0, or rather the open source AOSP component that underlines the OS itself, but it is more likely that Google will work on enabling Fuchsia developers and users to have Android compatibility where required.
But the sheer amount of work and risk to replace Android – even if Fuchsia proves more optimal for upcoming user experiences; even if the replacement takes place over many years – is daunting. Far better to keep Fuchsia focused on powering embedded or hardware- constrained devices at the network edge, and reworking Android as radically as necessary to enable it to leave iOS in the dust when mobile users start to embrace new experiences driven by hyper-contextual awareness, AI-driven search and query, voice and image recognition, and virtual/augmented reality.
The old OSs and tools will struggle to keep pace with all that, and Google may be recognizing this – in far better time than Microsoft did with Windows as the web and then the mobile eras dawned. But on phones and PCs, it is already introducing software which will revolutionize Android and Chrome without the need for a brand new platform.
Project Tango has had a rocky start, but promises augmented reality experiences which will become as natural to the user as the search box and the maps tools are today. And as part of the Chromium project, Google is working on bringing VR support to its Chrome browser, a move which could help transform the web and mobile experience.
According to Google’s Francois Beaufort, the Chrome Beta and Chrome Dev channels have a setting that “allows users to browse the web while using Cardboard or Daydream-ready viewers”. Daydream is the VR platform which Google unveiled at its I/O conference this year, while Cardboard is its low cost technology for turning a handset into a VR viewer.
These are the projects which will change the rules in the next phase of mobile and IoT usage, and will help to tie users and OEMs into Android, reluctantly or not. It seems impossible that Google would sabotage all that with yet another PC/phone OS, while in the embedded world, it may have a chance to burrow far more deeply into the IoT and all its many devices than it can with Android.