by foothebar on 12/30/21, 1:54 PM with 27 comments
Instead when directly using a web page, which can be used by every device, including desktop computers, they also would have access to the devices sensors, camera, microphone, audio, position, but would only have to program once, and would be free to do what they want, including payments going only to themselves.
So why do people provide (and use) apps, instead of proper web technology? Except of some really special ones (like banking), this does not seem to make any sense?
by ksec on 12/30/21, 3:36 PM
Games - Even though there are some games that could be done with HTML / JS and there are games as such within app store. Vast majority require Native access for performance and battery.
Icons on HomeScreen. This is partially a platform limitation where you cant add the "Web Site" to Home Screen with "one click". A click on Homescreen to access information is million times easier to typing in a Website address.
Performance - The best HTML / JS apps may be just above the median of Native Apps in terms of performance. And vast majority of HTML / Web Apps performs poorly even on the fastest SoC A15.
Technology - You cant do instant messaging and other things as native app.
App Store provide easy access, distribution and trust to consumers.
Basically the experience of Native Apps is so much better than Web alternative. That doesn't mean I support native app or denounce Web App. I consider the point above as objective truth.
by kasperset on 12/30/21, 2:04 PM
I think non-techie people are more accustomed to "exclusiveness" where you just reach the app directly as compare to having the choice the entering the webpage address or even clicking a bookmark. Sometimes it is more about human psychology than technical issues.
by LinuxBender on 12/30/21, 2:26 PM
I think the best one could do would be to contribute to a Hall Of Fame of websites that work well with cell phone browsers and create an icon legend that lists what addons are known to interfere with that site.
Beyond that maybe contributions to the next HTML6/7 specifications that which makes writing code that is more compatible with cell phone browsers and addons, giving more control to the client while keeping the site functional even when using addons. i.e. extensions in the spec that addons can utilize to better understand context and intention.
by josephcsible on 12/30/21, 5:27 PM
by zaphar on 12/30/21, 5:10 PM
by h2odragon on 12/30/21, 2:04 PM
The "touch screen tablet" is the epitome of SciFi user interface and has been since the early 70s or so, I think. The "powers that be" have this in their sights and can't hear any of the reasonable objections raised by engineers and users. One might conclude that the real reasons have less to do with "user experience" and more to do with what the vendors can get away with.
The humble keyboard, despite all the reasons there are to hate it, despite all the flaws and room for improvement; despite the lack of "market support" by manufacturing giants, still continues to be used, valued, and innovated on by users.
So the answer to your question is, I think: because BIG money wants there to be smartphones and apps; in the hope that that minimal functionality will prevent the invention of better functions. Competing is hard, so much easier to manage market expectations.
by thatsamonad on 12/30/21, 5:51 PM
If I subscribe through the App Store, I can easily cancel my subscription at any time by going to one place and just clicking "Cancel Subscription". Contrast this with some well-known news sites who make you place a phone call and then give you the run around just to cancel a basic subscription.
It would be a nightmare to subscribe to multiple different websites and then have to go through a user-unfriendly process to cancel through each one.
by GoldenMonkey on 12/30/21, 2:23 PM
And what amazing games are you playing on a web browser? The same could be said about desktop apps… Why even have desktop apps?
by syspec on 12/30/21, 5:23 PM
by DanielHB on 12/30/21, 3:45 PM
2. Performance was a much bigger problem, especially for games and 3d acceleration APIs like webgl was also not available back then. To this day the 3d engines makers still don't target the Browser platform because webgl is so limited and buggy. I think Unity did for a bit but eventually dropped support
3. In fact Steve Jobs around 2007 was pushing for web apps as the only 3rd party app platform for the iphone, but due to public pressure (due to 1. and 2.) App Stores came about. They still exist though because the vendors (google and apple) realised the lock-in and closed-garden control over the market was a huge boon for profits. Much like Playstation/XBox/Switch, they really enjoy taking a cut on every sale. Steve knew that when you are the underdog entering a market you have to be open and consumer friendly, once you have the users locked-in you can close down. He managed to hit the jackpot because there was NO viable open alternative to code what the phones were physically capable of, so the developers didn't even have a choice, they HAD to use the proprietary solution. This is partly why the VR space is so promising to big companies, they know whoever gets lock-in effect will be able to milk it for DECADES. We as consumers and 3rd party devs desperately need an open VR platform (maybe inside the browser?), but it seems like it is not going to happen any time soon
The lock-in is much more insidious than you might think though, the lock-in is both in the user-level but as well as the developer-level. In UI development there is this big thing that the UI should feel native to the platform, meaning apps should behave similarly to each other. For example the acceleration and rubber-banding when scrolling down a list should be the same for every app.
Browsers are inherently a different platform that just happens to run on top of other platforms. Anyone can tell that a web app in Windows feels different than a Windows 8 App that also feels different to the obscure win32 configuration screens from windows 98 days that appear if you dig deep into the settings
Android and iOS likewise have the same lock-in effect, web-views wrapped in native apps just feel bad. Not because they are bad, but because they are different. The ONLY way to make a web app feel native in Android or iOS would be to compile their native UI Widgets into webassembly and somehow render them to a full-screen <canvas> tag and not use the DOM at all. Which is kinda pointless, might as well code full native. No matter how much hacking a cross-platform framework does to try to feel native it won't be native because there is no way to mimic millions of lines of code of the native UI toolkit. It is much the same reason Java desktop apps and java applets failed, they didn't feel native inside Windows OR inside browsers
Facebook realised this earlier and made React Native which renders to native UI Toolkit elements instead of using a web-view or drawing to screen directly. Google seems to be moving in this direction as well with Flutter, their core business are the apps themselves not the google play store and too many companies are going iOS-only for their apps so google is pushing an "open" platform (that they control)
On the other side you also have developers lock-in because all those platforms need separate dedicated developers, those devs will push back HARD on using any non-native tech because it literally means they their expertise is wasted and they will be downgraded from Senior iOS developer to Junior Web Dev. Just look at any company where business decides to shift to use web-wrapper native app, all the iOS/Android devs quit immediately (even though the company would like to keep a few because of platform-specific quirks)
In short the answer is: "Because it is good business for the companies that make the smartphones"