Wednesday, January 04, 2017

Is Safari to follow Internet Explorer and die?

Recently I've had some of my spare time invested in building a new mobile application.
As part of the development I started with building it with standard web technologies having in mind to wrap it with Cordova for cross-platform support later on and publishing it as a native app on the corresponding app stores.

As part of the development I decided to start with sticking to the standards as much as possible to allow the different native mobile Webviews to render the app correctly. I also decided that the MVP of the application should be good enough to live inside the browser and to not start with wrapping anything with Cordova until I really have to.

So I started with a simple Web App (a Single Page App).
Pretty soon I found that it is actually working quite good and development time was shorter than expected. I got the MVP working with the basic functionality - viewing content, publication of new content and authentication. Then I wanted to improve it - I wanted the web app to work smoothly while there's no network (or really bad one), allow it to run in full screen (without the browser being visible). I also wanted to have notifications, sleek responsiveness (make the application responding really fast for end user interactions) and finally allow it to be "installed" on the apps drawer so it can be launched outside of the browser, like any other native application.

This is where I came across ideas such as Mobile-First, Offline-First, Service Workers and the recent publicly available implementation of the Progressive Web Apps concept which brings everything together.

In a nutshell Progressive Web Apps allow web developers to build state-of-the-art mobile application based on pure web technologies. The concepts of PWA have been laying around for over two years now (which is a lifetime in our ultra-fast changing world of web and mobile). So far these concepts are being worked-on and as part of the W3C. Thankfully they have been implemented (and being worked on) by the Mozilla and Chrome teams and recently, as already mentioned, part of our reality.



So what this prologue to do with the post title? The answer is that while PWA is already implemented for some time in Chrome and Firefox (and partially in Opera) - Safari has never published any reference or road map to support this huge change to the way we are going to consume tomorrow's mobile apps. This practically means that they are NOT going to support PWA technologies in the near future which in turn means they will not allow any of the really important features such as Web Notifications, Offline support and improved responsiveness via Service Workers, improved Web Workers, Installable Web Apps and others...

Well we all agree IE has lost the browsers war because Microsoft was slow to respond to the improvements and changes which were introduced by Chrome along with getting really odd and non-standartized. It seems to me that claiming not to support PWA by Safari on iOS is another serious signal Safari is going the wrong way getting out-dated and odd.

While Safari for other platforms but iOS and Mac OS ceased to exist - I wonder if are we about to see Chrome or Firefox taking on the native Apple browser on its own playground - the same way it happened for Internet Explorer on Windows ten years ago?

And just to be fair - the motivation from Chrome is clear - making stronger web techonologies is something they must push to make the ChromeOS and Chrome-based devices and apps robust. PWA just happen to also run on Android and other operating systems as a secondary benefit IMHO.

Some other related posts I found after publishing my post:
Safari is the new IE
Safari is the new IE 2: Revenge of the Linkbait