Hacker News new | past | comments | ask | show | jobs | submit login

As an iOS user, I'm actually quite glad that websites can't send me push notifications on it. And app loading screens are a feature?

If people _insist_ on making phone apps as websites, there's Cordova and all that. Such apps are never very good, of course. I still haven't seen a website-based desktop/phone app that wasn't a clunky non-native-looking resource-hogging mess.




That exact argument can be applied to native apps. Should native apps have push notifications removed?

Why not? Because they can actually be extremely useful. Such as for receiving emails, Facebook messages, Slack pings, or news updates you've subscribed to. Maybe somebody tweeted you. Any of these apps could work as progressive webapps.

Regardless if the platform is native or web-based, the feature remains opt-in. If you don't want them, then don't subscribe to them.


Yes but supporting the feature encourages developers to make web apps. Why would you want to encourage that?


Why wouldn't you want that? PWAs are seamless (no downloading/installing), allow native features, can be saved offline for later, run in a secure sandbox, and are completely open and cross-platform.


I don't really value cross-platform in the sense that the code I write for platform A can run on platform B. At least for applications.

I think it's valuable for games. Unity and Unreal engine have demonstrated that.

Applications necessarily intersect with the underlying platform in a way which games do not. Accessibility, system-wide services (e.g., dictionary), system-wide interactions (e.g., drag and drop). There are reasons I choose macOS, and when applications embrace the design philosophy and features of the platform they become great applications. PWAs will not do this to the same extent (and if they try to, the effort would be so significant they might as well go native).

I feel strongly that the platforms you develop for should be the platforms you love using. And so the things you develop should bring out the best and most valuable features of those platforms.

I would rather encourage developers to embrace each platform's strengths. I understand that many companies might not care — they want as many users as possible as cheaply as possible. But I do not appreciate that attitude at all.


And that was such a great experience with Java applets....


False equivalence. The points I listed above were not true for Java applets.

Applets were not seamless (requiring a plugin to be installed), did not allow most native features, and ran in anything but a secure sandbox.

They were open (by nature of the JVM), and cross-platform, but that's it.


I'm pretty sure it boils down to "we're fancy iOS users who want nothing to do with those peasants over in the Android world". It seems like the majority of the comments opposing web apps oppose them because they're cross-platform and not written specifically for their chosen platform, which is a very silly stance to have.

There are some more coherent arguments in play, don't get me wrong (in particular, the argument that web apps are a bastardization of what the World Wide Web was intended to be for; I agree with that wholeheartedly), but a lot of the rhetoric around here really reeks of elitism.


I've written quite a few apps for both iOS and Android.

While I'm not an Android user, when I build an Android app I try to embrace the platform's strengths. I try to understand best practice, and follow the designs encouraged by Google. The resulting apps often look and behave completely differently between iOS and Android because the platforms are so different.

I have mixed opinions about a lot of Android's design philosophy, but there's no way I would build an Android app that didn't conform to the platform. Because I expect Android users enjoy consistency too.

There's probably some elitism in there. But there still is no web app on macOS or iOS that feels good, consistent and integrated in the same way that a good native app feels.


> But there still is no web app on macOS or iOS that feels good, consistent and integrated in the same way that a good native app feels.

Part of that though is because they _don't_ allow PWAs. Contrast that with Android, where it's now entirely possible to make a PWA so deeply integrated into the OS that the average user can't even tell it's not a native app: https://blog.chromium.org/2017/02/integrating-progressive-we...


> Contrast that with Android, where it's now entirely possible to make a PWA so deeply integrated into the OS that the average user can't even tell it's not a native app

Oh, but quite many will be able to tell after 5 seconds of using it. The rest will realize the moment the Internet connection drops temporarily.


> The rest will realize the moment the Internet connection drops temporarily.

Nope. A properly-written PWA will continue working just fine when the user goes offline, just like a native app would.


Most native apps that rely on a web service backend are pretty unusable when the connection goes offline.


It's not. I feel the same way as 'interpol_p, and I'm an Windows/Linux + Android user.

The webapp ecosystem is making the same class of mistakes pure-Java UIs used to. They assume e.g. that a textbox is just a rectangle on a screen that you can type stuff in. But it's not just that; it's much more.

Each operating system has a large set of default UI behaviours and idiosyncrasies. Continuing the example, a native textbox may be a clickable rectangle accepting keyboard input, but it also has a set of well-defined behaviours for Tab-cycling, text navigation, right-click handling, keyboard shortcut handling, cut/copy/paste handling, etc. Web applications fail to replicate that functionality completely and consistently. And platform consistency is a feature - one that many users value.

On top of that add resource waste (spinning up a webview and parsing heavy markup languages just to show a bunch of buttons) and web-specific failure modes - many vendors do not care about making their webapp work correctly when connectivity is limited, spotty or lacking. Hence the occasional full-screen 404 or 501 or connection-lost error when you press a button.

I want my applications to be performant, platform-consistent and interoperable. Web apps fail at all three, hence I avoid them like the plague, and discourage everyone from developing them.

About the only benefit I, as a pro user, I get from web application is the relative ease one can reverse-engineer their backend APIs with.


>On top of that add resource waste (spinning up a webview and parsing heavy markup languages just to show a bunch of buttons)

Hold on - do you know what a progressive web app is? We're not talking about apps like Slack which bundle a browser inside of them - we're talking about webpages that behave like applications.

>many vendors do not care about making their webapp work correctly when connectivity is limited, spotty or lacking.

Offline support is a key feature of PWAs, so this point is moot.

>Each operating system has a large set of default UI behaviours and idiosyncrasies.

Browsers are completely able to define their own design language, so a text box need not look the same in every browser. As long as they conform to common standards, everything will work fine.

As such, you don't get the Java problem where everything must conform to the same style, and thus feels foreign in different environments.

>I want my applications to be performant, platform-consistent and interoperable. Web apps fail at all three

PWAs excel at all three. That's the whole idea.


Text boxes in the web have had the same look & feel as native text boxes since between one and two decades ago.

When I right-click on the one I'm typing in right now, on Chrome running on a Mac, I even get an option to "Add to iTunes as a Spoken Track", whatever that might be, same as with the native text boxes.


> Text boxes in the web have had the same look & feel as native text boxes since between one and two decades ago.

They would have if people weren't "improving" them with JavaScript as some sort of a rite of passage, or something.


I'm an Android user, and I don't want these either. Mainly because they don't integrate with the native look & feel of the platform. And when a dev tries to, then inevitably make it look like iOS, and ignores Android look & feel.

"It seems like the majority of the comments opposing web apps oppose them because they're cross-platform and not written specifically for their chosen platform, which is a very silly stance to have."

But it's not. By not being written specifically for the platform, everyone is just getting a least common denominator approach. Nobody is getting anything that integrates with their platform. Nobody is getting anything that embraces what makes the platform special, or good.

"but a lot of the rhetoric around here really reeks of elitism."

No, it's more that we want developers to actually make an effort to embrace the platform they're trying to work on. And, quite frankly, use something that's not JavaScript. Learn a second language.


Remember how Java applets and Java desktop applications took over the world?

A big part of the reason they didn't is the reason that people dislike these fake-native web-apps; they just don't feel right.


Web apps (as in what we used to call websites that did stuff instead of just displaying content, not PWAs) did take over the world, enabling the (slow) downfall of Windows. They didn't feel like native Windows apps either, and the web stack was far worse back then.

There's two big differences:

- There was an unsatisfied need back then to move your apps and data with you as you moved to another PC. The phone moves with you.

- Microsoft couldn't prohibit Mozilla and Google from writing non-crippled Windows web browsers. Apple learned from that "mistake" and won't let it happen on iOS.


Push notifications are opt in on every browser that supports them. I'm confident Apple could come up with a process that ensures you only get them if you want them and can easily opt out later.


Right, but as a user experience you get a phone that either annoys you into switching off all the features that can be used to bug you, or annoys you endlessly because you don't know how to switch it off, or doesn't have it on by default - in which case there's little point in implementing it all, because most will not even be aware they can switch it on.


Or you could do some kind of middle-ground like what Chrome is planning, where the user can only be prompted to enable notifications after they've reached some specific level of engagement with the site they're using: https://github.com/WICG/interventions/issues/49#issuecomment...


> If people _insist_ on making phone apps as websites, there's Cordova and all that. Such apps are never very good, of course

I strongly disagree. We use Ionic (which is based on Cordova) for line of business apps, and the results are as good as native apps, but with the benefit (amongst others) of having a single codebase for both Android and iOS.

Hybrid apps aren't a good match for all types of app - games in particular - but they do work well for many others.


Yes, all you're saying is it is possible to make shitty native apps too. So that would explain your results. Native isn't a magic wand, but except for the simplest of things web will not be as good. The cracks still show in things like Google docs and sheets and overall those are pretty good as far as web goes.


> Yes, all you're saying is it is possible to make shitty native apps too

No, that's not what I said at all. I guess you're only going to read what you want to hear...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: