Microsoft announced that Progressive Web Apps (PWA) will be added to the Microsoft Store (the “Store”). This means just like a native app (or Universal App in Microsoft Store parlance), you can build a PWA app and have that added to the Store. From a developer perspective, this is great. A PWA app in theory should be much more cross-platform than a native app. But what I find more interesting is thinking about the “why’s” a company would do something.
The big tech companies have been battling for years. When you are building your business, trying to navigate the cesspool of technologies is a challenge. You have to be careful of betting on a technology that could get dropped when it isn’t a strategic fit anymore. Remember a thing called Silverlight? As developers, we know its possible to have standards and the Web has been that shinning light. But Apple, Google, and Microsoft all have different objectives. Unfortunately, rather than evaluating a technology on its technical merits, it’s actually more important to evaluate it on the viability of its long term success.
Google is an advertising company. Google needs access to vast amounts of data so it can index it and sell ads. When Apple came out with the iPhone and native mobile applications (“Mobile Apps”), this became an existential threat to Google. Apple builds walled gardens, and the explosion of iPhone mobile apps that Google can’t crawl is a serious threat to it’s cash cow.
Google therefore rightfully promotes anything Web. This is why we have the Chrome browser. While PWAs are promoted as an easy way for developers to make richer web apps, they are also a way to combat the competitive pressure of native mobile apps – specifically Apple’s walled garden. Between Android and PWA’s, there is going to be huge amounts of competitive pressure on Apple to adopt more of these open web standards.
Apple has always believed in a walled garden. By making closed/proprietary products, Apple has incredible control over influencing the user experience. For example, this allows Apple to allow you to make an iStore purchase on your iPhone, and switch to your iPad with a seamless user experience. This gives Apple a very defensible (protected) and profitable business – the holy grail that most businesses want.
So it’s no coincidence that Apple is late to the game supporting PWAs. A PWA negates the importance of their app store. But Apple can continue to use a trick from Microsoft’s past and use “Embrace and Extend.” For instance, Apple can embrace the new web technologies, but use proprietary browser hooks like only supporting Apple Pay on Apple devices.
Apple has some problems. It isn’t trying to become a cloud company. It isn’t trying to become an advertising company. I see Apple as continuing to move towards becoming a media/content distribution company, which puts it on more of a collision course with Amazon. This also means Apple will probably always be at the tail-end of any open web adoption – anything open is only a downside for Apple.
Microsoft owns the enterprise, and that is not going to change anytime soon. Microsoft leveraged this position by making products that fed into the Windows Ecosystem. For example, if you were going to use Sharepoint, then you needed IIS and SQL Server, some Windows OS licenses, and lets not forget the Client Access Licenses (CALs).
If something was a threat, the standard practice was to Embrace and Extend. For example, back when Netscape was a thing, the browser was going to commoditize the OS. Microsoft came out with Internet Explorer (IE) that supported web standards, but then “added” some proprietary extensions. Microsoft then used their strength in developer tooling, made using these IE extensions easy, and enterprise developers started using them. Now they’ve got you locked-in.
Fast forward to today. Microsoft is shifting to becoming a cloud company. The OS doesn’t matter. Web technologies, even a PWA, require a backend and Microsoft is happy to be that provider. Want to run Linux? OK. Want to run SQL Server on Linux? OK. Want to run your custom .NET code on Windows? On Linux? OK. Microsoft wants you to run anything you want, as long as it’s on their cloud.
Microsoft’s strategy is to be the cloud everything company, so Microsoft will support PWAs. Google is an advertising company, so anything Web is good for Google. PWAs aren’t good for Apple, but Apple will begrudgingly go along – just expect Apple to use an “Embrace and Extend” strategy to try to defend Apple’s ecosystem.
If you are developing something that does not need native functionality, a Progressive Web App is a great alternative. You should expect Google/Microsoft to provide hooks to give your PWA a first-class user experience, and Apple to do things to make you have to jump through hoops.
Ultimately, the killer feature of a PWA is that is “feels” like a native app. Getting an icon on the home screen of a user’s device is the victory that helps promote engagement.