I guess over the years I’ve developed a theme on my blog about my less than enthusiastic embrace of the industries slow march towards the extensive use of PWA. I have to prefix this – in an ideal world I much prefer native applications because of the improved performance, lower source usage and better system integration but that being said when compared to what came before I would sooner have PWAs over the alternatives that were championed in the past.
I remember the bad old days when the focus was created multiplatform applications and the various technologies vying for it. There Java/Swing, slow, unresponsive and just generally horrible with applets (Java applications that ran inside ones browser) even worse given how it was common to see the whole browser lock up frozen because of a poorly behaving Java applet. ‘Write once, run everywhere’ they said but as the joke went at the time ‘write once, debug everywhere’ because there was no guarantee that your application could consistently run given that a bug in one implementation of the JRE might not impact another JRE.
What other alternatives were there? Shockwave and Flash was something offered but to a certain extent it was handspring by the same limitations as Java applets (in the case of using Flash within a browser) even with the improvement of NPAPI which became PPAPI (‘pepper extensions’) but the world had moved beyond desktops and laptops into tablets and phones – people demanded an experience that worked in the browser natively without a dependency plugins and all the security implications that came with it. Adobe AIR was positioned as a replacement but eventually that has gone by the way side in favour of the Electron framework sitting on top of Chromium.
Anyone who has lived through the past attempts to deliver a multiplatform framework for developers and experienced it first hand as a user would sooner have what we have today than what existed back when Flash was so dominant (along with those other solutions). Are PWA the ideal solution? not really but every step forward in terms of abstracting away from the system is going to result in reduced efficiency but what is lost in run time efficiency is gained in greater productivity by the programmer and less likelihood of mistakes. For example, moving from a 1st generation language (binary) to 2nd generation (assembly) will make life easier because programming is almost like a brief set of instructions in semi-readable human form then when you move to 3rd generation where writing a piece of software is almost writing it in a human readable language. With each level of abstraction the greater the productivity the programmer, the easier to debug, the ability to manage very large and complex projects, to be able to reuse code etc.
I don’t think that PWAs are going to solve all of lifes problems but many applications that are native are done so not because PWAs cannot deliver but due to habit – “we’ve always done it this way” but for those organisations that aren’t hamstrung by legacy many embrace fully the future. Reminds me of a survey where those who tended to go with Office 365 tended to be organisations that were already Microsoft customers thus any move to the cloud required the legacy setup take into account where as G-Suite tended to be used by small to medium businesses, those businesses that were recent startups without the legacy systems in place which have to be take into consideration, in other words it is a ground up brand new workflow unhindered by legacy considerations.
There were updates released today for iOS, tvOS, watchOS and homeOS however macOS Big Sur 11.2 is still in release candidate stage. It’ll be interesting to see whether the improvements build 118 of ‘Safari Technology Preview’ have made their way back into the mainstream build of Safari on Big Sur 11.2. Apple has updated its security page for iOS/iPadOS (link) but it’ll be interesting to see whether ‘Additional details available soon.’ mean additional security fixes disclosed once 11.2 Big Sur makes its way out to end users in the next few days. On a side note, Ubiquiti pushed out the UDM 1.8.6 update which fixes some security updates and bug fixes – so far things have going very well.