Hacker News new | ask | show | jobs
by joekrill 358 days ago
> The web simply dont offer the same experience and is not an alternative for argument sake.

The entire reason this is the case is because Apple and Google have intentionally prevented the web from offering the same experience. They've limited the APIs that web apps have access to and made them clumsy to use and "install". Web apps could easily compete with native, but that would limit their control over the app market and revenue.

4 comments

There is absolutely some truth to this.

But we’re talking about extremely basic things. Simple pages that display data, like a bank website showing my transactions. And you know what? The simplest of sites seem to work awful on the web… because the web developers make bad sites. I have seen examples of sites that are smooth, functional, and beautiful. But most sites are not. They are bloated messes where the user experience seems to be 15th on the list of concerns.

To answer to the question: “why does the web suck on mobile” is almost entirely “because web developers make awful websites”.

Google has pushed web harder than any other company. They popularized the very concept of a web app, back when the public didn't have that notion. They pushed the concept of progressive web apps. They tried to push web components. They tried to throw Dart into the browser. Under their guidance JS has advanced very quickly as a language.

PWA's can do background sync, there's push notifications, badge icons, the kinds of things that allow websites to feel more like apps — on Android and not iOS.

Debatable.

The AJAX approach was pioneered by the Outlook web team ~1998 and semi-standardized as XMLHTTP in IE 5 (1999).

So a decade before Chrome was released.

Admittedly, Chrome did a lot to push forward web apps, but that was 100% in Google's self-interest given they were competing against thick client MS Office.

Which APIs are limited? I feel like almost every app I use could easily be a website. They don't seem to do anything especially fancy.
An actual list would be long, nuanced and vary by platform, but I'll offer a sampling.

For many things there's might be a basic API available, but when you dig a little deeper you find huge limitations. Geolocation is a great example of that. Sure, it's available. But you couldn't implement a navigation app, for example. Because you can't watch the location and get updates in the background. Not to mention that accuracy and update frequency can be severely reduced in a PWA vs a native app.

Other limited APIs include things like bluetooth, audio, NFC, notifications, file system access, sensors (proximity, light, etc), camera functionality.

Safari (and therefore Apple) doesn't support things like accelerometer/gyroscope access, battery status, vibration, network info.

You can't access things like the user's contacts or calendar. And we could argue over whether limiting access to stuff like this is a good or bad thing. But the fact is that this stuff is available in various ways to native apps, but not at all to web apps.

As an app developer, if the app is nothing but images and text and the full experience is just a series of json, it should be a website. Those kind of apps are the most boring to work on.

But our phones are more powerful than the computers that landed us on the moon and are packed full of sensors and connectivity. The web is incapable of matching a native app, if it is actually doing something interesting.

Outside of games, very few apps are doing anything interesting. The only reason for them to be apps at all seems to be to get a place on your Home Screen and to push notifications.
A website in your phone browser will not be able to see when you're leaving work (or a friend's house, vacation), calculate when you will be home, turn on your HVAC, raise your garage door, and unlock your door as you approach the door.

It also won't display the weather for the next few hours and your calendar on the same screen whenever you open up your phone without being an extremely bothersome action every time.

We have "netbanking" which works but its slightly less convenient, has some features left out and so on