OPINION

PWAs: Will The Web-based Apps End Big Tech App Store Tyranny?

Keneci Channel

Progressive Web App(PWA) is basically a website built to function as a native desktop software or mobile app. The main advantage of a PWA is that it is apps store-independent and cross-platform.

Opening a PWA-optimized website like 'Gab.com' for example, on a standards-compliant browser like Brave would immediately trigger an instal prompt on the top-right corner of the browser window within the address bar.

PWA prompt on Brave desktop browser.

On mobile browsers, the PWA prompt may be 'install Gab' or 'add Gab' [to the homescreen]. In the absence of the prompt, just adding the website to the homescreen will do the trick.

Once installed, the PWA functions more like a native app. This circumvents app stores like Google Play and Apple's App Store where free speech apps like Gab are banned.

Other browsers that support PWA include Gab's own Dissenter, Microsoft Edge, Google chrome, Apple's safari and Opera mobile. PWAs are supported on Windows 10, android and iOS.

For a website to be a PWA, it must run on certain core web technology components. And while User Interface frameworks like Angular and React support and have all the components for PWAs, it is important to note that PWAs are not framework-dependent.

PWAs store data as HTML files, use CSS and images from the browser cache which makes them load faster and also work offline by utilizing a specific set of components.

Critical components of a PWA includes Service worker, JSON manifest, App shell and other tools that continue to be added as UI frameworks and standards evolve.

A service worker is a type of web worker. It’s a JavaScript file that runs separately from the main browser thread, intercepts network requests, caches, and delivers push messages. If there is no network connection, a service worker will pull data from the cache using the browser’s cache API.

JSON manifest is a file that contains metadata of the app describing the UI. The manifest controls whether the app will have a more native rendering, the icon to be displayed on the home screen when installed, the orientation, the full-screen rendering, and so on. The manifest is responsible for creating an app-like experience.

App shell is the container where the data is stored. The app shell architecture consists of HTML, CSS, and JavaScript and allows some lightweight settings to be quickly loaded during the first visit, which reduces the time required the first time the PWA is launched. The app shell is responsible for the UX of the PWA.

Note that PWA components are based on common and open web technologies, hence keeping the development independent of any one app store software development kit(or SDK).

Google and Microsoft are working together to support the PWA ecosystem. Google has been adding PWA components -- like workbox, chrome Devtools and lighthouse -- to their UI frameworks.

The technologies behind PWAs are not new. Steve Jobs tried this in 2007 with HTML5-based standard for web apps on iphones. Apple later changed course with the introduction of iOS SDK.

Web technology development has since advanced, and JavaScript is becoming a computational power. Most PWAs are more feature-rich than their traditional native counterparts.

Advocates claim that with PWAs, smartphone users don't need to worry about app updates and storage space; and developers don't have to grovel to the big tech app store duopoly of Apple and Google, to distribute their PWAs. Gab social and other apps banned from Play store and App Store, are taking advantage of PWAs to great success.

Ironically, the tech giants are embracing PWAs, probably for different reasons and the fact that the general trend is towards 'stream everything.'

ZDNet's Mary Jo Foley reported last year that Microsoft is building an Azure-powered 'Cloud PC' service to be launched this year. With such service, Windows 10 operating system users can access and interact with the OS via a browser, making windows 10 accessible on any 'thin client.' A windows 10 PWA on android, iOS or Mac can give one access to the OS without having to worry about updates and graphics power of your device. The crunching of data is done behind the scenes on Microsoft servers.

Microsoft has also released popular apps like Office and outlook as PWAs. The tech giant accepts PWAs from developers who wish to distribute via their windows 10 app store.

Google has released their popular services as PWAs. These include YouTube music, map, photos, Drive, Keep and stadia. Google Play store also supports PWAs. Twitter Lite is a PWA.

With gaming being the only holdout for now in the 'stream everything' race, it may not be too optimistic to say that in 5 to 10 years, the tyrannical regime of the app store duopoly -- Google and Apple -- will be have ended. Though they obviously will not go down without a fight.