Believe me, you're preaching to the choir. Nor am I advocating for every website to have an API. But unfortunately we part ways here:
> The web is a success
The web is not a success. It's dying. Consumers vastly prefer native apps — one recent study (https://www.mobiloud.com/blog/mobile-apps-vs-the-mobile-web/) tells us that 90% of mobile time is spent in apps vs 10% in browsers.
If you remove time spent in those popular apps and their respective websites from the stats, the data would likely paint a vastly different story (that might not be in the best interest for a site that relies on pushing "Launching mobile apps for your WordPress site" to highlight ofc).
This is especially true when you think about tasks rather than screen time. If I’m Facebook or Spotify selling ads, I want people glued to the app for a long time. If I’m selling things, giving information or customer service, etc. the story is completely different: someone placing an order faster is actually a win.
EDIT: My experience is colored by being in the cultural heritage space where the flurry of “we’re in the App Store!!!” entries met the hard reality of every engagement metric being much lower than web sites. There is huge variation hidden in global averages.
Taking myself as an example, I may spend 90% of my time on my cell phone using the Messages app, the Phone app and a handful of apps that I installed a long time ago, but I'm much more likely to try out a new web app than I am to try out a new native app. Looking at my phone now, I see exactly one native app that I installed in 2020.
Op is arguing that based on our intuition the data aggregated at that level doesn't distinguish between this more complex story and the simple one of "people prefer apps".
"It's often useful to take context into account when evaluating statistics"
You can criticize it, sure. But - you are using a computer 100% because of the web, not because of spreadsheet software.
Now, back to web vs. native. You just have people who prefer either. I exclusively use apps. I think the experience is better in every way, and I've never seen a web application deliver comparable experience to a native app. But, almost every native app is backed by a web server. And, some things I do want to remain web apps, like Wikipedia.
I think the web community overall looks at native apps like they are some weird, alien technology because they're completely blinded by what they build and what tools they use. Like always, if we understood why users enjoy native apps, we could learn a lot of things. I'd argue that we are learning that, which is why there are lots of SPAs. That doesn't mean that's the only way to build software, it just means that people do actually enjoy that experience.
There is some everything-looks-like-a-nail but that's not all. I'm making a native desktop app now which is slow going. Every platform I want to support is so different, and cross-platform tooling often requires branching and learning each ones quirks anyway.
Just making an Electron/ReactNative app is often the best of both worlds should a website not suffice. (Excluding concerns like battery life, app size, or memory footprint.)
Curious. Did you post this using a native app?
On my mobile I never access HN via the website, I use one of those apps.
Essentially, you have purposefully asked the wrong question in order to lie to us using statistics.
Does that really mean anything other than you can do more things with mobile devices than just browse the web? I might use WhatsApp on my phone, draw with Procreate on my iPad or play games. I don't see why any of those things should involve the web browser, but that doesn't mean the web is somehow dying.
I mean, to draw an analogy, it doesn't mean Netflix is dying if I use 90% of my time at home not watching Netflix.
EDIT: I do understand you can make web apps that work offline by jumping through enough hoops. But then again, why would you? Why try to unnecessarily shoehorn everything into the web paradigm?
Let's take an iPad drawing app that is super well integrated with Apple Pencil. What benefit would forcing it onto the web bring, considering the performance hit and usage of specialized hardware?
Or a recording app that I might use to take voice notes or record other audio. Why does that need to be a web application?
* platform agnostic
* can't be blocked by a central platform gate-keeper
* generally much smaller (download size) than native apps
* don't take up permanent space on your device (good for things you only use occasionally)
* always up-to-date
Personally I prefer native apps for tools I use frequently. Everything else I prefer the web.
* this is true-ish. It's not that they can't it's that they aren't. If Apple or Google just up and blocked a site in Safari or Chrome it's basically dead. "Technically accessible in Firefox" isn't exactly a selling point. You're also gate-kept by your ability to get a public cert.
* True but download size only really matters on first install. It's absolutely friction but not really something that I've ever seen people care about anymore. Pictures take up almost all of the storage on people's phones now.
* True but the trade-off there is that you have to download it every time. Native apps win in the long run if you use it often.
* Users have never cared about this. This is only a benefit to the very techy.
I'd rather see better cross-platform native tools than more web tools. The web is bloated, overloaded, and has a lot of historical baggage. That isn't to say it can't still be used well, but I still like seeing alternatives with innovation.
That depends, what is the usage pattern of browsers vs. everything else on the desktop computer? Because you can use the desktop computer for more things than browsing the web.
The advertising is so pervasive, so annoying, so invasive and so awful it just makes the medium unusable. The same trends are starting to creep into podcasting and video games and I just wish people would realize they are slowly destroying their own businesses with this garbage.
Web apps are dying because the web isn't a good application platform. Google made a real good argument with Gmail and Maps, but unless you have their resources (even if you do, looking at Facebook here), it's very hard to create a great application experience on the web--for many of the reasons you write about in your post.
But I think that's fine. The web isn't a good application platform, but it is a good information platform. There's also other protocols beyond HTTP. Imagine if getting the most out of the internet didn't require millions of lines of C++, hyper-complicated JS JITs, layer upon layer on HTTP, and opening the door to the surveillance state.
For giggles, I just loaded HN on a 2011 MacBook Air. It took just under 2 seconds for the front page.
Then I loaded GMail on the same machine. 15 seconds to the front page. Plus, it came in with 21 errors ranging from invalid headers to invalid sources to cross-origin issues.
That's a very weird assumption to make considering that the web was intended for sharing information, not running applications. The fact that customers prefer native apps does not mean that the web is dead. The web is good for somethings. And native is good for others.
For ex., I read your article on a mobile webpage. Downloading an app for that would be madness. But trying to use a big webapp like jira on the mobile would be a study in madness. Hell, It doesn't work on the desktop well enough.
The bottom line is that the web is good for some things, native apps are good for some things. Instead of trying to shoehorn web everywhere, it would be better to use the correct tool for the job
What do you mean "prefer"? The correct word is pushed.
If there is a site you use often enough it graduates to living in your phone. But the majority of what apps can do is never even touched.
I’d be much more interested in a breakdown of app usage, as I bet active time shifts more towards web
This one I'm always interested in. What is difficult about downloading an app?
Downloading an app is more personal, phone storage space is still a premium for many people. App devs don’t seem to care at all how big there app is. We yell at at web devs when their page is >1mb. I’ve tried downloading simple apps whose size are 400mb, what the hell are they doing? If I can visit their site that’s 1mb or download their app that’s 400x, maybe I’ll just visit the site and be on with my day.
Consumers hate apps. The average they install per month is zero. 90% of their installed apps are completely unused. Almost any new app they do install has single usage, and is then abandoned forever.
Many of the most popular apps are reliant on the web or web servers for their content (social media for example), and it's ok if some content is not on the web. Games for example are a special case which are better served by native code.
A marketer like the one doing those surveys is understandably going to be concerned with where the captive eyeballs are, and platforms do have a tendency to try to herd users into their walled garden, but in the long run I think the open web will win over corporate walled gardens.
If the sites in the genres I care about remain, I am unaffected (except for, perhaps, economically in a bigger picture).
For example, I don't care if ESPN's app is favored over it's website. I don't care if various lifestyle magazines have apps. Lots of examples here, pick your own.
I spend my time on the web or in a select few apps like Discord, Hangouts, Signal, etc. Even then, I don't really care if the sites are optimized for mobile. I usually prefer when they aren't because most people do it poorly. Just make a nice website with appropriate viewports and non-fixed whitespace on the sides and it'll probably work out unless you're doing some fancy interactive stuff. In which case, I probably want it to be on a desktop anyway.
- most people only install popular apps
- top apps in playstore are actively hostile to using their website.
Reddit, Imgur, instagram, snapchat, whatsapp, twitter etc. You name it. They either don't have a functioning mobile website or native only.
Given how hard certain sites (fb, LinkedIn, reddit for a start) push their apps it is kind of understandable.
Please everyone remember though that using does not necessarily mean prefer.
I mostly loathe apps.
Svelte projects do not put 10k dependencies in the final bundle.
In fact when using Svelte you won't need many dependencies you typically need when using React:
- State management (MobX, Redux, etc)
- CSS stuff (classnames, CSS in JS, etc)
- Animation
Even on a simple use case like a synthetic benchmark Svelte is still the absolute leader in start-up metrics:
https://krausest.github.io/js-framework-benchmark/current.ht...
Also check the metrics for a real world project:
https://medium.com/dailyjs/a-realworld-comparison-of-front-e...
There are definitely functionalities that are impractical to implement with server-side rendering and forms alone. Map widgets and drag-and-drop come to mind.
The issue I have though, is that the overwelming majority of web functionality can be implemented as server-side rendering.
The comparison is between server-side with a bit of js where required, and the proposed 'modern web' where js frameworks attempt to take over the entire experience server and client side so that they can remodel the world in their image.
Most websites simply don't need react and friends, even if they are more app-like than doc-based they still don't need it, and they certainly don't need to be a single page application (the best modern example of throwing out almost everything that is good about the web - urls, links, docs, stateless).
You probably don't need your js framework, your 10k npm dependencies, or your complex mix of server and client side rendering. Not every website needs an api and clients to consume it, and not everything needs to be an app.
The web is a success because it is simple, accessible, fast, and nobody cares how the server makes the html they are reading. Let's keep it that way.