What is the purpose of mobile applications?
Websites already provide a pretty good experience by advancements such as SPA, which is fast with smooth transitions between pages.
However, what problems do mobile apps solve? Why are they needed and are they needed really?
The only idea I came up with: speed. The apps are indeed faster and provide better user experience. However, the state of web development can provide almost the same experience.
Looks like OP has drank the koolaid of the JS bootcamps. Mobile apps can outshine an SPA, and then there are things that JS webapps can only dream of. Want to interface with a IoT device over BTLE? Sorry native’s the only way. Wanna do immersive AR experience in your app? Ditto, JS won’t cut it. How about writing an simple app while following a11y guidelines? Even for simple list based apps, native can run circles around JS apps while using less power, and conserving battery without breaking sweat.
Mobile phones are like a Tesla Model S, and you don’t want to tie it to a bullock and use it as a ox-cart.
Mobile apps can use native controls. When there is an ecosystem of apps that use the same controls, it enables users to do more, because they can bring their knowledge from one app to another.
For example, with iOS UISlider, you can make fine or coarse adjustments by moving your thumb perpendicular to the slider direction. This works across all native apps. Users who learn about this feature become more capable in every native app.
There's no mechanism to create this sort of shared knowledge on the web. The web developer culture emphasizes customization, and so no two web apps work consistently.
I also prefer mobile web apps in general (as did Steve Jobs originally: https://www.google.com/amp/s/9to5mac.com/2011/10/21/jobs-ori...) that said it's often much easier to create an app with good, consistent UX with the help of UIKit for example. I'm mostly doing backend work these days but whatever happened to "progressive web apps" by the way? Is the (react?) ecosystem still too fractured? Is it just too hard or is it everywhere and I just don't know about it? ;D
For distributor of the app (app stores) - they can take a percentage of sales if the app is monetized.
For users of the app - As you mentioned, speed is an important factor. But we can also trust that the distributor has reviewed the app and confirmed that it's safe to use (theoretically at least).
One more point I would add - app stores provide a singular place for me to search, compare, and discover new apps that might be valuable to me.
You need to have a kid to get the answer to this question. My kid doesn't use browser ever - if there isn't an app it doesn't exist. What we "google" she "youtube's" - who has time to read when you can watch a demo or a presentation...
While some of the arguments in favour of mobile applications apply in many cases, I'd like to consider a specific recent example: The GitHub mobile app.
I have been using GitHub on mobile via its web application for years. It worked fine for the most part though some feature (such as pull requests) weren't as easily accessible on mobile as they are on desktop machines.
However, with the advent of their new mobile app, not only is its UX better when compared with the web app (e.g. when reviewing pull requests) but due to the banner notification reminding you to use the mobile app when accessing GitHub via the web app on mobile devices the UX of the web app to some extent even has decreased.
The thing is, there are no features within the GitHub mobile app that actually warrant having such an app. Everything the app does would have been possible on the web and with mobile browser APIs, too.
So, in that specific case the purpose of a mobile application perhaps mostly comes down to having such a mobile application, i.e. it's more about marketing and distribution channels than it is about technology or design requirements.
>The apps are indeed faster and provide better user experience
This is a major reason. Another is access to the features of your mobile device, such as location, AR Engine, camera, push notifications, etc.
One problem they solve quite well is being able to show ads while making it hard for end users to block them.
No. Website doesn't provide experience as good as native app. Many ordinary users can tell you this.
- Privacy. A good intention mobile app, can be designed to work without Internet.
- Internet. User doesn't have access to Internet all-the-time, but you still need certain app to work.
- Fast. Web app can never be as fast as native app. It is not realistic to expect code which runs under an JavaScript interpreter layer, can be as fast as native (or almost native) code which is nearer to CPU layer.
You get more access to the hardware. It appears that auto-focus isn't available via a webAPI for example.
I’m sure part of this is consumer preference. We are 100% web at the moment and customers ask for an app all the time. Reasons they give:
- They want native notifications, not email or SMS.
- They perceive that web will be more difficult to log into.
- The don’t know how to install a website onto their phone like an app.
(For context, we are Bottomless.com, YC W19.)
there are APIs available in native apps that you cannot access in an SPA. For example, jogging apps continue to track your run while running in the background, but this is impossible in a web browser.
Speed yes, although much is thru the convenience of bypassing browser sandboxing/restrictions rather than reduced CPU utilization.
Revenue, monetization of PII and other user data is the primary purpose. That's why some sites are so aggressive about pushing them on you, to the point of making the web app substantially worse than it should be. Yelp and reddit, from the top of my mind.
Sure, there are apps that benefit from more direct hardware access (games, art?) but they are often able to charge a fee.
> can provide almost the same experience.
Please, show me a complex web application that performs well (little perceptible UI latency) on a mid-range phone.
Edit: Or a fast SPA - I've never seen one.
Mobile platforms are moving targets, the landscape changes constantly and the goal posts of what a SPA needs to acheive to compete with native apps keeps shifting. Raw performance is not the only metric. I think this discussion is also stale, despite 10 years of people telling us that web would kill mobile it hasn't happened yet, I don't see a reason one stack has to replace the other really, they can co-exist and compliment each other nicely.
I would think web apps have the major advantages, and have for some time.
Seems to me the biggest draw one would be see how you can retain the people that are willing to go the extra mile to download your app. You must be solving a problem for them in a significant way. A web app is a quickie, it's useful or isn't. And besides the reasons why they are useful above, it helps you to fail /or/ scale faster.
The major headache with web spas is the little things like scrolling showing the address bar then hiding a button slightly. I treat some sites as apps by using one icons, and that’s ok but something that needs to behave like a fixed screen size kind of app doesn’t work well. Why? Apple doesn’t want it to? Why? 30% take on the AppStore is at stake!
Sometimes you want apps that are silo'd off and are not connected to the entire web. Mobile apps can provide users with a better experience since they are more locked down in terms of permissions
Mobile apps are great, the only problem is: app stores. For this only reason, I will never write a mobile app again.
Speed, better integration with the OS, less wasteage of RAM, native look and feel of the components.
Apps are almost always a better experience.