An exploration of WeChat mini programs
And what it means for the future of apps
I remember when my parents first showed me the iPhone.
I was still living in Shanghai. The iPhone came out in 2007, and the first iPhone sold in China was in 2009. I was sort of mystified by the technology, but at the same time it had always been in my core memory. This is, of course, the same for most of my generation. I barely remember a time without the iPhone.
My first memories with smartphones were mostly playing games. These were the O.G. smartphone games: think the original Plants vs. Zombies or Angry Birds.
On the other hand, WeChat was more like an entity that suddenly spawned into memory. We had permanently moved to the U.S. by the time it came around. I still remembered seeing the little QQ status bar icon on my dad’s home computer, or when my mom would bring me to work. As more and more things shifted to smartphones, WeChat slowly became ever-present and QQ faded away.
WeChat’s rise in China was not accidental. The threat that QQ would fall to mobile competitors was realized by eventual WeChat creator Allen Zhang, who proposed a new instant messaging app to Tencent CEO Pony Ma. Under Zhang, WeChat originally launched as a simple messaging app. When that failed to gain traction, WeChat copied another competitor, Talkbox, to add voice messaging. This was a legitimate feature because speaking Chinese is easier than typing it, especially for the generations before Pinyin was taught.
Contrary to what I used to think, every feature that WeChat added was deliberate (Allen Zhang even gave a speech about their ten principles). When QR codes came to WeChat, every account got one: you could now share your account and your content in a physical space. The same QR codes were utilized for WeChat Pay, which was tied to another popular feature: the ability to send red envelopes of money to friends. Building from this success, WeChat introduced a “tipping” feature to public accounts such as content creators.
Many of these features formed the bedrock for the introduction of mini programs in 2017. Instead of developing a full native app for iOS or Android, businesses could choose to develop a program for WeChat. They could integrate with the features people already used, such as chats, WeChat Pay and QR codes.
Tencent had, piece by piece, built a whole platform within a platform. It didn’t matter that the actual innovations came from other companies; Tencent leveraged its existing features, user base, and investments where it could. At this point it didn’t even matter whether you owned an iPhone or Android in China, so long as you had WeChat.
Why would someone choose to create a tightly-bound mini program over a native app with more flexibility?
From a technical perspective, developing a mini program is more accessible than a native app. The mini program stack includes JavaScript and markup languages similar to HTML and CSS. While not equivalent to the web, the inclusion of web-like technologies means developers can utilize their existing skillsets.
This effect exists elsewhere, too. Even in the West, many popular apps (Notion, Slack, Figma as well as incumbents like Amazon and Google) primarily live on the web. There are many use cases that a web app work just fine for. Progressive web apps (PWAs) have only increased the flexibility of the web by including features previously restricted to native apps.
In this way, a mini program exists as a strange middle ground between the web app and the native app. It’s kind of a web app, but it integrates deeply with the OS, just not the type of OS that we’d come to expect.
For companies, a unique proposition of mini programs is the number of entry points and possible flows. QR codes are one of them: they can be placed in physical spaces and shared digitally. Another is from within a chat: if you want to see something a friend shares with you, going through a mini program becomes a must. Authentication is handled automatically with permissions, becoming a background detail instead of the maze of passwords and social sign-ins we have in the West.
This forms the backbone of the mini program: one should be lightweight, focused, and have multiple entry points.
The other side of this discussion I’m interested in is Apple and the App Store. Knowing how Apple treats developers and the contradictory enforcement around in-app purchases, I had always wondered about the loopholes that WeChat presented in the system. Were mini programs simply immune to the infamous 30% App Store tax?
There were several conflicts related to this. Mini programs were permitted to link to external payment methods, a practice explicitly forbidden by the App Store (until recently). Apple continually pressured Tencent into disabling these payment loopholes. Yet, for a while Apple didn’t apply the same level of enforcement it did for, say, Epic Games or Hey. While Apple was fighting to keep its 30% cut and anti-steering practices, these loopholes were seemingly ignored for a while.
This is not to say that Apple and Tencent have had other clashes in the past. Apple forced Tencent to disable the aforementioned “tipping” feature for public accounts, because it was “virtual content” that needed to go through the in-app purchase system.
In the end, Apple reversed this ruling. Part of this was undeniably that WeChat was simply too powerful of an app: make WeChat worse on your platform, and users will look elsewhere. To cover mini programs, Apple did eventually launch the Mini Apps partner program, taking 15% of commissions from mini app purchases.
As a developer, I think that the contrast in app distribution between China and the U.S. is an interesting one.
In China, businesses that normally wouldn’t make a full-fledged app could make a mini program to establish an online presence. For restaurants, storefronts, and other places offering “in-person” services, the mini program has become the primary interaction point. It certainly makes more sense to meet users where they already are, rather than inventing a way to get to them yourself.
Part of this idea has gained traction with several other apps wanting to become a “super app” like WeChat. In southeast Asia, Grab is a popular super-app which covers payments, food deliveries and ride hailing. In China, competitors of WeChat operate their own versions of mini programs, even going as far to draft a standard. In the U.S, Apple’s Mini Apps program might spur other companies to develop a platform like WeChat’s.
Would we be better off if mini programs were a thing here? I’m not sure. With WeChat’s model, the platform remains controlled by one company. A mini program may be more accessible to develop than a native app, but theoretically the freedoms afforded by it could disappear anytime. The web remains the most open and accessible method we have for distributing software to mobile, but even a PWA lacks the seamlessness and tight integration of the mini program.
There is one interesting spec which solves the integration problem, yet sticks to standard web technologies and eliminates the need for a central server. Also, people are starting to use LLMs to create small, tailored apps for personal use. All factors considered, I think there is potential for this area to grow.
In the meantime, I will continue to use my poor reading skills to order coffee in China…using a mini program in WeChat.
Thank you so much for reading, and happy Chinese New Year.



