Or more importantly: do you really want to burn your money on creating apps no one will use?
Tim Cook announcing that the App Store has 2 million apps on WWDC 2016. Watch the full keynote here.
Getting into the app business may seem like a great idea at first. Roughly 2 million apps are available on the App Store, and about the same amount on Google Play, too. In 2017 only, 175 billion downloads (including updates) have been made, and in the same year, creators made 86 billion USD with their apps, doubling the revenue they make compared to 2015.
These numbers indeed look fantastic — but there’s another bunch of stats that are going to make you reconsider investing time and resources in building an app.
For example, the majority of smartphone users don’t even bother to download new apps, and 94% of the revenue is made only by the top 1% of the publishers. Also, about 6200 new apps are released on Google Play every single day, and there isn’t an overnight success story every day; thus your chances of reaching even the top 100 are meager.
So the big question you need to ask before investing in an app is:
Do you want to create something special? Do you want to stand out of the crowd? Do you want to extend the operating system’s features?
Because if the latter is the case, it may not be worth it in the long run. Let’s take a look at the case of ‘Finder for AirPods’: it was “mysteriously” deleted from the App Store, and then the core functionality was built into iOS. This story indicates that building system extensions might not be a viable long-term business idea.
Do you want to provide access to your existing services, or even further, create a new service with an app? Are you building a native app to implement a more comfortable or better experience for the end user, or just for the prestige value of having an app?
Let’s compare an app’s and a website’s onboarding user experience to get a clear picture of why native apps suck in the present and are going to die in the future:
How many steps does it take for someone to start using your app?
To start using an app, your audience has to:
- Discover it somehow in the App Store
- Purchase it & download it
- Open it, and wait for the app to load
It takes a lot of time, and most users won’t have the patience to go over every single step, except if they have a strong motivation for doing so.
In case of a progressive web app (or PWA), your users just need to open your website. The site optimally loads in less than 3 seconds even on slow connections, will download its other components after the first screen has been loaded (thus the user can start using your app while it's still loading). A PWA works both offline and on slow connections.
Also, compared to native apps, they don’t end up using as much storage space, and you can still add them to the home screen and access many features like sending push notifications, running tasks in the background, geolocating, accessing Bluetooth, etc. (You can check what the web can do today on this site.)
Mainly because of these reasons, user engagement is a lot higher, and the overall UX is much better with PWA’s. I highly recommend to read Tinder’s case study: it highlights where PWAs shine and outlines how you can improve your one, too.
Also, publishing an app is a lot harder than just hosting a website: you need to pay for Google ($25 one time) and Apple ($99 every year) to be able to get into their stores. Then, you still need to fill a ton of forms, upload the packages and assets and wait for them to review and approve your app before you can get running. Also, you need to repeat some of these steps for every update.
However dealing with the App Store can be frustrating, it is a trusted source what users can and do rely on, and iOS doesn’t support PWAs as well as Android/Windows/ChromeOS. Therefore, publishing your PWA in the App Store and Google Play as a native app may worth a shot. There are several excellent and free tools like the PWABuilder that can help you achieve getting into the stores.
So why would you want an app over a PWA?
If you want (or need) to build a high-performance game, be able to make in-app purchases or access native features and SDKs like ARKit, CoreML, or Apple Pay probably the best solution is to write a native, or at least a cross-platform React-Native or NativeScript app.
And what about services?
There are a few new UX and development trends that are in a very initial phase now but will take over native apps sooner than you’d expect.
First, I’d like to mention superapps like Facebook and WeChat. They try to bundle a lot of features and slowly create a development platform built on top of them.
For example, on WeChat you can shop, pay, get a taxi and show your government-issued ID, and other third parties can extend these services.
But there's another Facebook app that is a rapidly growing and evolving platform for both developers and users: the Messenger. Not only for in-chat apps and games but (and here comes the second main category out of the four) for chatbots, too. They make accessing services (like Uber) or sending money to your friends a lot easier - and you don’t need to open or install another app! Also, since you are already familiar with the UI, you don’t need to get familiar with yet another app: this is the perfect UX for projects that focus only on one service.
But -to stick with the “calling an Uber” example-, you can even access services without touching any device, but using the most natural output you have: your voice. With voice assistants like Google Assistant, Alexa, Siri or Cortana keeping getting better and better from day to day, and being accessible via more and more devices (like the HomePod, Google Home, Amazon Echo and the list goes on), as you could guess, the number of possible use cases are growing, too. From controlling your music playback over ordering groceries to managing your smart home, you can (or will be able to) use your voice assistants to anything that can be provided by a service and doesn’t necessarily need a UI.
Native mobile apps that focus only on one feature were okay, but they’re starting to become a thing of the past. Several new trends are going to make them obsolete: PWAs, superapps, chatbots and voice assistants.
Creating a PWA is a great alternative for a general purpose application, and chatbots or voice assistants are very good for services like Uber or Lyft, but may not be suitable for everyone. The whole change-over is already happening, so maybe it’s time for mobile developers to add other technologies to their stack so that they can survive.
If you don’t agree with me, feel free to argue in the comments, I’m open to every opinion.