When to build a PWA
Dinesh AC
We talked about PWAs a few posts ago. Now, here’s some deeper gyaan to help you decide whether or not you should go in for a PWA.
PWA vs Native Apps #
There are a bunch of misconceptions about PWAs:
- they only work in Chrome
- they can’t be as smooth as native apps
- there’s no full-screen mode
And so on.
Progressive Web Apps are an established technology that big players like Twitter and AliBaba have adopted with great success.
Traditionally-native features that PWAs can also use are:
- push notifications
- working offline
- adding an icon to the home screen
- being installed into Android (i.e. in the apps drawer and in Settings)
- receiving intents
- launching in {full-screen](https://developers.google.com/web/updates/2014/11/Support-for-installable-web-apps-with-webapp-manifest-in-chrome-38-for-Android?hl=en)
- clipboard access
- persistent auto-login using the Credentials Manager API
- hardware-accelerated 2D/3D graphics using CSS3, HTML5 Canvas or WebGL — check some of the HTML5 Canvas demos, WebGL sites or the three.js library. Game engine performance in WebGL is close to native. accessing the filesystem (Chrome and Opera) and reading user-selected files in any browser
- really slick, smooth UIs with 60fps animations These features cover a lot of use cases, and many popular native apps nowadays can be rewritten as PWAs.
Native Android features that PWAs currently lack: #
- contacts, calendar and browser bookmarks access (although lack of access to these could be viewed as a feature by privacy-conscious users) alarms
- telephony features — intercept SMSes or calls, send SMS/MMS, get the user’s phone number, read voice mail, make phone calls without the Dialer dialog
- low-level access to some hardware features and sensors like flashlight and atmospheric pressure sensor
- system access: task management, modifying system settings, logs registering to handle custom URL schemes and protocol, or file types
For most use cases, PWAs can do the job and also be a much better investment — you don’t have to develop and maintain three separate code bases for Android, iOS and the Web. PWAs also have certain features that native apps lack.
Advantages of PWAs over native apps: #
- low friction of distribution — if your progressive web app is online, it is already accessible for Android (and other mobile) users. 65.5% of US smartphone users don’t download any new apps every month. PWAs eliminate the need to go to the app store, search for the app, click Install, wait for the download, then open the app (until Android Instant Apps launch). Each of these steps loses 20% of the potential users.
Source: https://youtu.be/qmE_jpnYXFo?t=96
- discoverability — content in progressive web apps can easily be found by search engines but a content-centric native app like StackOverflow won’t show among app store search results for content that it does offer access to, such as “pwa vs native”. This is a problem for communities like Reddit, which can’t expose their numerous sub-communities to the app store as individual “apps”.
- linkability — any page/screen can have a direct link, which can be shared easily
- bookmark-ability — save that link to access an app’s view directly
- always fresh — no need to go through the app store approval process to push updates
- universal access— not subject by app stores sometimes arbitrary policies or (unintended) geographic restrictions
- large data savings, extremely important in emerging markets with expensive and/or slow Internet access. For example, e-commerce website Konga cut data usage by 92% for the first load by migrating to a PWA.
So, should you build a PWA or a native app? #
- If you target the Next Billion Users, PWAs are the way to go. Where android users are the majority, and data is expensive.
- If you have desktop users, build a PWA.
- If you don’t need Android-specific native features (see the comparison above), build just a PWA (which will cover mobile web and Android)
If you still ask, “A future without apps…?” #
Well, not exactly. Currently, having both a native app and a PWA just makes sense.
Use Cases: #
- Flipkart uses a progressive web app for its popular e-commerce platform, Flipkart Lite
- Ola drives mobility for a billion Indians with Progressive Web App
- MakeMyTrip.com’s new PWA delivers 3X improvement in conversion rates
For more PWA demos, see https://pwa.rocks.
Dinesh A.C. is Digital Solutions Strategist at Influx. An ex-entrepreneur, now an intraprenuer, he has a strong background in UX, tech, and business. His experience includes designing the UI/UX and running CanCan, handling Business Development for Cognizant, and being Product Manager for a Polaris Internet Banking product.