Well, a title for the post supposed to be
Can PWA (Progressive Web Apps) of 2018 make up a good competition to native applications?
But that sounds too technical and doesn’t deliver the message.
Sometimes it is difficult to see how dramatic and comprehensive changes are when they occur gradually. It would seem that just a few years ago web apps (websites in a broad sense) were many miles behind native applications on virtually all fronts. In 2007 the web was the central app development platform for the first iPhone, but it did not last. App Store appeared just a year later with the second version of iOS, and a boom of native applications followed. It formed the market landscape as we know it for the past decade.
All this time web technologies have been evolving and a lot has changed. What was previously impossible — offline work, background data synchronisation, push-notifications, one-click access and payment with credit cards, Apple Pay, Google Pay and other methods — is now a reality.
Developers highly appreciate the evolution of web standards. Not without reason, many people believe that development via web technologies is faster, easier and cheaper. If you take a look at modern desktop applications you’ll see that most of them created on Electron — a framework that allows creating software for Windows, Linux, and macOS. Examples of Electron apps are Visual Studio Code, Slack, Skype Desktop, etc.
On the other hand, the cross-platform approach, which is an integral part of web technologies, is becoming as relevant as never before. Supporting separate independent code bases for iOS and Android is very costly. Therefore developers give more and more preference to cross-platform technologies, such as React Native, Xamarin or Flutter, even for native applications. And with PWA, we got what everyone has long dreamed of — truly cross-platform applications.
– skip next paragraphs if you are not developer –
Another area of limitations of the web platform is access to the operating system and the hardware capabilities of the user’s device. Today these restrictions are gradually eroding. We must admit that iOS sheds these restrictions at a much slower rate than Android. Speaking of interaction with the operating system: we now have Clipboard API to work with the clipboard; Presentation API — to detect if the second monitor/projector is connected and control what it displays; Web Share API — for integration with the system “sharing” dialog. Today web applications can only act as a source, but development of data reception is already underway. Web Share Target API can be tested in Chrome by enabling Experimental Web Platform features in “about: flags”. We can use the Web Bluetooth API to work with physical devices located nearby and transfer data (which is a very common solution in IoT), as well as the new Generic Sensor API for working with various sensors, such as an accelerometer, gyroscope, light sensor, compass and others. And a lot of protocols have been around for a long time, actually. They allow us to use a camera and a microphone, they support vibration, can get information about the battery, the type and speed of the network, and the available memory of the user’s device.
Thanks to all these changes and innovations web and native applications are closing the gap between each other.
But it doesn’t mean that the capabilities of native applications and web platforms are equal. If we deal with applications that require complex logic rather than the use of AMP (Accelerated Mobile Pages), it roughly looks like this: five years ago the capabilities of web platforms were sufficient for 20% of apps, today they’re adequate enough for 70-80% of the apps. And developers always have a choice. This choice often is the coexistence of the PWA and the native application as seen in apps like Uber, Starbucks, Aviasales, Twitter, Tinder, Google Maps, AliExpress, and others.
What are these features that require the creation of native applications or at least the packaging of web applications via Apache Cordova or other means for distribution through digital stores?
- Interaction with contacts and calendar on the user’s device.
- Sending/receiving SMS, making phone calls directly from the app. Interaction with the SIM card.
- NFC support
- Interacting with flash and non-standard sensors, such as pressure sensors, heart rate meters, etc.
- Low-level interaction with the system — app management, system settings, full access to the storage.
- Using keyboards and widgets.
- Registering the application as the default application to open a file type or link type.
This list is of course incomplete. On the other hand, I do not doubt that many of these features will be available for the web platform in the nearest future. But do not expect operating systems and their platforms will wear out the seat. Yes, the gap will decrease, but there will always be something available only for native applications.
Web applications also have some features and advantages unavailable for native apps. Users visit over one hundred different websites a month and quickly get to new sites. It is true that according to statistics, users spend much more time in apps on their mobile devices, rather than surfing the Internet, but that time spent in apps of majors like Facebook. It is also worth mentioning that — on average — half of the users install zero new applications per month. Therefore, attracting users to a website (web application) could be up to ten times less costly than inviting them to an application downloaded from the store. Google Play Instant partially solves this problem by allowing you to run native Android apps in a browser bypassing the store visit and installation.
PWAs can be extremely efficient for customer and user acquisition, too. It can be costly to get traffic to your app in the iOS or Google Play App store, mainly if you’re advertising to new audiences. Because PWA’s are discoverable via a search engine, you can reduce the cost of attracting a new customer, or audience member quite drastically.
It doesn’t necessarily mean that your audience won’t download your native app, though. 86% of the Top 100 apps are found via brand name keyword searches, proving that native apps are still the ideal place for your loyal users to spend their time.
PWAs still face the challenge of mass adoption – if a PWA doesn’t get added to a users home screen, it’ll be less likely to be revisited than an installed native app would be.
Naturally, such applications have limited functionality, but provide a reasonable conversion rate. It validates the hypothesis that the web application distribution model is more advantageous. Having your app listed in store (especially with a top rating) also attracts users, but now it is less efficient than ten years ago because the total number of applications has significantly grown.
Microsoft Store already supports PWA. Other stores require you to pack the application manually or use a ready-made tool, such as “pwabuilder.com.” It also allows you to generate Apache Cordova packages for the Apple App Store and Google Play.
Web technologies have gone through different stages during the last decade.
- In 2007 Steve Jobs stated that we do not need an SDK and we already have everything we need to create stunning iPhone apps.
- In 2010 Chris Anderson of Wired magazine said that as much as we love an open web, as much we give it up for more straightforward, more elegant services [native applications] that work.
- And in 2012 Mark Zuckerberg noted that the biggest mistake they made as a company was to bet on HTML5 instead of native.
But it’s the darkest before dawn, and Progressive Web Apps development was that dawn for web technologies in business competition with native applications.
- In 2018 all browsers supported basic PWA features:
- offline work and installation on the start screen of mobile devices.
- PWA works everywhere, regardless of the application store and provide a user experience close to native.
What do Progressive Web Apps mean for business
Gartner predicts that PWA will replace 50% of general-purpose applications. But — we can almost certainly say that PWA is not going to take over the whole market.
Having PWA is a competitive advantage today. For example, Twitter’s PWA increased the number of pages viewed by 65%. Lancome had its conversion rate increased by 17%. Impressively, OLX increased repeated visits (re-engagement) by 250%, and examples can go on and on.
Soon the PWA will be merely necessary for any serious business. Even today it’s already a massive drawback to have none.
In particular, this article was inspired by our in house project – Avokado. We plan to compete across platforms with a single web app.
UPDATED 2 DAYS AFTER INITIAL PUBLICATION:
The company would avoid App Store as well if iOS provided such a possibility.
- Fortnite is one of the most popular multiplayer games in the genre of “battle royale” with an audience of more than 125 million people. The game is free-to-play, but Epic Games made over $1 billion of revenue through in-game purchases on consoles and PC.
- Fortnite is expected to come to Android by August-September 2018. Head of Epic Games Tim Sweeney confirmed that the game is not going to be distributed via Google Play: players will download the installation file directly from the developer’s website.
- Tim Sweeney explained that the company does not want to pay a 30% commission to Google. “There’s a rationale for this on a console where there’s an enormous investment in hardware, often sold below cost, and marketing campaigns in broad partnership with publishers,” said Sweeney. “But on open platforms, 30 percent is disproportionate to the cost of the services these stores perform, such as payment processing, download bandwidth, and customer service.”
Fortnite for iOS shipped to App Store in February 2018. According to analysts, players spend about $2 million a day. Sweeney confirmed that the company would not release a game in the App Store and share revenue with Apple if iOS provided other means of installation.