Harmony and Compatibility

Huawei’s rumored operating system is now less of a rumor and more of a reality. At the Huawei Developer Conference, they announced Harmony OS, to be used on the Honor Vision TV and perhaps the Honor Smart Screen. They indicated that they would continue to use Android on phones and tablets… but that is contingent on the current trade ban. As XDA Developers’ Mishaal Rahman noted:

Yet, this new OS is still “plan B” for the Chinese technology giant, since Huawei will need to solve the biggest hole in the adoption of Harmony OS: the app ecosystem. Huawei is building up its AppGallery platform as an alternative to the Google Play Store, and this week the company unveiled Huawei Mobile Services as an alternative to Google Play Services. Huawei is in the process of building its own ecosystem, and if the trade ban doesn’t lift by the end of this year or early next year, then Huawei will be forced to switch to Harmony OS for its new devices, including the upcoming Huawei Mate 30 series. In fact, Richard Yu confirmed that the Mate 30 did not receive certification to use Google Play Services before the trade ban was enacted, so Huawei is considering using Harmony OS on the device if the ban isn’t lifted in time.

Little of this shocks me. Even if the trade ban gets relaxed enough that Huawei can continue with Android internationally, I would expect them to start shipping Harmony OS devices within China as soon as they decide that it is practical.

However, there were some particularly interesting nuggets in XDA’s coverage of the announcement, with similarly-interesting follow-on effects.

Open Source?

From the XDA post:

Finally, Huawei announced its plans to open-source Harmony OS, establish an open-source foundation, and create an open-source community for collaboration.

Simply making an operating system open source is insufficient on its own to guarantee success. If it were, Ubuntu Phone and Firefox OS would be significant players. Unfortunately, neither “crossed the chasm”, in part due to lack of manufacturer and carrier support.

Huawei is a manufacturer, and their moves are likely to result in at least some measure of carrier support, at least within China. Hence, Harmony OS has a significant advantage over other attempts to compete with the Android/iOS duopoly.

If Harmony OS actually does wind up in a truly independent foundation, that would make it easier for other manufacturers to adopt it. On the other hand, it could be that the foundation is a pleasant fiction, much along the lines of how the Open Handset Alliance turned out. And, if you do not recognize the name “the Open Handset Alliance”… well, that’s not surprising. It is the closest thing that Android has had to a foundation for overseeing it. Needless to say, Android is very firmly in Google’s control, and it remains to be seen how Huawei handles Harmony OS in this regard.

App Compatibility?

From the XDA post:

Developers will be able to use Huawei’s ARK Compiler to compile code from multiple languages like C/C++, Java, and Kotlin for Harmony OS. Huawei will be providing an IDE to support app development across multiple device types, including televisions, car kits, smart speakers, smartphones, smartwatches, and more… Harmony OS is not compatible with Android apps out-of-the-box, confirms Richard Yu, CEO of Huawei Consumer Business Group. That means you won’t be able to merely side-load any Android app of your choosing. In a press conference, Mr. Yu says that app developers will have to make “small changes” to their apps in order to compile them to run on Harmony OS. He states that it is “very easy” to transfer Android apps to Harmony OS.

All of this information comes from media events, so we have to assume there is some amount of “spin” here. Certainly, if Harmony OS supports Java and Kotlin, it would be easier to migrate an Android app to Harmony OS than, say, iOS. However, “easy” is quite a high hurdle to reach in terms of the level of effort of app migration.

One way that it could be “easy” is if they take the approach that BlackBerry did with their early Android efforts. Before BlackBerry retired BlackBerry OS and moved to Android, they had an Android runtime for BlackBerry OS. Developers could use some tools to convert an Android APK into a different file (BAR), and a BAR could be distributed to a BlackBerry OS device. This approach failed for BlackBerry for several reasons, none of which would preclude Huawei from trying and perhaps succeeding. It might still require a fair amount of work to port an Android app to be a native Harmony OS app, though, if this is Huawei’s approach.

Another possibility for this being “easy” is if Huawei basically adopts the Android SDK. Basically, they would have their own SDK with the same class structure, perhaps with some cosmetic changes (e.g., you have to convert android. to harmony. in packages). I would be somewhat surprised if they went this route, as it ties them to Google and Android more than they might like. It also raises interesting parallels to the Oracle v. Google series of lawsuits, with Huawei in the role of Google.

Yet another possibility is some sort of a converter, that can take code that makes Android SDK calls and convert it to making Harmony OS SDK calls instead. That would be difficult to pull off, since it has to convert both app code and libraries. But the Jetifier (sorta) accomplished it for converting Android Support Library references to AndroidX ones, so I certainly cannot rule it out.

Regardless, we would need more details to be able to judge whether moving an app to Harmony OS will really be “easy”.

Ratcheting Interest?

However, Huawei does not need getting an app over to Harmony OS to be easy. It simply needs such a move to be compelling. Huawei sells more devices than does Apple. If Apple can convince developers to write apps for iOS, Huawei should be able to convince developers to write apps for Harmony OS.

The catch is that Apple already has a large installed base of iOS users. Huawei has zero users of Harmony OS today. And unless Huawei has better success than a lot of manufacturers have had with smart TVs and smart displays, they will still have relatively few users by the time that they start shipping Harmony OS phones. Huawei will only have success selling Harmony OS phones if there is a critical mass of apps for those devices.

However, once again, Huawei has an advantage: initially, they might not need the world’s apps. They might only need China’s apps. One imagines that they can broker deals with major Chinese app brands, and a good developer outreach program can help pull in apps from “the long tail” of the app distribution curve. If they can get a reasonable Chinese app catalog at the outset, success can breed success, with Harmony OS device sales convincing more Chinese developers to port their apps to Harmony OS, helping to improve sales of those devices, etc.

If Huawei is able to convert their existing domestic smartphone sales over to Harmony OS, non-Chinese developers already distributing to China would need to take notice and consider Harmony OS ports of their own. This could accelerate if Huawei is open enough with Harmony OS to convince some other manufacturers to adopt it. And it would accelerate if Huawei starts selling Harmony OS devices outside of China.

You will know when Huawei thinks that they have succeeded: when they start offering support for converting Harmony OS apps to Android, believing that there is enough “Harmony first” development going on to warrant that kind of support.

What Now?

If you write apps for Android TV, you might peek at the Honor Vision TV and Harmony OS, to see if there are any “first-mover” sorts of advantages that you can leverage.

For Chinese developers, pay very close attention to what Huawei does. Even if you do not plan on shipping an app for TVs, you might experiment with Harmony OS on a TV, just to get a better sense for what Harmony OS development is like. That will help you decide how to react if and when Huawei starts selling Harmony OS phones.

And, if you are a “bleeding edge” sort of developer anyway, Harmony OS represents an interesting opportunity, comparable to those poking at Google’s Fuchsia right now. Fuchsia advocates might scoff at that notion, and right now, Fuchsia is ahead simply by being publicly available, if not on shipping production hardware. However, I think that Huawei has an easier path to 250 million Harmony OS devices than Google does for getting to 250 million Fuchsia devices. Huawei already sells more devices than that, whereas Google would need to convince other manufacturers to distribute Fuchsia-powered devices. Huawei still has to execute, and there are any number of ways that Harmony OS could wind up being “a whole lot of nothing”. After all, Samsung’s Tizen was in a similar position and has not had much success with developers or mobile devices.

For everyone else… check back in 2020, and let’s see where Huawei and Harmony OS are.