Blog: Progressive Web Apps – a story of WWW history repeating itself?

What are PWA's?

As with many contemporary technical terms that are not self-evident they are often used without locking down an agreed definition; with terms like cloud and software-as-a-service being commonly used examples. With that being said, so what is a Progressive Web App (PWA) then? The short of it - a website that can be bookmarked to the phone’s home, launches without the browser UI screen and includes some other app-like features. The term ‘progressive’ is where these other features come together to progressively enhance the website to contain native app-like capabilities such as local storage, notifications, background synchronisation through service workers, audio and video capture.

The short of it - a website that can be bookmarked to the phone’s home, launches without the browser UI screen and includes other app-like features. David Webster, Venn Digital.

 

Where has the technology come from?

To discuss where PWA technology has come from, where it is currently and where it is going I will attempt to take you on a trip down memory lane and reference two points in the history of our industry: namely 2007 and 1997 - ten and twenty years ago.

2007 was the year of the original iPhone launch. This came at a point in time where what was then called Web 2.0 was taking shape with the HTML5 standard being defined. Web pages were starting to become more dynamic with interactive maps, near broadcast quality web video, and local browser storage, to name a few features changing the way we used the web on desktop devices. A lot of the features of PWAs are continuations of this development of those key WWW’s technologies developed at this time, however, at that time there was still a large gap between mobile devices and what was possible on desktop devices. When the original iPhone launched (and more so with Palm’s WebOS) there was a drive to move away from developing native apps in more traditional embedded and application languages like C and C++ into moving into developing with HTML, CSS and JavaScript, however, due to technical limitations and concerns over app quality, security, and privacy of those devices the native model stuck around, supported by proprietary and curated app ecosystems controlled by the phone and OS vendors.

What are the benefits?

There are clear benefits of using PWAs, mainly due to the control that the developer/publisher can keep without restriction from the various walled gardened app ecosystems without losing the security and privacy factor. As the PWA is based on HTML downloaded from a typical WWW server there is no need to register approved apps and then manage versions of these. As with a website, there is typically only one version or an opt-in beta version. Portability is important here too as the use of commonly used and industry standard WWW technologies means that an existing website can be adapted to become a PWA without the need to develop skills in and write new software based on the programming languages and frameworks required by specific phone and tablet OS vendors. There are going to be cases where features that are required by a native app are not possible with a PWA at the current time, however, WWW technology continues to march on and shows no sign of slowing down.

Adopt, adapt or reject?

For PWA adoption and development there are some significant hurdles that PWA publishers need to deal with regarding vendor and platform uptake of the progressive enhancement features. This is where the analogy to 1997 comes in – at that time the browser technology was quite fragmented with a limited lowest common denominator between browser platforms. We can take for granted now that there is a great deal of feature parity between major WWW browsers, but at that time and before HTML5 really took off it was extremely difficult to support multiple browsers with websites that took advantage of the (then) advanced dynamic HTML features with initially Netscape Navigator 4 and then IE6 taking up the mantle of being the most remembered examples of browsers that were significantly embedded within organisations, but lagged behind other browsers for feature support.

With PWAs the three mobile and tablet platforms: Mobile Safari; Mobile Chrome; and Mobile Edge vary significantly in their support of PWA features with basic features such as offline storage requiring different implementations across each platform. Thus for the moment history is repeating itself into a situation similar to 1997 before browser standardisation became practical.

It is hard to conclude if this lack of support in 2017 is due to PWA not being a specific standardised technology, instead being rather a loosely defined sum of its parts, or whether PWAs are viewed as a disruptive technology to the prevalent walled garden app ecosystems. As with most disruptive technologies that gather significant community mindshare, the status quo that they are set to replace will either adopt and adapt to PWAs or will reject them – it’s all still hanging in the balance …