Huawei teased it’s HarmonyOS long before friction with the US cut it off from Google services and other crucial tech. The tension between the US and China just moved up the timetable for its development and release.
Technically HarmonyOS is poised to become the next major mobile platform, joining Google’s Android and Apple’s iOS as the operating systems installed on more than 90% of all mobile devices. But Huawei, who is now fighting its way back into the mobile phone business after briefly leading the market in 2019, has a bigger vision for Harmony. It hopes to pull off what no tech company has yet achieved: to create a single software platform for phones, tablets, computers, TVs, smart home appliances and more.
Despite Huawei’s strong position in the potent Chinese market and after throwing massive resources at Harmony OS, early investigations revealed that it was making liberal use of open source code, much of which it shared with Android’s code base. Android, in turn, makes extensive use of code underlying the free and open source Linux operating system.
All together now
Of course, most of the tech behemoths are trying to converge their sprawl of operating systems into a single platform. Apple’s impressive M1 chip has allowed it to unify its PCs and tablets on a single hardware platform, and its TV box and phone can’t be far behind. That will likely automatically trigger a consolidation across its half a dozen operating systems. Google might see benefit in rolling out a single version of Android for phones, laptops, TVs and gaming. Microsoft’s Windows is already unified on PCs and tablets, and might soon run the Xbox too. Samsung’s Tizen operating system has already rolled out to it’s TVs and some wearables.
The benefits of consolidating operating systems are obvious. There will be far less ongoing development on multiple fronts, fewer updates and less attack surface for hackers. Most importantly developers can the entire digital marketplace with a single app.
Huawei’s bitter experience at the hands of the Trump regime appears to have strengthened its resolve to succeed with it’s own software platform. Already Harmony OS has appeared on TV sets and one or two appliances, and is rumoured to appear on both phones, tablets and wearables in the next few weeks.
Here is lengthy and somewhat technical explanation from Huawei about what the future holds for its Harmony OS:
Huawei HarmonyOS: What is a distributed system?
HarmonyOS is a distributed system that integrates multiple physically separate devices into a virtual Super Device. HarmonyOS began with a vision of a system in which, if you open a map app on your phone and select a destination, then as soon as you get into your car, the map is automatically synchronised to the screen of the head unit. When you get out of the car, the map switches seamlessly over to your watch.
Huawei is now in the process of realising this vision, and the company maintains that the whole process will be so intuitive and seamless that users will easily be able to get the grips with the new OS. As soon as you get into your car, your phone becomes an extension of your car.
The reason HarmonyOS is so interesting is that it is the first in a coming wave of distributed operating systems designed to be used on an interconnected network of automotive head units, mobile phones, headsets, tablets, TVs, watches, and even devices with very limited computing capabilities, such as water heaters, washing machines, and refrigerators.
What Huawei has done is to reduce the size of the system through a “microkernel” and use a modular design that allows developers to choose which part of the code to apply based on the hardware needs. Therefore, although the exact code will vary from device to device, every device in the ecosystem will be running some code to support the distributed virtual bus, distributed data management, and distributed scheduling.
Put simply, the distributed virtual bus enables different devices to speak the same language and connect to and communicate with each other.
Distributed data management achieves information synchronisation between different devices in real time. This is key to collaboration between different, physically independent devices.
The remote read and write performance of the HarmonyOS distributed file system is 4 to 6 times faster than that of the Samba protocol of Microsoft. The OPS of HarmonyOS is 1.3 times higher than that of Android Content Provider. What’s more, HarmonyOS supports cross-device data reading, and Android does not. The distributed search capability of HarmonyOS is 1.2 times as fast as that of Apple iOS.
Distributed scheduling for security
Another capability is distributed scheduling, which is a measure to ensure distributed security. For example, Huawei earbuds support voiceprint recognition, and Huawei phones support fingerprint or facial recognition. These authentications are now used separately in different devices. In the future, for some extremely sensitive and critical operations, distributed scheduling will allow biometric authentication capabilities on multiple devices to be leveraged to improve security. In a connected device network, the operating system can easily use multiple devices for user authentication. This is a major difference between HarmonyOS and other operating systems. It is not an operating system solely for phones or for earbuds. It can run on any smart device.
What’s more, with distributed technology, devices with weak computing capabilities can enjoy improved security by making use of the security features of other devices. For example, a smart TV has more computing power than a router, but with distributed technology, a TV can help identify and mitigate potential risks for a router by using the computing resources of the TV to run security algorithms. Simply put, devices can share their capabilities with each other, and this includes security capabilities. Theoretically, the security of the entire distributed system is equivalent to the security of the most secure device in the system.
In short, when hardware is wirelessly connected over a distributed virtual bus, the capabilities of each device can be used by other connected devices. The capabilities of two devices can be used together to support one application.
Previous operating systems were often limited to a specific type of hardware. For example, Android only runs on phones and tablets. The Android user interface allows you to control the flashlight on your phone, but not a smart lamp in your home. When you stream a video via an app on your phone, you can watch it on your phone screen, but not on your TV. We used to take these limitations for granted, but distributed technology will take us beyond what we expect, allowing capability sharing among a wide range of complementary devices.
However, at the moment, we can only control other devices with another app, which is by no means convenient. An awareness of this is why Huawei puts so much emphasis on making the consumer experience seamless. However, you need more than this in order to have a fully functional distributed system. The biggest barrier to distributed systems in the consumer space is how unreliable device connection can be.
Huawei HarmonyOS is a “heterogeneous and asymmetric distributed system” in that the system connects fundamentally different devices. In a single distributed system, there may be a mobile phone with 8 cores and 12 GB of memory, a router with 1 core and 512 MB of memory, and a number of IoT devices with very limited computing capabilities, such as water heaters, microwave ovens, and smart lamps. Coordinating devices whose computing capabilities could differ by a magnitude of tens of thousands is a huge challenge. In addition, these devices are mostly connected wirelessly via Wi-Fi/Bluetooth, rather than fibre optics, which means the speed is limited and connection reliability is harder to guarantee. How devices can be discovered and connected in a wireless system is another problem that has long plagued distributed systems for consumer use.
Huawei employs three technologies to solve this problem: heterogeneous converged networks (which was have discussed), self-discovery and self-networking, and dynamic latency calibration. Self-discovery requires that Bluetooth/Wi-Fi on devices must be enabled at all times, and fast discovery requires that the devices be constantly scanning their environment for compatible devices, but this has the unfortunate side effect of draining the battery. In the end, it’s about striking a balance.
Dynamic latency calibration
Dr. Wang Chenglu, president of the Software Engineering Dept of Huawei Consumer Business Group, explained the concept of dynamic latency calibration using an example involving the synchronisation of audio and image. In his example, the audio and image of a video are being transmitted to a pair of earbuds and a TV respectively. The latency of the two devices is inevitably going to be different due to the use of two different physical channels, and this causes desynchronisation. One way to synchronise the audio and the image is to artificially add a little latency to the image display, which has a shorter latency than audio. Since latency is not a fixed value and varies according to the QoS (quality of service), a latency prediction algorithm is required to dynamically coordinate the latency of image display and audio.
HarmonyOS apps are released in Huawei AppGallery in app pack form, which consists of one or more Feature Abilities (FAs) and Atomic Abilities (AAs). FA is a program entity (with a UI) that invokes the AA to implement complex functionalities, while AA is a non-UI program entity developed by a third party to implement a single functionality. AAs are independent from each other and are designed to meet certain user requirements. Different devices will automatically upload FAs and AAs as needed. This way, developers need only develop one app pack, which can be deployed on multiple devices.
To some extent, Huawei has incorporated these technologies into EMUI 11, the reskinned version of Android currently running on Huawei’s smartphones. However, Android was not designed to fully support some distributed capabilities. HarmonyOS, as an operating system that was designed from the ground up with distributed technology in mind, promises to do a lot more with these technologies than EMUI 11, or any other version of Android. Other vendors are now following suit and developing distributed technology to support features like multi-screen collaboration, but Huawei has the first-mover advantage. Huawei is committed to making HarmonyOS fully open source, and a significant amount of the source code was released to developers in late December last year.
What benefits can a distributed system bring?
For household appliance manufacturers, the rise of distributed systems can allow them to offer enhanced functionality that consumers are willing to pay a premium for, thus boosting their profits.
For developers, HarmonyOS provides a diverse range of kits for implementing different features. Because developers don’t have to start from scratch and write thousands of lines of code, they can greatly improve their development efficiency. Consumers can enjoy greater convenience brought by device capability sharing and seamless interaction. Beyond that, it is likely that we will see unexpected use cases of HarmonyOS that bring benefits nobody could have anticipated.