You may have heard or read about PWAs or Progressive Web Apps already. In this post I will give a brief introduction to what is PWA, why it is the next frontier for developers and the importance of PWAs in Microsoft’s world.
So what is PWA?
It is just a web site or a web app that utilizes modern web capabilities to deliver an app like experience. What I mean, the web app would look like an app, send Push notifications and work offline. These PWAs can be published to an App store, like Apple’s AppStore, Google’s PlayStore and Microsoft Store. Google took this up and baked it into their Chrome browsers to support PWAs, Microsoft also announced last year that this year they would also bring PWAs capabilities via EdgeHTML 17 on Windows 10.
Microsoft defines PWAs as, “Progressive Web Apps are just great web sites that can behave like native apps—or, perhaps, Progressive Web Apps are just great apps, powered by Web technologies and delivered with Web infrastructure.”
Progressive Web Apps are enhanced with modern web technologies like, Service Workers, Fetch networking, Cache, Push notificaions, & web app manifest, to give app like experience.
Some of the characteristics of a PWA includes:
- Web app manifest – This is to put web app’s metadata into a centralized location, metadata such as, web app name, links to the web app icons and images, display mode, full screen or not and others.
- Service workers – This element gives the web app an experience of a native app. Service workers tends to handle push notifications, offline support (cache), sync data in the background.
PWAs also allows the web app to be installed or saved to home screen so the user does not keep going to the browser and type in the URL. Also, like a native app, where you could share files and documents with in built OS share functionality, a PWA can be also be utilized for the same.
Twitter is a good example here for a PWA. Twitter Lite is a true PWA app, that features, 1-Tap access from the home screen, push notifications, offline access, and safe browsing with HTTPS.
Why should developers care?
Why shouldn’t they? Since I am a developer myself, for me time and cost matters for developing an app. The efforts and the time that goes into building an app for a platform, in my case Windows and the web, it is very important. I must choose the right platform to invest my time and money. Windows was a defacto choice for developers some years back when Windows ruled and iPhone and Androids had not overtaken the world by storm.
And with PWAs, you will likely write the app once and it runs on multiple browsers and multiple devices. This is something Microsoft has been trying to do for many years with UWP, but unfortunately it failed. But for developers, this is truly amazing where we write once and it will be accessed virtually on any platform. Even more better, if you want to nativize the app to certain platform for additional capabilities, you can do so
But if you have noticed and followed, post iPhone/Android era or after 2007, there have very little NEW apps that are built for the desktop operating systems, like Windows and MacOS. What we see today are all updates to the decades old softwares. Adobe suite has been there, AutoCad applications, Office suite, Winrar, VLC, and millions of others applications were all created long time and many still exist today. But can you name some that are really new? Something really cool and exciting new app that was created in the recent years for Windows? I can’t think of any, honestly.
However, what we see, each day a new/consumer friendly apps getting released on mobiles. Let’s face it, the usage of computers have significantly gone down for home users or consumers. Computers today are mostly used by the businesses or at home for specific tasks that can’t be done on a mobile. For everything else, mobile has become the only choice of work and play.
When you can browse the web, read ebooks, play games, chat with friends and family, listen to music, watch Youtube and many many other scenarious that can be done on the mobile in the comfort of your couch with a 6 inch display, then why would you reach for a computer?
So if majority of the world has moved to mobile and tablets, then why wouldn’t a developer target the same audience?
I did say, take a serious look into PWAs from now, one of the biggest advantages of PWAs is not only is your app going to be available over the internet to billions of users around the web, but it will also be available on all major mobile and desktop platforms, like iOS, Android, Windows, MacOS and Linux. PWAs will get better and better and adopt a lot of hardware accelarated features to bring more power to your PWAs.
Why is it important to Microsoft?
Microsoft recently said that Microsoft Edge and Windows 10 will support PWAs, and give a first class app experience in Windows 10.
PWAs will be available via Microsoft Store, so a user can search (in Store and Windows search), install and execute a PWA without opening a browser. This also means, PWAs installed through Store will enjoy the in app contexts, such as in Cortana search results, having access to full UWP APIs, and can have access to calendar and contacts local data.
Microsoft also said that with the next version of Windows 10, PWAs will be listed in Microsoft Store. They will be packaged in AppX, just like Universal Windows Platform App (which by the way seems a dead platform), taking advantage of sandboxed containers, without overheads of a browser resource.
In the big world of other more important platforms, Microsoft (with above implementations) will differentiate itself from rest of them. Granted, Android also doing something similar and Apple also said that they shall be bringing PWAs through Safari browser in iOS.
But Apple or Google does not suffer from the app problem as Microsoft does, so PWAs are way more important to Windows 10’s success in the consumer market than it is for Apple and Google.
We all know the biggest single problem with Windows 10 Mobile was the apps. I mean, Windows 10 Mobile was a fantastic OS, fresh UI, simple and clean, innovative Live Tiles implementation. It’s definately an OS that I truly miss. However, developers did not care for it and there was hardly any quality applications in the Store.
Microsoft lost, as a result, Windows 10 Mobile died.
This makes PWAs so important to Microsoft that I cannot insist enough. Microsoft suddenly enjoys the next wave of web development that will automatically benefit Microsoft and Windows 10.
As developers will create more and more PWAs, Windows 10 users will enjoy these apps on Windows that they were deprived from it all along. And as developers add capabilities to their PWAs to take advantage of Windows 10 (which I believe developers will), there will no longer be a problem of app in Windows 10.
This also begs us to think, there are high chances that Microsoft will bring a mobile like form factor to market, which we already believe Microsoft has been working on a project called, Andromeda OS and a device for the same name. I wrote an article, “Hello Andromeda: Microsoft’s Cellular PC“, where I talked about how Microsoft is planning to bring mobile back to market. We expect this device maybe end of this year or sometime next year.
With the increase of PWAs, this wave of next generation development will immensely help Microsoft’s Andromeda mobile like device. Because there will be no longer an app problem that plagued Windows 10 Mobile back in the day.
Maybe, this is the chance for Microsoft to bounce back with their mobile efforts. They are already breaking down Windows to different modules with Windows Core OS. The foundation for the future is already being laid, it is a matter of time when Andromeda device comes to market and PWAs being adapted by developers at large.
In my opinion we’re in the interesting times, this year Microsoft releases Windows 10 RS4 that supports PWAs, later this year (hopefully) Andromeda OS/Device gets released.
This year’s Build 2018 will be very interesting to watch. There should be very interesting announcements specially around PWAs, and maybe, if we get lucky Microsoft may talk about their future plans for mobile.