Huawei’s HarmonyOS: “Fake it till you make it” meets OS development

Huawei’s HarmonyOS: “Fake it till you make it” meets OS development

Huawei is China's—and formerly the world's—largest smartphone vendor, and over the past 18 months, it learned an important lesson: the company can't rely on the US supply chain. In 2019, the US government banned US exports to Huawei, which cut the company off from access to most chip and software suppliers. Building a phone is hard without access to key parts and apps. Huawei's latest Q4 2020 numbers show its phone sales in free fall, dropping 42 percent year-over-year.

Because of this, Huawei wants independence from the worldwide smartphone supply chain. While hardware independence is something the company needs to work on, Huawei also needs to get free of Google's software. So, as many companies have tried to do before it, Huawei hopes to make an Android killer.

The company's attempt at an in-house OS is called "HarmonyOS" (also known as "HongmengOS" in China). "Version 2" was released in December, bringing "beta" smartphone support to the operating system for the first time. Can Huawei succeed where Windows Phone, Blackberry 10, Sailfish OS, Ubuntu Touch, Firefox OS, Symbian, MeeGo, WebOS, and Samsung's Tizen have all tried and failed?

To hear Huawei tell the story, HarmonyOS is an original in-house creation—a defiant act that will let the company break free of American software influence. Huawei's OS announcement in 2019 got big, splashy articles in the national media. CNN called HarmonyOS "a rival to Android," and Richard Yu, the CEO of Huawei’s consumer business group, told the outlet that HarmonyOS "is completely different from Android and iOS." Huawei President of Consumer Software Wang Chenglu repeated these claims just last month, saying (through translation), "HarmonyOS is not a copy of Android, nor is it a copy of iOS."

That makes HarmonyOS sound super interesting. Naturally, we had to take a deep dive.

After getting access to HarmonyOS through a grossly invasive sign-up process, firing up the SDK and emulator, and poring over the developer documents, I can't come to any other conclusion: HarmonyOS is essentially an Android fork. The way that Huawei describes the OS to the press and in developer documents doesn't seem to have much to do with what the company is actually shipping. The developer documents appear almost purposefully written to confuse the reader; any bit of actual shipping code to which you hold up a magnifying glass looks like Android with no major changes.

The phrase "fake it till you make it" is often given as motivational advice, but I've never seen it applied to OS development before. If you've ever seen a modern Huawei Android phone, HarmonyOS is largely the same thing... with a few strings changed. So while there's not much new to see, we can at least dissect HarmonyOS and debunk some of Huawei's claims about its "brand-new" operating system.

But first—a two-day background check?!

Before we dive into HarmonyOS, we have to actually get HarmonyOS, which is an incredible hassle. Supposedly some Huawei Android phones like the P40 Pro can be switched over to HarmonyOS through some kind of closed beta. This is limited to China, though. For me, getting HarmonyOS meant finding my passport.

Huawei’s HarmonyOS: “Fake it till you make it” meets OS development

For comparison, let's first talk about how other vendors serve up their operating system SDKs. For Android, you Google "Android SDK" from any desktop computer, click the first link, and press the download button. Apple requires developers to own a Mac for the iOS SDK, but from there it's just a simple trip to the App Store to download Xcode.

Before you can try Harmony OS, by contrast, Huawei requires you to pass a two-day background check. They even want a picture of your passport!

Huawei requires you to go to Huawei.com, make an account, and then sign up to be a developer by passing "Identity verification." This means sending Huawei your name, address, email, phone number, and pictures of your ID (driver's license or passport) and a photo of a credit card. You must then wait one or two business days while someone at Huawei manually "reviews" your application. Huawei helpfully notes that it will not charge your credit card.

Huawei's docs say that "the ID card, passport, driver’s license, and bank card are used to verify and match your identity information." OK, but why? Why does Huawei want to know everything about me first? And why does that take two days?

Even if you try to skip Huawei's horrible sign-up process and "pirate" the Harmony SDK by downloading it from somewhere else, the SDK won't run the emulator until you sign in with an account that has passed the two-day background check.

Can you imagine what a potential HarmonyOS developer will think when they get to this step? If you're an established developer in an app ecosystem, it's normal for the ecosystem owner to collect some identifying and financial information. You probably want a developer to be able to charge money for their app, which means you need to be able to transfer money to a bank account, and the ecosystem owner might be responsible for tax collection. Right now, though, we are miles away from that situation with HarmonyOS. At this point, which is just downloading the SDK for the first time, your typical downloader will be a curious developer who is just beginning to investigate Huawei's OS. (Signing up for "Merchant Service" is actually a totally different Huawei process.)

Nosy

This is supposed to be a brand-new operating system, and Huawei's position at this point would commonly be one of openness toward any potential developers. Google's one-click, anonymous download for the Android SDK, on Windows, Mac, and Linux, is the model companies should be emulating. Huawei is instead making this as hard as possible, and it's easy to imagine a potential developer balking at the ridiculous and intrusive download process, closing the tab, and going back to Android and iOS development. It's the worst first impression of an operating system I've ever seen. As a developer, you've got to wonder if Huawei will always be this difficult to work with in the future.

That said, I did all this.

In the spirit of taking one for the team, I shamefully sent Huawei a picture of my passport and credit card. My information probably went God-knows-where in China; it felt like a violation, and you're welcome. After a two-day wait, my social credit score was apparently high enough that I was granted access to Huawei's precious operating system. (Hopefully, Beijing doesn't have "a file" on me now.)

Now, let's see what we got after all this effort.