Mobile apps are dying

Can PWA (Progressive Web Apps) of 2018 make up a worthy competition to native applications?

Author
Dmitrii Borodin
Founder and product owner

Outline

'Mobile apps are dying'

Mobile apps are dying

Well, title for the post supposed to be

Can PWA (Progressive Web Apps) of 2018 make up a worthy competition to native applications?

But thats sounds too technical and doesn’t really 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 very broad sense) were many miles behind native applications on virtually all fronts. In 2007 the web was actually the main app development platform for the first iPhone, but the it did not take off. 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 a 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.

These functions seamlessly complement the main part of the platform — HTML/CSS and JavaScript, which has actively been developing in recent years. For example, the Houdini project, which is still at an early stage, strips CSS of almost all restrictions. But even without Houdini, you can now create CSS animations that run at 60 frames per second.

The evolution of web standards is highly appreciated by developers. 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 are 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, 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 –

Speaking of limitations of the web platform, it is worth mentioning WebAssembly. Thanks to WebAssembly, there are virtually no restrictions on programming languages you can use and the speed of code execution in web browser. You can already achieve performance that’s only half that of native C code running directly in the operating system and this is not the limit. This of course does not mean that you need to abandon JavaScript and start coding user interfaces in C or Rust. The combination of JavaScript with Angular, React, or Vue.js is extremely efficient for this purpose. Even JavaScript (ECMAScript), available to us today is in fact a completely new, convenient and modern language that supports async/await, the familiar class syntax, destructuring, pattern strings and much more.

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 sufficient 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.

twitter announces its own Progressive Web App


Source:
https://twitter.com/necolas/status/829128165314306048

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 user’s device.
  • Sending/receiving SMS, making phone calls directly from the app. Interaction with the SIM card.
  • NFC support
  • Geofencing
  • Interacting with flash and non-standard sensors, such as pressure sensor, heart rate meter, 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 have no doubt that many of these features will be available for 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 easily 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 is spent in apps of majors like Facebook. It is also worth mentioning that — on average — half of users install zero new applications per month. Therefore, attracting users to a website (web application) could be up to ten times less costly than attracting 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.

Naturally, such applications have limited functionality, but provide a good conversion rate. It validates the hypothesis that the web application distribution model is more advantageous. Having your application listed in store (especially with a top rating) also attracts users, but now it is less efficient than ten years ago, because a 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.

Conclusion(s)

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 simpler, more elegant services [native applications] that just 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 support basic PWA features:
    • offline work and installation on the start screen of mobile devices.
    • PWA works everywhere, regardless of 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-engagements) by 250% and examples can just go on and on.

Soon the PWA will be simply 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 on compete across platforms with a single web app.

UPDATED 2 DAYS AFTER INITIAL PUBLICATION: 

Fortnite creators decide not to share revenue with Google

The company would not work with the App Store neither, if iOS provided such 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 console where there’s enormous investment in hardware, often sold below cost, and marketing campaigns in broad partnership with publishers,” said Sweeney. “But on open platforms, 30 per cent is disproportionate to the cost of the services these stores perform, such as payment processing, download bandwidth and customer service.”

Fortnite for iOS was 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.