24 ms·
Say yes to the progressive web
- sp332 9y agoThis says that Mozilla has been "less aggressive" in implementing PWA features, but the only API I can see missing is the speech synthesis. Have they really failed to support anything important? I mean they invented the PWA with Boot2Gecko a.k.a. Firefox OS.
- qmarchi 9y agoWebOS had them beat.
- rrix2 9y agoWebOS apps weren't progressive until Enyo 2, which came out after HP bought Palm.
- f2n 9y agoThe only API they don't support that I know of that somewhat bothers me is that notifications can't have buttons or actions. The bugzilla issue[0] has been sitting without much updates for a while. [0] https://bugzilla.mozilla.org/show_bug.cgi?id=1190681 https://bugzilla.mozilla.org/show_bug.cgi?id=1190681
- ben_jones 9y agoMany companies either don't care or are too incompetent to develop high quality PWAs, or SPAs at all for that matter. The low hanging fruit example would be Reddit which IIRC is STILL broken on many Android devices, breaks backwards compatibility between design iterations (login, cookies, etc), 5-10s loading times (SPAs are FASTER remember!), and missing comment chains [1]. [1] reddit.com/r/beta
- mephitix 9y agoGetting PWAs right is difficult at the moment. If you don't get service workers right and don't build out the surrounding features (cache invalidation!) then it creates a worse experience. Then take into account the fact that PWA support is broken on iOS... I really doubt that Apple will fully support PWAs (e.g. web push) beyond App Manifest. The issue that isn't discussed as much is discoverability. iOS users are trained to go to the App Store to install an app. App Store on iOS feels safe, secure, and intuitive. How often do you think a user will choose to pin a website on iOS, regardless of what the suggestion UI looks like?
- ckuhl 9y agoApp Store on iOS feels safe Does it feel safe or is it actually safe? A big part of Apple's competitive advantage is the quality it provides (real or perceived). If an app provides a subpar experience, they can yank it from the app store, whereas they have no recourse if a PWA starts e.g. cryptomining in the background.
- mephitix 9y agoBoth. From an end-users perspective - someone who doesn't know the inner workings of the app store - then it feels safe. In a world where common people are becoming trained not to click to download random links on the internet and look at the 'lock in the address bar', going to the App Store app and seeing the familiar UI feels safer. For us tech folks, then yes, we know it is safer.
- maneesh 9y agoStrangely, their new ad platform appears to be pretty gameable in some respects... https://medium.com/@johnnylin/how-to-make-80-000-per-month-on-the-apple-app-store-bdb943862e88 https://medium.com/@johnnylin/how-to-make-80-000-per-month-o... That said, they just denied an app I released (here on Google Play https://play.google.com/store/apps/details?id=com.pavlok.meetmaneesh https://play.google.com/store/apps/details?id=com.pavlok.mee... , it syncs my content from different media sources around the web) was denied. They said it was too close to a web experience. We've released several iOS and Android apps, and inside of our apps are mini-apps (different habits and behaviors our users want to change). The app we were attempting to make used React, which was giving us a headache. The denial was annoying, but fortunately, iOS just enabled PWAs. It seems to my developers that the site is essentially Web technologies (HTML/CSS/JS) + a Manifest. By doing that, you can enable push notifications and offline access. Is that essentially it? Because that might solve the problem of making apps rapidly on multiple platforms for us.
- mephitix 9y agoPWAs are broken on iOS. Push notifications are not supported, and in general the experience is pretty bad. See this article for more details: https://medium.com/@firt/progressive-web-apps-on-ios-are-here-d00430dee3a7 https://medium.com/@firt/progressive-web-apps-on-ios-are-her... The worst is that if you are in a PWA, say in a page like /my/sub/page and navigate out of the PWA, like go to a different website or go to another app, and then come back to the PWA, it will reload and go to the / home page, destroying all state and routing.
- superkuh 9y agoOr just make a website that doesn't require javascript at all that loads instantly, uses almost no CPU/battery, and renders on everything everywhere and for people with accessibility issues.
- sp332 9y agoThat sounds great for a web page, but PWAs are more about being apps than about being web pages. Without JS you can't access location, camera, microphone, dialer, accelerometer, etc. Also it's difficult to preload a plain HTML page for offline use on a phone.
- pmoriarty 9y ago"Without JS you can't access location, camera, microphone, dialer, accelerometer, etc." That's not a bug, it's a feature.
- sp332 9y agoLet's take something very simple, like a guitar tuner. https://guitar-tuner.appspot.com/ https://guitar-tuner.appspot.com/ How are you going to implement that in plain HTML?
- deleted 9y ago[deleted]
- pmoriarty 9y agoDon't use web technologies to implement it. Make a native app. Javascript is a cancer that has lead to a slow, bloatware-, spyware-, and malware-infested web. Getting rid of it should be a priority.
- tenaciousDaniel 9y agoSerious question: in replace of what? A web that's just static content?
- vanadium 9y agoI can't help but read this, as a former webOS app dev, with a bit of irony given the source.
- deleted 9y ago[deleted]
- bwang29 9y agoFor those who wants to see a desktop example of an actively developed, and complex PWA, checkout https://v5.polarr.co/ https://v5.polarr.co/ Disclaimer, founder here.
- jakevn 9y agoDoes not work for me on Firefox 59.0.2, macOS 10.11. It just displays "polarr". Web console: TypeError: asm.js type error: 'byteLength' is not a standard constant or typed array name dcraw.js:10:8742 Unhandled rejection: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. editor.js:37:1316317 Unhandled rejection: OpenFailedError: InvalidStateError A mutation operation was attempted on a database that did not allow mutations. create@https://v5.polarr.co/js/build/editor.js:37:1338577 https://v5.polarr.co/js/build/editor.js:37:1338577 z@https://v5.polarr.co/js/build/editor.js:37:1319767 https://v5.polarr.co/js/build/editor.js:37:1319767 z/<@https://v5.polarr.co/js/build/editor.js:37:1320053 https://v5.polarr.co/js/build/editor.js:37:1320053 _e/<@https://v5.polarr.co/js/build/editor.js:37:1315784 https://v5.polarr.co/js/build/editor.js:37:1315784 Y@https://v5.polarr.co/js/build/editor.js:37:1312869 https://v5.polarr.co/js/build/editor.js:37:1312869 $@https://v5.polarr.co/js/build/editor.js:37:1313523 https://v5.polarr.co/js/build/editor.js:37:1313523 ie/<@https://v5.polarr.co/js/build/editor.js:37:1314171 https://v5.polarr.co/js/build/editor.js:37:1314171
- freeone3000 9y agoTried opening it on mobile Chrome, and it seems there's no way to select "express"? It's there, but I can't interact.
- notatoad 9y agoThis is what I see: https://imgur.com/hWHyOUD https://imgur.com/hWHyOUD At this point, I have no idea what polarr is or what it's supposed to do, and nothing on the page seems to be interactive in any way. If this is an argument for PWAs, I'd chalk this one up as a win for native apps.
- dingo_bat 9y agoI saw a green get started button on the bottom. Clicked it and it seems to be a photo editor. However the buttons and other controls are so small that I'm unable to click on them. https://kek.gg/i/6H3Wyp.png https://kek.gg/i/6H3Wyp.png PS: it worked quite well on desktop Firefox (win10) though.
- dizzystar 9y agoI mean, sure, I have some ideas that would work as a PWA, but this feature is hardly global to every phone, and depending on your app, totally undoable as a PWA. Some phones don't even support the drawer, and it's just as strange to ask someone to download a special browser to use one. Lastly, there is bound to be something that won't work even on Chrome. It seems to me that all apps are either a pure app or really silly basic and would be equally useful as a responsive website. For example, I once used a HN app, but it really wasn't any different than just using the website because it was completely worthless without the internet. I'd just say make things a responsive website until you run into features that absolutely don't work on a browser, then go native. I could be wrong, but I don't think there is much necessary overlap.
- a_imho 9y agoI'd just say make things a responsive website until you run into features that absolutely don't work on a browser My impression is that those extra requirements are more often than not related to data collection and user tracking via broad spectrum app permission requests. It is simply more convenient, robust and profitable to sit on a device and phone home than relying on the user to frequent a site. Imo most apps would have been called (mal|spy|ad)ware a couple of years ago.
- deleted 9y ago[deleted]
- thefounder 9y agoThere is no such thing like one codebase for all your devices. Sure you can share code but if you want to develop a great app you have to tweak it considerable for each device. The fact that I have to write Javascript again puts me off entirely. Unless I can compile swift to wasm and run it on the web I have no plan to return to the "web development". Native apps work best for mobile users now anyway. I use the browser only for news and search though, so if you have a "website"/blog html still makes sense(regardless of the "progresive" features).
- meesterdude 9y ago> There is no such thing like one codebase for all your devices Basecamp reuses a lot of their rails code when rendering across mobile, web and desktop. They pepper in JS/CSS to suit device specifics, but otherwise everything is the same.
- redial 9y agoYou forgot to keep reading before agreeing with him/her. > Sure you can share code but if you want to develop a great app you have to tweak it considerable for each device.
- meesterdude 9y agoI read the comment in full before replying. I do not feel the tweaking required per-device with rails is "considerable"; in the same way it would be with android vs iOS with ionic, for example.
- 0x445442 9y agoYeah, I've spent the last year working on a (functionally simple) SPA... I won't mention the framework used because I think it's irrelevant but the experience has only confirmed the position I've maintained for years; in general, web apps are broken. The browser was designed to display hyperlinked text and to support a limited set of actions on form data. IMHO, the main reason the whole web app craze took off was because serving the apps from centralized servers solved a number of the issues around application distribution and updates. This was a big problem at the time but it's ironic that shortly afterward mom, pop, buddy and sis became very comfortable downloading and installing things like iTunes and (even more ironically) browsers.
- Analemma_ 9y ago> If you’re doing native mobile app development, you’re doing it wrong. This is the mobile equivalent of "($CURRENT_YEAR + 1) is going to be the Year of the Linux Desktop!" Every year since 2010 I've heard that web apps are going to replace native mobile applications any second now, and it hasn't happened. I'm not investing in a platform/paradigm that has seen a lot of hype but very little actual demand from users, especially when you can be damn sure that Apple is going to throw up as many roadblocks as they can in front of it.
- tomkin 9y agoThe article reads as a perceived straw man attack against PWA idea, but the author really captured the heart of the issue right here: Google is, by far, the most aggressive in adopting new browser standards behind PWAs in Chrome. Other vendors, such as Mozilla, Microsoft, and, in particular, Apple, have been much less aggressive... The only thing more important than the "native vs. web debate" is user experience and accessibility. When "Mozilla, Microsoft, and Apple" become more aggressive, we will all naturally evolve to the (relatively) better option. The author argues with the wrong people.
- technotarek 9y agoRight. Or put another way, UX is the ultimate debate. So long as there is a significant difference, the debate has a winner.
- cseelus 9y agoWe run a small SaaS which basically implements (mobile) Quality Control for the cleaning sector. Being able to inspect buildings, rooms etc. while one is offline (imagine the cellar of a clinic without proper WiFi) is crucial for our users. So we had to build native iOS and Android apps to support that, duplicating many features of our responsive webapp. Most users still prefer our webapp though (some use the „Add to Homescreen“ feature of iOS for example and use our webapp like a native app anyway). With Service Workers supported on iOS since 11.3 we are currently evaluating if we can finally implement offline support with our webapp. So far it looks good, which for us and our users really would make things a lot easier.
- technotarek 9y agoIs there a reliable way to not bug users with the "add to home" prompt if they already have? The last implementations I saw were all underwhelming in this regard.
- evv 9y agoThere is no way to know. Apple makes it intentionally difficult to add a website to the home screen. Furthermore, tons of users are on chrome or browsing from an app like Twitter, but the "add to home" functionality is only available from Safari.
- scarface74 9y agoHow hard is it to click on the share button and click "Add to Home Screen"?
- Klathmon 9y agoNot to mention that adding an app to the home screen REMOVES some APIs like getUserMedia
- jononor 9y agoWhat? Why?
- mamcx 9y agoThought question: Is truly a good idea make the web browser even more powerfull? If the answer is yes, take in account that make advertisement and privacy-haters more power....
- ahmedfromtunis 9y agoNot necessarily true. Case in point: Firefox.
- EGreg 9y agoIf you want to build true progressive web apps, use our open source platform. https://qbix.com/platform https://qbix.com/platform We spent literally YEARS on all aspects of making these progressive web apps, including: * Making each component we build (chatrooms, image upload etc.) work out of the box on whatever environment it’s loaded. For instance resizing and cropping an image on the desktop involves the mouse wheel while the same thing on touchscreens involves the fingers. See this: https://vimeo.com/208438090 https://vimeo.com/208438090 * Taking advantage of the latest changes like SFAuthenticationSession on iOS * Writing our own cordova plugins when the existing ones were not working, available for free as open source on github * We support ApplePay, AndroidPay, Web PaymentRequest for Chrome and Firefox on Android and desktop and even looking to do Safari for Mac. * We support notifications on iOS and Android native apps, as well as Web Push for all web browsers that support it. And we plan to make encrypted notifications via VoIP on iOS and some tricks on Android. * As time goes on we will add end to end encryption beyond what is available on the Web today, see http://qbix.com/blog http://qbix.com/blog * Oh and we are in the process of building a mobile HTML editor that sucks less than all the others (though we have not freely licensed it yet! Contact us!) http://d3e.ru/sel/demo/#1 http://d3e.ru/sel/demo/#1 * We have instant personalization, invitations, access control. We have a passwordless authentication as invited users go to the site via a link that instantly confirms their number/email, see their friends who uploaded their address book, download the app and then use SFAuthenticationSession to continue where they left off. * We plan to write our own mobile browser to make people have social experiences across websites without Facebook. We also speak with the SAFE Network team to add support. * The former lead developer of the solid project (solid.mit.edu) has come on board to help us realize our vision for qbix platform 2.0 https://qbix.com/blog/2018/04/03/onward-to-qbix-platform-2-0-serverless/ https://qbix.com/blog/2018/04/03/onward-to-qbix-platform-2-0...
- tracker1 9y agoI wish you'd linked to the github repo, which has the LICENSE file in it... first thing I looked for and had to click around a bit to find it. https://github.com/Qbix/Platform https://github.com/Qbix/Platform
- dc443 9y agoI have a few comments about ux. This website take a second to respond to clicking a menu item. The dropdown nav menus are only usable by hovering and clicking on the titles dismisses them.
- osrec 9y agoWe built https://usebx.com/app https://usebx.com/app as a PWA after having experienced the nightmare of managing multiple native codebases (each with a variety of hacks for each target platform). The PWA still has a few hacks for certain Safari quirks, but it's not too bad. We also have the added benefit of a single front end codebase that runs everywhere, regardless of whether it's desktop, tablet or phone. I personally think PWAs will dominate the future, as browsers continue to expose more and more native functionality.
- osrec 9y agoWanted to add that the development costs are also significantly lower (we find on average about 30%, but YMMV) and iteration times faster. Also, deploying on an intranet is much easier - we build apps for hedge funds and banks through my consulting company, and often, they just want something deployed within their own network. With a PWA, you can just drop it on an internal server and send the relevant audience a link. Job done!
- jakebasile 9y agoSpeaking as a dev, the benefits sound great. But as a user, I just don't care. As a user I want these things from an app, in order: 1. It does what it claims to do. 2. It does those things quickly. 3. It looks and works like an app designed for the OS on which it lives. Number 1 is standard, since I won't use your app if it doesn't do something I want. PWAs, in my experience, struggle with #2 and absolutely fall down on #3. For example, and I'm not picking on you here, your app looks like an Android app even when I installed it on my iPhone. I don't want to context switch between visual styles or wait for JS performance delays just so you can save some time in development. This is the primary reason I very much dread apps I depend on deciding to go the PWA route since despite being technically capable of emulating platform look and feel it seems very few do so.
- osrec 9y agoRegarding point 3, is that really what we want? That for each platform your app looks and feels different? I sort of like the fact that my app looks the same regardless of whether it's accessed on an iPhone or an Android phone. It kinda provides consistency for my users should they ever switch between platforms. In fact, we actually get a lot of positive feedback on this from our users.
- intrasight 9y agoI expect PWAs to hit their stride in a couple years. In some sectors (government and non-profits), there is strong cost pressure and "discoverability" is mostly a non-issue. They are blazing the trail that others will follow.
- yesimahuman 9y agoInterestingly enough, at Ionic we've seen almost more demand from enterprises for PWAs than the broader market. It's not normal to see enterprise ahead on the adoption curve. As you said, cost is a big factor, but I think PWAs are familiar to these organizations because it's just like building web apps. It's something they know how to do already and they get full control over distribution/security/etc. A lot of what they need to build was never meant for the app store (internal/employee facing/etc.), but needs to be mobile, so it makes a lot of sense.
- adamqureshi 9y agoYeah PWA vs Native. It really depends on your use case, Its all fine and dandy. The practical problem for us when working with a start up for version 1 is the money. We can build a very simple responsive site with image camera upload using a form ( recent use case)for $10k and its working for them. The customer for us, is not gonna have a budget or want to pay $30K-$50k+ for a native app from the get go or version 1 to test their AMAZING WORLD CHANGING IDEA that'll make'em arab weatlhy, its a risky and a costly wager to loose. To me it seems it kinda always comes down to the money and how much you wanna spend also if the solution is WORTH the cost + benefit ( gross sales going up)... PWA or responsive site OR whateva you wanna call it, is cheaper. The fundamental goal of any / every business on planet earth is to reducing costs ( get stuff done cheaper). Mars also. :-) maybe.. I don't know what im talkin about but thats just my view.
- uvu 9y agoSomebody needs to create PWA Store. Because, https://medium.freecodecamp.org/i-built-a-pwa-and-published-it-in-3-app-stores-heres-what-i-learned-7cb3f56daf9b https://medium.freecodecamp.org/i-built-a-pwa-and-published-...
- deleted 9y ago[deleted]
- larryseltzer 9y agoAuthor of TFA here. I've been a PWA fanboi for years, having written about them for Ars Technica long ago. This site is concerned only with Enterprise computing, and it seemed to me that the case for PWAs is all the more compelling for the Enterprise, if you can have one backend and HTML/Javascript on the client end with gussied-up CSS for different platforms. Having closer to one coffee base and the ability to issue updates to users automatically through the web address are compelling.
- larryseltzer 9y agoAnd if you haven't checked it out, Twitter Mobile is a PWA. Go to https://mobile.twitter.com/ https://mobile.twitter.com/
- LeoNatan25 9y agoAnd it’s terrible. Broken scroll, broken navigation, slow.
- FrozenVoid 9y agoThe problem is that modern browsers are too bloated to be a cornerstone of mobile web. The devices are still inferior in speed and memory use to a desktop PC. Instead of blaming mobile apps, focus on bloat in the browser.
- forrestthewoods 9y agoWhat are examples of progressive web apps that don’t suck? I’m not sure I’ve ever seen one.
- imoskar 9y agoCheck out https://appsco.pe/ https://appsco.pe/
- securityfreak 9y ago> If you’re doing native mobile app development, you’re doing it wrong. No one can be so arrogant to make this cheap, clickbait statement. Why is everyone fighting developing native apps? Hybrid/PWA apps are not in the interest of Apple nor Google. In my experience the problems that PWA/Hybrid app development costs almost as much than employing an iOS and an Android developer.
- blocked_again 9y agoNot all the businesses have the man power and budget to maintain a website and native apps for each platform. If you decide to build it yourselves then you have to learn Swift/Kotlin/React Native. The time spent for learning these would be more than enough to learn fundamental of PWA and launch multiple stable versions of your PWA website. There are plenty of websites like nomadlist which makes use of PWA because of these reason and it is developed and managed entirely by levels.PWA apps are a blessing for Indie developers who have limited resources and are constrained to make use of the building things most effectively.
- wyldfire 9y ago> Why is everyone fighting developing native apps? I'm not sure about "everyone" but this particular article is from a server manufacturer. It's not exactly journalism.
- scriptproof 9y ago> Hybrid/PWA apps are not in the interest of Apple nor Google Not in the interest of Apple, of course, because bye tax on apps, but promoted by Google. Surely in its interest.
- tzahola 9y agoBecause you can hire JS “coders” for ⅓ the price of a native software engineer. Also, management just can’t help themselves but fall for the bait whenever someone promises them “write once, run everywhere”.
- hackcoughgasp 9y agoThey are definitely counter to Apple's interest, but Apple is slowly pushing Webkit along anyway. See caniuse.com. You'd think the same about Google, but as I say in the article (I'm the author) PWAs are happening because Google has put a lot of effort into promoting them, pushing the standards forward and implementing those standards in Chrome. Why? My guess is (once again, as I say in TFA) that once all the code is back up on the web, the advertising shifts back to the traditional ad networks, i.e. Google.
- TekMol 9y agoCan PWAs charge users as easily as native apps? I think that is the killer feature for developers. As soon as we have that, native apps will go away quickly. I only install native apps if I absolutely have to. But I am happy to try websites. Not sure how many users are like me in this regard?
- jeswin 9y agoYes - the Payment Request API is here already https://developers.google.com/web/fundamentals/payments/ https://developers.google.com/web/fundamentals/payments/ https://caniuse.com/#feat=payment-request https://caniuse.com/#feat=payment-request
- blocked_again 9y agoPretty much everyone. People only install apps if they are planning to use it in a regular period.
- Yokohiii 9y agoSEO is still an unsolved problem, imho. Has anyone experience with this? We run a ecom business with millions of products, fast responses in time are necessary for us. I certainly like the idea of PWAs much more then fragmented native mobile ecosystems. But it seems quite complicated compared to a classic web app. As others noted, service workers are tricky to set up. Maintaining the offline cache is quite hard. I am quite sure that average ecom apps will easily hit the proposed 10 MB cache quota if the useful views for offline viewing are preloaded. Strictly using an LRU seems silly because the user will likely do different things if he realizes he cannot load new content. (I.e. he could decide to prepare an order with his data.) There are lots of tough decisions to be made even before thinking about cache invalidation. Routing and history changes are quite puzzling for me. Quick tests on history api made me realize that it is 10 times harder then it looks, not even sure if it works.
- jahvo 9y agoOne thing I used to love about websites is that I knew once I closed the tab the site was gone forever and it was not allowed to execute any more code. That was heaven. But now with web workers and service workers and god knows what else, I feel like I've lost that security, and that makes me uneasy. It's a security and a privacy issue. I know I can disable all that stuff in about:config but how do I know they haven't invented some other new technology in the past months that I should be aware of?
- manojlds 9y agoAdd to that things like cryptocurrency mining by ads and other scripts on websites.
- osrec 9y agoI can eventually see the mechanisms for informing users changing. I would imagine that in the next few browser releases, granular control of JavaScript features will be more accessible, especially as they provide access to more native features.
- gkya 9y agoI find that tge only way to use web securely is to disable JS alltogether except for a few hand-picked web pages. I use qurebrowser for that, and chromium for some nasty web apps I have to use.
- _sdegutis 9y agoI'm not one to be super paranoid about security and privacy on websites, but the other day I was working on a PWA for the first time for a new client, and when I clicked "show service workers from other domains" in Chrome, I see community.aseprite.org, discourse.gohugo.io, vuejs.org, forums.dotnetfoundation.org, lodash.com, www.cnet.com, www.meetup.com, www.google.com/maps, www.pinterest.com, www.wired.com, and xhr.spec.whatwg.org. I get why half of these sites think they need it (the news websites and web 3.0 forums, so they can update themselves in the background maybe?) but service workers for the lodash, whatwg, vuejs sites? This seems just plain unnecessary.
- 9y ago
- gkya 9y agoThen do me a favour and call these things what they are: transvestite links. Meanwhile if you want to make two (and seemingly soon three) apps from one codebase, just use Flutter or similar.
- blklivesmatter 9y agoYes!! Get away from ios and android controlled sandboxes. They exist to make developers pay only. Controlling free web is already started by google and apple. They both are the worst companies after 1995 microsoft.
- blklivesmatter 9y agoWhat do you expect companies who attend bilderberg meetings ? Cheat, lies, tx avoiding ?
- sametmax 9y ago> If you’re doing native mobile app development, you’re doing it wrong. These days, the best option is progressive web apps: websites that work like apps on a mobile device. They have all the capabilities of native apps, including offline functionality, but also the considerable advantages of websites. So you mean you have access to sqlite, sms handling, start up on boot, automatic shortcut on home page, overlays, starting an intent without user action, asking user contacts, creating a vpn, using bluetooth, etc from a wpa ? Marketting bs at it's finest.
- hashkb 9y agoDon't forget push notifications, lock screen, background audio...
- edem 9y agoYou don't have to write Javascript though. I've built a stack for myself which is written in 100% Kotlin and I don't have to bother with JS.
- chippy 9y agoDo PWA's allow adblock / tracking protection / additional useful addons to run?
- deleted 9y ago[deleted]
- danShumway 9y agoI'm pretty bullish on the web, and I love web-apps, and I'm excited for a web-first future, but the progressive web is not reliable enough yet to use as a full replacement for native apps. The article mentioned that Safari is significantly lagging here, but I think it understates how much of a problem that is. If you build a progressive web app, you can't rely on having a lot of feature support - even minor things like background music for an audio player. But it's not just that support is bad. There are standards that flat-out don't exist yet. For example, how much local storage do you get, and when will that storage get cleared? For native apps, this is really straightforward - for web apps, we still haven't finished building a standard for reliable persistent storage. This means that even if you're an offline only app, you still have to back up client information to a server. If you're a small dev, you really don't want to do that. I want to be able to build an application in JS and have it store all data clientside. If I'm building a document editor, I don't want your documents on my server. But if I do a progressive app, I run the chance of your local encryption keys, documents, settings, etc... just getting deleted some time. There are a lot of ways to store information on the clientside - but many will get cleared the first time that space is low, or the first time the user clears their cache accidentally, or they have arbitrary limits on how large a single blob can be. They also can't be shared cross-browser, so if your user has multiple web browsers installed on their computer or phone, switching between them is a terrible experience. On top of this, there are problems with the existing standard. The web is a good thing for security, but background code complicates that model. Since progressive web apps should inherently be treated like progressive enhancements, I would have loved to see this put behind a user permission - because it's a powerful feature and most websites don't need it. But... it's not behind a permission. This is exactly the type of thing that users should be consenting to and exactly the type of feature that should be made transparent rather than opaque or hidden. At some point in the future, the standard might evolve enough that you can start using it in exciting ways, and I'll be all over it when it does. But I just don't see it at the moment. At the very least, we need to get storage sorted out. But that's probably not going to happen for a while, and whenever it does get standardized Safari is just going to lag behind on implementation anyway.
- zbentley 9y ago> Apple used to understand this. When it first introduced the iPhone, Steve Jobs was adamant that HTML5 was the future and that apps will simply just be web apps. There was no native iPhone SDK for 3rd parties. Apple has since abandoned this vision. And what did we learn from that? Almost everyone, in my experience, takes the wrong lesson from that story. I'll take "achieving reliable state synchronization over an unreliable network on an unreliable device as table stakes for whether or not a product works is hard" for $500, Alex.
- zbentley 9y ago> Thankfully, I’m a proficient developer. I click put a breakpoint in their JavaScript, click submit, change the isValid flag to true, and voila! I’ve updated my D&B profile. I am quite sure you're right, that they had a real bug, and that your workaround harmed nothing. But doing things like this (and bragging about them online no less) is a pretty sure way to get your data flagged as (at best) corrupted and (at worst) "troublesome customer; do not engage".