What we do
Do Progressive Web Apps still have a future?
2 February 2022
The life of Progressive Web Apps (PWAs) started in 2015. They promised to close the gap between web and native apps by progressively enhancing current web apps with new API’s and features like the ability to work completely offline. While big players like AliExpress, Flipkart and Forbes have introduced PWAs in the past, they still have their apps and are not planning on abandoning them anytime soon. Did the technology come to a halt? Are PWAs still relevant? Should you still invest time and effort in creating and maintaining PWAs?
A secure connection (HTTPS): A secure connection is mandatory for a PWA. Not just for security reasons, it’s also a very important trust factor for users.
A web manifest: This file contains information on how the PWA should appear and behave. The name, description, icons, and colours amongst others are set in the manifest and used in the launcher and overview windows of the device.
These techniques won’t transform a badly performing web app into a super snappy native like app, but they do help overcome some shortcomings of the classic web app.
A few success stories from around 2017
Around 2017, big players like Flipkart, Trivago, Forbes, MakeMyTrip, AliExpress and Twitter have shared impressive results when it comes to user engagement using PWAs.
Flipkart adopted an app-only strategy and even shut down their mobile website. After the introduction of PWAs, they decided to rethink that approach. Combining their web presence and native app into a PWA was successful in many ways:
Users time on site PWA versus prior: 3.5 minutes versus 70 seconds.
Tripling of average user engagement
40% higher re-engagement rate
70% more conversions from “home screen icon”
Three times less data consumption
MakeMyTrip is one of the leading travel companies in Asia. It connects with travel enthusiasts for booking tour packages, flight tickets and hotel accommodations across several cities and nations. The company found it hard to drive users to download a native app, leading to steep drop rates and invariably high customer acquisition costs, but also to building engaging user experience for the mobile web. To reach the audience they wanted, the company needed a solution that merged the benefits of native apps and the mobile web so they could lower the cost of discovery and increase engagement rates.
Tripling of conversion rate
38% improvement in page load times
160% increase of shopper sessions
Twitter implemented PWAs by developing Twitter Lite. It consumes far less data and relies on the cache as much as it can. The PWA transition also gave its users the choice to join the social platform without downloading their huge 82 MB native app. Twitter Lite is almost negligible in size (just around 1 MB), but is still delivering a user experience comparable to the native app.
65% increase in pages per session
75% increase in tweets sent
20% decrease in bounce rate
How about a bigger digital presence?
Gone are the days when a website was enough for a proper, digital presence. Our experts happily assist in bringing about a digital ecosystem - optimized and on-brand - fit to serve your business goals.
Why did PWAs not gain traction right away?
Most of the success stories above are a few years old. But what has happened to PWAs in the meantime? Why isn’t everything a PWA by now? Let’s look at the Gartner Hype Cycle to answer those questions.
The life of PWAs started in 2015 and the success stories and hype peaked in 2017, but it wasn’t until 2018 that Apple (and thus Safari, iOS and iPad OS) and Microsoft completed the implementation for the service worker.
Since a PWA is a web app, they do not require separate bundling and distribution. There is no requirement for developers or users to install the PWA via app stores like Apple App Store, Google Play, the Microsoft Store or Samsung Galaxy Store. Some of these do support PWAs, allowing them to be found in these app stores. Google play store uses a bridge in the form of TWA (Trusted Web Activity) to link the web app to a google play app, but Apple has no support at all.
Since Apple is such a big player in the mobile world, this attitude towards PWA has slowed down adaptation to a near halt. If you want iOS support, you need to provide an app to the Apple App Store complying to their guidelines and rules.
Although technically most of the PWA standards are now implemented in Safari for iOS and iPad OS, it’s still missing a lot of features needed for a native like app. One of these is the ability to receive push notifications, even if the app is closed. Safari for Mac has a proprietary implementation, while Safari for iOS and iPad OS completely lack the ability.
Firefox for desktop abandoned the implementation of PWAs in December 2020 stating that PWA support is not coming to desktop Firefox anytime soon. Mozilla still supports PWAs on Android, though.
Google’s Project Fugu is an effort to close current gaps between the web’s capabilities and those of native apps by extending the browser with these features. Since Fugu is a Google project, all browsers and operating systems where Google has an influence benefit from these efforts. Android, Chrome OS, Windows and even MacOS if a chromium-based browser is used, which include Microsoft Edge, Samsung Internet Browser and Chrome. iOS and iPad OS fully rely on Apple to add and implement the features. The previously mentioned Push Notifications, but also NFC, background sync and badge support is highly doubtful. Whether Mozilla will add the features added by project Fugu remains to be seen. But given their statement regarding PWA support on the desktop, the future does not seem all too bright for full cross vendor support of these features. For an actual overview refer to https://fugu-tracker.web.app/.
Cross platform apps versus PWA
Cross platform development like Cordova, Capacitor and React Native bundle the power of web technology with the power of native apps and their deep integration into the underlying OS. Cordova and Capacitor can even use the same web app base as the PWA and extend its features with native bindings.
Cordova/Capacitor vs. React Native
If the UI is rendered using a web view, it needs to implement the OS specific elements and behaviours itself instead of having the OS take care of that. The result is most of the time a bit underwhelming, since it takes a lot of time and effort to implement all the underlying user experience related features like pull-to-refresh or endless lists. A native-like UI library like Ionic helps to fill these gaps, but this gives a mobile experience on a desktop grade computer as well.
- With a self-service portal, you can focus entirely on stimulating valuable digital interactions with your customers.Read more
Domain Driven Design (DDD): Why You Need ItThe heart of high-performing software is about more than just efficient code and robust integrations. Understanding the environment in which the code has to do its work, 'the domain', plays a crucial role in its success. For example, what are the USPs of the company that will deploy the software? Which processes are crucial? And at what points is interaction with users essential? Domain Driven Design (DDD) brings business and IT closer and concentrates software development around having authentic insights into the processes to be automated.Read more
Staying one step ahead of cyber attacks - Building secure applications: the Secure Software Development Lifecycle (SSDLC)Hackers are energetic innovators, constantly developing and changing their methods and expanding their cyber attack capabilities. They relentlessly target business critical applications on web and mobile devices, looking for weaknesses. They want to access data, to launch ransomware attacks, to misuse infrastructure for their own purposes or simply to disrupt the target’s continuity of service through (D)Dos attacks. But what does this mean to us at iO as application creators?Read more
Why WordPress is part of our tech stackSafety, performance, scalability and user-friendliness. That is what WordPress is all about and why iO is proud to call itself a WordPress partner. Many of our larger websites and applications run on the open-source platform. And that won’t change anytime soon. Discover why and how we use WordPress to support our clients as best as we can.Read more
All-in e-commerce solutionWhen Dockx asked for an overhaul of their website and e-commerce strategy, iO did not hesitate to jump on the challenge.Look at this client story
How do you stimulate requests for co-branded credit cards?Web, app, and integration platform for co-branded credit card programmesLook at this client story
How do you provide customers with flexible retail financing without a card?Flexible credit, without a card and with all the omnichannel advantages of a credit card.Look at this client story
How do you build efficient data flows in the transport sector?We guided international transporter Verhoeven.eu through their digital transformation process, as the architects of their digital integration platform via low-code platform OutSystems. Give our case a read.Look at this client story
When (not) to develop a PWA
The best practices that a PWA brings should always be considered when creating a new web app. Secure connection, controllable network behaviour and the web manifest that describes how the web app will behave if installed are valuable additions to most if not all web apps.
What if the target audience is mostly iOS and iPad OS? What if various features introduced to the browser by Project Fugu are needed? What if App Store presence is required for a successful product?
Some APIs available to native app development aren’t even available to the browser or rely on third party software only available as native libraries. These are all valid cases where a PWA isn’t a viable solution. Sometimes, a (companion) website is needed. That website is an excellent candidate for implementing the PWA best practises.
But what if your target audience is mostly web or Android? What if you can use web technology that is supported by various vendors? In those cases, a PWA can save a lot of time and money by only having to build and maintain that PWA instead of a website and separate native apps.
Google is introducing new APIs and features to Chromium faster than developers can implement them. Those developers are also a bit reluctant to implement the feature if it is only supported by Chromium based browsers and it remains unclear if Apple changes its view on web and PWAs any time soon.
A first sign of having push notifications in iOS and iPad OS have been spotted, but it’s too soon and it’s only push notifications. Technology like PWAs is beautiful but it’s only viable if everyone can enjoy it. For now, its success depends on the adaptation of the OS vendors.
PWA, if the system allows it
The best practises that a PWA brings should always be considered when creating a new web app. Secure connection, controllable network behaviour and the web manifest that describes how the web app will behave if installed are valuable additions to most if not all web apps.
Apple is a big player in the mobile world with a negative attitude towards PWA. This has slowed down adaptation to a near halt. If you want iOS support, you need to provide an app to the Apple App Store complying to their guidelines and rules.
There are valid cases where a PWA isn’t a viable solution. In some of those cases there is a need for a (companion) website. That website is an excellent candidate for implementing the PWA best practises. But in all other cases, a PWA can save a lot of time and money by only having to build and maintain that PWA instead of a website and separate native apps.
Lucien ImminkSoftware Architect
Lucien is a software architect, as well as a full-time development advocate. Having seen every possible framework in the field during his career, he loves sharing his knowledge with colleagues and clients alike - next to acting on his core belief: that digital products should be accessible to all.