4 ms·
Off the top of my head: The web app working while offline, local storage, and background sync. The idea is to be able to build web apps that have feature parit
by tjohns 5y ago
Off the top of my head: The web app working while offline, local storage, and background sync.
The idea is to be able to build web apps that have feature parity with native apps. (Especially on mobile, where apps are expected to integrate with the system and data connectivity is intermittent.)
If you don’t want that, that’s fine. But native apps are popular for a reason, and those features are a big part of that reason.
- freediver 5y ago> Off the top of my head: The web app working while offline, local storage, and background sync. Do you really mean the web? Or a small subset of the web (that then probably already has a native iOS app)? For example how would Google search work while offline? Even making something as "simple" as HN (only compared to Google search) work while offline would be a considerable technical challenge and a large investment for HN, for a use case that is almost non-existent. Would really appreciate your perspective.
- gherkinnn 5y agoLong-term static content like documentation. Apps that can operate on local data like various text editing, notes, primitive video and audio work, etc. And the ability to continue using portions the app if you briefly loose connection. That can be quite powerful in some instances.
- tjohns 5y agoI mean web apps, but not the broader web. Things that would have an analog as native mobile or desktop apps. This doesn’t really apply to content sites. Not everything makes sense offline. If you need to perform real-time lookups, or if the backing database is too large, or the data is rapidly changing, or the user just infrequently visits the site - those are all good reasons to require connectivity. But if the data is small enough, can be cached, and can be sent asynchronously, and is something the user is using consistently it’s a good candidate. Apps that work well would be things like email, productivity apps (word processing/spreadsheets/photo editing), and maybe small data feeds like weather and news headlines. Even chat is fine, since connectivity gaps are often only a couple minutes long. My litmus test is “is this something somebody would expect to work while they’re on a train as part of their daily commute.”
- freediver 5y agoOK so Gmail is a perfect example then. Let's imagine a scenario where PWAs were fully possible on iOS and the user has a choice of a native iOS Gmail app or a PWA webview app. Do you not think that a native app would offer a better user experience and that 9/10 of users would prefer it?
- tjohns 5y agoYes, personally speaking, I’d prefer the native app given the choice. :) I’m not personally arguing for PWAs over native apps! That said, I also know there are some apps that will never be developed as native apps (due to cost issues), and in those cases it would be nice to give web developers the tools to at least make the experience more pleasant and native-feeling.
- freediver 5y agoFair enough. Can you give a few examples of real world sites that would benefit from this (that already do not have a native app)?
- floatingatoll 5y agoI just tested the only website I have in “Add to Home Screen” PWA mode on iOS, and it caches all of itself perfectly fine offline, but since the site is coded badly, it doesn’t recognize that it’s in offline mode and crashes instead of being a useful app. It serves the crash page locally, from cache. But it’s clear that they could have invested in this and chose not to. That’s not the OS’s fault, any more than it is when an native app decides not to implement offline support. But. Native apps are required to ship basic offline mode support, so that when launched while offline, they show something to the user. The open web has no such requirement, and tends prefers the laziest approach without regard for users. Restrictive demands upon apps is what makes me prefer them; I respect others prefer the freedom not to bother with offline or accessibility or whatever.