59 ms·
Apple’s refusal to support Progressive Web Apps is a detriment to the web
- Ninn 9y agoThis is definitely true. But in addition to this, it is insane that it appears that none of the big browsers has begun implementing encrypted storage via touch and so forth. One of the main arguments i see in my organisation to create apps for our ventures is the fact that it will enable touch login. I recon it should be rather simple to duplicate / wrap the localStorage API to do this?
- josefwasinski 9y agoI can see why apple is hesitant to do this. But there is definitely a middle ground. Require the same developer registration process as they currently do for iOS apps. Then require some apple provided javascript to provide access to these needed functions. App review as before. At that point they can do interesting things: charge per 1000 installs, enforce the use of apple pay. They can operate a business model that is slightly different, but the same at its core - tax developers for access to their user base/platform.
- pluma 9y agoI think push notifications and offline support are the real killer features that Apple currently doesn't support. It's kind of funny as a web developer because for the longest time Apple seemed to be the one pushing the mobile web forward but now that web apps are reaching for feature parity with native, Apple's initial momentum seems to be ancient history. It seems Apple still thinks of the mobile web as a content delivery platform rather than an application platform. Their proprietary additions (mostly CSS) largely focused on making things prettier, their rationale for opting out of standard features (e.g. autoplay) often only work under the assumption that the only use for those features would be in the context of traditional content pages. You want an app? Develop for our walled garden we tightly control to offer our users the best possible experience. If you want it on the web, stick to creating content our users can consume in Mobile Safari, our app for reading websites.
- jpttsn 9y agoIf you're referring to the pre-App Store iPhone OS, have you considered the possibility that they were just late with the SDK?
- 2muchcoffeeman 9y agoApparently according to the Jobs biography, Steve Really did oppose native apps https://9to5mac.com/2011/10/21/jobs-original-vision-for-the-iphone-no-third-party-native-apps/ https://9to5mac.com/2011/10/21/jobs-original-vision-for-the-...
- rimliu 9y ago> web apps are reaching for feature parity with native Not even remotely close.
- kartan 9y agoThis is Papa Pear: https://king.com/game/papapear https://king.com/game/papapear The HTML5 version is compiled from the same source that the App that goes to the Apple App Store (https://itunes.apple.com/us/app/papa-pear-saga/id572542612?mt=8 https://itunes.apple.com/us/app/papa-pear-saga/id572542612?m...). What's so different? It is literally the same code base (minus some platform specific code).
- jpttsn 9y agoOP builds part of this argument based on "Apple isn't responsive to my complaints about web apps." Apple isn't responsive to complaints in general. Are they less responsive to web app complaints than other complaints? Otherwise, the argument holds no water.
- FussyZeus 9y agoApple's actually very responsive to end user complaints. Not so much to developer complaints. As much as this annoys me (developer for iOS) I do believe it leads to a better platform.
- rimliu 9y agoI am starting to get a vibe that there is a new breed of programmers who think that knowing just one language is good enough and learning anything else is "stifling innovation". I don't even want to start on "PWAs work more seamlessly than native". I just cannot take person making such claims seriously.
- sotojuan 9y agoSame. I always think these people come from a planet where JS is the only language and SPAs are actually good and fun to use.
- Sjenk 9y agoThis kind of scares me to. The vibe that I have is that (web)developers want to make JS into a silver bullet to solve every problem (backend nodeJS, apps react native cordova etc). But I also wonder why they don't want to learn a new language. Some languages really make you look at a problem from a different perspective and to be honest also work better then JS.
- egeozcan 9y agoThe vibe you have is wrong. It's not about learning a new language. Most web developers are comfortable in many languages. Plase stop attacking a straw-man. Not many web developers say stuff like "omg these new things are web scale" or "oh javascript is everything I need, I hate everything else". Yeah the author didn't want to learn a new language. Which is not an insane decision at the very beginning of a project. The biggest deal, though, is code reuse. If I'm not given enough budget, I'm not developing a native app for your precious walled-garden, sorry. I can also rightfully complain that what you have is a walled-garden, and also that the owner of the garden inhibiting a cross-platform alternative. This has nothing to do with ignorance. Give me a cross-platform API, I'm happy. At the end, as long as there is docs & support, most really don't care if it's Haskell or PHP.
- dmytroi 9y agoBut can you reuse UX? UX on Android and iOS are completely different, which implies different UI, which in the end of the day implies different codebase. I do believe that it's possible to implement an app indistinguishable from native with any technology given enough time to implement all UX guidelines (voiceover support, animation dynamics like scroll list velocity constants, disability stuff, etc) but than we spend too much effort reinventing Cocoa Touch, so ROI of this endeavor is highly speculative. I hope in the future iOS and Android will be closer UX wise, which should simplify code reuse and make everyone happy.
- mrkrabo 9y agoGoogle thinking webpages can be as good as native applications is a detriment to the UX.
- spo81rty 9y agoApple doesn't want web applications to somehow replace apps in the app store. They make way too much money from their app store. Some of these key features like push notifications are the only reason to even make a native app, for some types of apps.
- rsynnott 9y agoAs 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.
- eli 9y agoPush 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.
- sambe 9y agoRight, 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.
- Ajedi32 9y agoOr 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-310445655 https://github.com/WICG/interventions/issues/49#issuecomment...
- SquareWheel 9y agoThat 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.
- Jyaif 9y agoFundamentally, it's Apple's refusal to allow real 3rd party browsers that is the problem.
- DerekL 9y agoActually, 3rd party browsers are now allowed on the App Store, with a few restrictions. Previous, section 3.3.2 of the developer agreement prevented the downloading and running of any code, except for JavaScript running inside iOS's JavaScriptCore. But the June 5th agreement allows any language and interpreter. There are two limitations. The system makes it impossible to run unsigned code, so JIT compilation is out. Also, an app can't establish its own app store, so Google would have to get special permission for the Chrome Web Store.
- Jyaif 9y agoI'm talking about section 2.5.6, which still states "Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript."
- DerekL 9y agoThat's in the App Store Review Guidelines, not the Apple Developer Program License Agreement. But that is a good point. However, Opera Mini has a “Mini mode”, where the parsing and JavaScript execution is done on Opera's server, which then compresses the data and sends it to the phone for display. In this mode, it does not use the WebKit framework. Opera Mini has been on the App Store since 2010. https://techcrunch.com/2010/04/12/surprise-surprise-opera-mini-iphone-app-gets-apples-stamp-of-approval/ https://techcrunch.com/2010/04/12/surprise-surprise-opera-mi... I wonder if section 2.5.6 applies to apps that display web pages as one function among many, and not to web browsers. Maybe Apple figures that if the user hits a “Web Page” button in some app, they expect it to work just like Safari, but if they download Chrome, Firefox, or Opera Mini, they actually want the web browser to be different from Safari. But I haven't researched this yet.
- perfectstorm 9y agohow good are these PWA ? are there any apps that are already out there on Android ? I'm curious to see how well it perform compared to a native iOS app.
- lpa22 9y agoTwitter Lite is probably the quintessential PWA, it is very well executed. Here is a YouTube video of the creation of it from React Europe https://m.youtube.com/watch?v=cc3rdiXl5eY https://m.youtube.com/watch?v=cc3rdiXl5eY
- velcro 9y agoOfficially Apple's reasoning for barring Flash was that web should be pushed forward. Now, almost 8 years later when web is "almost there" - its still hindering real web-app experiences in the iOS browser. Its pretty clear what this was always about. -- (Please lets not do the fanboy "Flash is garbage" here - even if you do feel that it was heating up your CPU with ads - it would have taken a lot less than 8 years to fix that then to reinvent everything and find out that money still makes the world go round.) --
- snowwrestler 9y agoAdobe and Android had every financial incentive to make Flash work well on a phone, and failed. To say that Flash on mobile was great but Apple killed it anyway, gives Apple way too much credit. Flash on mobile killed itself.
- velcro 9y agoAnd there we go again. Where/when did I ever say that Flash on mobile was great? Just discussing monopolies and drawing parallels. To be fair Adobe was always pushing Flash as a cross-platform, cross-browser system - mobile browsers kind of changed the game and required a different approach since they were so tightly coupled to the OS and controlled by its vendor (BTW there was also a time where Microsoft was accused of monopoly for bundling its browser with the OS - doesn't seem to apply to iOS though). If it was supposed work cross-platform on 2 mobile platforms - and one platform says no, well then 1 platform is not cross-platform any more is it? Adobe then gave up and stopped developing it - but yeah, Apple effectively did kill it. Especially since it was still a very early try. I mean up until 1-2 years ago even normal css/webanimation was laggy on mobile browsers.
- MBCook 9y ago> even if you do feel that it was heating up your CPU with ads - it would have taken a lot less than 8 years to fix that They had more than 8 years to fix it on the desktop and didn't. They had more than 8 years to make the Mac version perform at rough parity with the Windows version and didn't. Either way... "it's fine, we'll make it work well within a decade" is NOT a good message to your users.
- jaffathecake 9y agoSafari engineers have attended all service worker working group meetings, and they do contribute. However, I do share the frustrations over transparency. It's tough to get developers to care about things like offline-first, because it's tough for them to convince managers to allow them to spend time on a feature that won't work on iOS (since it won't work in Safari, and Apple has banned other browser engines on their platform). Ultimately it's users that lose out but also the web as a platform, as it pushes people, like the author of the article, towards walled-garden solutions like native apps. Apple is looking for service worker use-cases, so if it's something you're interested in, let them know https://lists.webkit.org/pipermail/webkit-dev/2017-July/029285.html https://lists.webkit.org/pipermail/webkit-dev/2017-July/0292....
- SirHound 9y agoThey're not looking as much as you think: https://twitter.com/othermaciej/status/885999233463009280 https://twitter.com/othermaciej/status/885999233463009280 The overall vibes leaking from the Safari team on this matter have been arrogant, detached. I don't hold any hope.
- cryptica 9y agoThis is not surprising of Apple. They've always been a walled garden, that's why I don't buy their products. I like to own products that give me full control as a user. When the iPod came out, I never understood why I couldn't just drag the music files directly onto the device and I had to get iTunes and use iTune's tedious interface. Now they have the app store; another unnecessary restriction. As a developer, it's nice to own an Android phone because I can just run whatever code I want on it and I don't need to buy any special licenses, hardware or proprietary SDKs to do that.
- jorvi 9y agoIt's especially ironic once you remember that iOS 1 didn't even have apps: Steve said everything would be done on websites that would give a native experience...
- ino 9y agoAll browsers still suck at basic functionality. Here's a quick short list of things that developers still have to write because the current implementations are broken, buggy, inconsistent or absent: - Date pickers. - Image upload [1]. - Autocomplete and datalist. - Range pickers. - Upload time remaining without javascript. - Number min/max/step, use up/down keys to increment/decrement. - Form elements that are unable be styled by CSS. - Color picker (arguably not as important as the others, and some OS color pickers suck anyway). [1] Basic things like resize image on the browser prior to uploading. Size, aspect ratio, crop could be hinted by the html or chosen by the user. Server check is still needed, but upload size and times would be reduced drastically. Shouldn't those be more important?
- diminish 9y agoActually www could benefit a lot from - touch versions of basic input elements - like on/off switches , ranges, color pickers, datetime pickers etc. Original www is very successful at mouse-based UX, but horrible at touch based. Actually browsers could agree on a dozen touch based standard input elements and we don't need 80% this JS framework cruft.
- TheRealDunkirk 9y agoMy theory is that the next big "thing" with web browsers will be to integrate a widget kit that simplifies these sorts of things. Like a stripped down version of Qt. I've made this comment before, and someone said Java Swing, and, yeah, but I still think there's an opportunity here.
- SquareWheel 9y agoSounds to me like a suitable use case for WebComponents.
- Softcadbury 9y agoYou can add the impossibility to customize the scrollbar...
- ashark 9y ago
- nothis 9y agoIMO convoluted JavaScript hacks aren't the solution to "cross platform development" I'd want to settle on. Do I really want my weather app to be running on top of the browser app? And as far as cross-platform compatibility goes, we're now at a point where websites tell you to please load them with Chrome for the "full experience", that just reminds me of when websites used to tell you to please use Internet Explorer. So much for "Apple mobile Safari is the new Internet Explorer", lol. Push notifications for browsers are a weird concept, anyway.
- egeozcan 9y ago> convoluted JavaScript hacks aren't the solution to "cross platform development" I'd want to settle on Walled gardens with one app per platform with 1000 different rules per platform so users don't spend more than 100ms to understand a layout shouldn't be the solution as well. Javascript apps being convoluted isn't even an objective observation. > Do I really want my weather app to be running on top of the browser app? It's yet another VM with more abstractions. What's the big deal? > So much for "Apple mobile Safari is the new Internet Explorer", lol. I never had any significant app work only on one browser since years but even if this was a big problem, why make it worse? > Push notifications for browsers are a weird concept, anyway. I don't see the big deal? You are asked to allow it, no?
- cloop_floop 9y agoI'd love more contributions to cross-platform native UI toolkits and frameworks. Write once, run anywhere native apps have a place.
- marcosdumay 9y ago> convoluted JavaScript hacks Yay for WebAssembly.
- illuminati1911 9y ago"all sorts of great features that you’d normally associate with native apps, like push notifications, offline support, and app loading screens — but on the web! Awesome." I didn't know app loading screens were "a great feature". Anyway I really don't see the point of PWAs or much future for them anyway. Even if Apple started supporting these with Safari, the web apps still could not interact with different hardware components/sensors, iOS SDK's etc. React Native already brought a platform which allows making apps with native components and good performance with JS + decent access to hardware and iOS and still it's barely used outside of hobby projects. I'm sorry, but native apps aren't going anywhere.
- akmarinov 9y agohttps://facebook.github.io/react-native/showcase.html https://facebook.github.io/react-native/showcase.html It's used in a lot more than just hobby projects.
- icebraining 9y agothe web apps still could not interact with different hardware components/sensors Why not? WebUSB already shows otherwise.
- euyyn 9y agoWeb Bluetooth too.
- exodust 9y ago> "I didn't know app loading screens were "a great feature". Loading screens are obviously a good thing when lots of assets need to be loaded for a game. The presentation can inform the user where things are at in the process of fetching those items. Flash could do it quite well. Isn't that obvious though? A loading screen is informative and functional.
- Rjevski 9y agoPWAs and any of those Javascript-powered "apps" are shit. I am glad Apple is against them. Even the best JS apps with perfect UX (those are rare, but they exist) still feel relatively slow compared to a native counterpart. I don't want to pay with UX if some "developers" can't be bothered to learn new languages and insist on doing JS everywhere.
- aedron 9y agoSince the article did not go into details, and many of the points seem nonsensical, can someone elaborate? Why can I not "Create an app loading screen" without service workers? Why can I not "Create an initial app UI to load instantly"? Seems these are trivially possible with regular Javascript, but maybe I'm misunderstanding? Similarly, "Use push notifications", "Add offline support" and "Prompt installation to the home screen" do not sound like APIs that are dependent on service workers, but I guess they are? (or the article makes no sense) (By the way, the 300ms tap delay that he gripes about can be hacked away, see fastclick.js)
- MaxLeiter 9y agoOffline support and push notifications require service workers (or some other API that doesn't exist yet[1]) And for prompting installation, I think the author wants it to appear native. (Apple does have their own notification API but it requires an account).
- gregblass 9y agoTelling your users how to add your app to the home screen should not be a thing. It makes your product look unprofessional. Prompting a user who has used the web app a bunch of times should be a thing on iOS like it is on Android.
- mnarayan01 9y ago> Why can I not "Create an app loading screen" without service workers? Why can I not "Create an initial app UI to load instantly"? Seems these are trivially possible with regular Javascript, but maybe I'm misunderstanding? If you're waiting on async requests than everything is fine without Service Workers, but if you're performing computation then the whole UI will be blocked.
- gregblass 9y agoI'm aware of fastclick.js, and I've been using it. I was just excited to remove an extra dependency when they removed the delay from mobile Safari. Checked it into git, deployed...then realized it was still there in fullscreen mode. My point is that they develop stuff for mobile Safari, but then leave fullscreen mode in the dust.
- ebbv 9y agoMaybe I'm just an old fogey but I don't like Progress Web Apps. I think this whole movement of trying to make web apps more native-like is wrong headed and stems only from developers who have only ever written web apps wanting to write native apps but not wanting to learn how to do it properly. As a user I don't want to have web apps giving me notifications or having loading screens. I have always liked that the web was tightly sandboxed and limited in what it can do. The nature of the web; where when I follow a link I'm basically installing your application -- sight unseen -- means that what your app can do needs to be tightly controlled and limited. As a developer, if I want to make a native app for any platform, I'll write a native app. If you don't want to learn Objective-C or Swift, that's fine. There's plenty of ways to write Native applications iOS using cross platform languages like C++. Frankly, those languages are easier to write testable, dependable code in than JavaScript anyway.
- christiangenco 9y agoI think a lot of commenters here are missing the point and getting distracted by push notifications (who wants a website spamming them with notifications?) and loading screens (hardly a feature). Apple supporting PWA (Progressive Web Apps) is hugely important because it enables a future where web apps can natively support browser, Mac/Windows/Linux desktop, and mobile iPhone/Android/Windows native mobile with a single codebase of open technologies. Why is that important? By fragmenting development effort, the overall product isn't as good on any platform. There's an app I'm making on the side to keep track of your contacts (like a personal customer management system). This needs to store all your contacts offline, because it'd be too much friction to load everyone you've ever taken notes on over the network every time you open the app. Right now, the only way for me to accomplish that on iOS is to make a native app. This means I had to learn an entirely new technology stack (React Native and XCode), completely rewrite my views, tie everything into my backend, and go through Apple's Byzantine approval process (which I still haven't done because I can't figure out why my app compiles and runs locally but complains about libraries not being linked when I try to archive it to upload to the app store). This is unnecessary duplication of work that could've been spent writing new features, makes it harder to add new front-end features in the future (because now they have to be added in two places), and adds a huge lag in the time it takes me to push changes to the iOS client (weeks, vs. the seconds it takes to push a change to the web client). If apple supported PWA, I would've spent my time making the database keep a local syncing copy on the browser (with minimongo or pouchdb), and then every platform would've benefited from faster page loads and offline syncing. Until Apple adds PWA support, I can't make as good stuff, and people can't use the better stuff.
- GordonS 9y ago> Right now, the only way for me to accomplish that on iOS is to make a native app. This means I had to learn an entirely new technology stack It's not the only way - you can create a hybrid app with something like Ionic (obviously this is compiled to a native app at build time, but you never touch a line of XCode yourself). One of the big selling points of hybrid apps is that you can use your existing Javascript/Typescript skills to create apps that look and feel like native apps.
- programminggeek 9y agoI don't think Apple's customers are clamoring for Progressive Web App support as much as they are wanting other features. The average customer (of which Apple has millions worldwide) wants a device that solves some basic desires like taking pictures, making phone calls, texting, email, etc. I don't see how this feature serves enough of those customers for Apple to care more about it than something that will sell computers (in some form or another).
- interpol_p 9y agoI hate using web apps. On desktop, mobile, wherever. The author's list of things they want supported by Mobile Safari is just aggravating: > Here are a list of things you still can’t do with mobile safari due to Apple’s refusal to support them: > > Create an app loading screen > Use push notifications > Add offline support > Create an initial app UI to load instantly > Prompt installation to the home screen through browser-guided dialog Why do I want these things, as a user. App loading screens? I love the web. I love hyperlinks, text and images. The web of connections that lead you to information. Everything in that list is detrimental to a good experience on the web. I don't want push notifications, I barely enable them for native apps. And it bugs the hell out of me when every second website in desktop Safari prompts to send me push notifications. No. Why would I want this on mobile? Same thing with the home screen. I love the fact that the address bar in my web browser is my history, my reminders, my bookmarks, my open tabs. I start typing what I want and I'm there. Finding native apps on my home screen is only just getting to the same place with Spotlight, why would I want to make the web worse by sticking icons for pages on my home screen? And browser-guided dialogs to put more icons on my home screen? Seriously? This author's post is a great argument against web apps on mobile.
- fredley 9y agoPush notifications and home-screen icons are strictly opt-in. If you don't want them, don't opt, simple as. I use webapps for several things because I can much better protect myself from tracking and data-harvesting with a well-configured browser than I can using a native app.
- interpol_p 9y agoAs I said, desktop Safari allows websites to prompt me for push notifications. I can't stand it: that a web site has the ability to display a modal prompt sheet that I have to cancel.
- fredley 9y agoIt's not modal (like `alert`), it doesn't steal focus, at least not on any browser I've used.
- ivanbakel 9y ago>Is this just capitalism? Looking out for their own well being? No. Apple is filthy, filthy rich. Naive much? People and corporations don't tend to stop collecting wealth - that is, after all, how they became so filthy, filthy rich in the first place.
- pavlakoos 9y agoSo the author of this post is saying a developer with 9 years experience needs 6 months to learn ReactNative? That doesn't sound encouraging...
- cjCamel 9y agoThis is a frustrating article - the issue really is that Safari doesn't support Service Workers and Web App Manifests, which are the canonical way of making PWAs. Safari should support Service Workers[1], because they allow you to safely intercept and modify navigation and resource requests, and cache resources in a very granular fashion, securely and on a different thread to your app JS. This is great for performance and offline/spotty reception. The Web App Manifest[2] is the file that allows developers to "appify" the site, by prompting the user to add to their home screen (only once they hit a certain usage rate), show a splash screen etc. But that's a nice to have compared to Service Workers. [1]: https://developer.mozilla.org/en/docs/Web/API/Service_Worker_API https://developer.mozilla.org/en/docs/Web/API/Service_Worker... [2]: https://developer.mozilla.org/en-US/docs/Web/Manifest https://developer.mozilla.org/en-US/docs/Web/Manifest
- linopolus 9y agoAs an iOS user, one thing I surely don't want are more web apps. The web is for content (including APIs Robbe used by native apps) not for apps, if on desktop or mobile. Here's why: - lower performance. It can't be as fast as native as long as there's still the browser underneath - non-native experience. I use iOS because I like it better than android. I like the UI and UX, how it looks and feels. I don't want an web app, with an UI feeling different, looking different and behaving different. - multi-platform. All platforms will never have the same capabilities and features. You will always have to use the least common denominator or hack your things around. Apple provides ObjC and Swift, the latter being a terrific way to develop apps, in my humble opinion a far better language and environment than JS (or JS). Just use it, your users will thank you.
- flavio81 9y ago> It can't be as fast as native as long as there's still the browser underneath - non-native experience. This is going to radically change with Webassembly, stay tuned.
- lurcio 9y agoPlease.... anything but Active Desktop again
- fenwick67 9y ago12-year-old me loved Active Desktop, so many gifs.
- vbezhenar 9y agoApple will do anything to keep control over iOS apps. Web won't allow them to get their 30% margin, so they will do anything to force developers stay in AppStore.
- frusciante19 9y agoWell, I would argue the web is a detriment to the web. Apple will never prioritise dev experience to the... detriment of user experience, no matter how many devs tears are shed. The author is arguing for better web developer experience, from what I read.
- VeejayRampay 9y agoI'll just recycle a comment from a few days ago, it's (un)surprisingly fitting: "You know the rule, Apple ALWAYS gets a pass. No matter what they do, no matter how bad they treat their customers, no matter how awful their "upgrades" are, no matter how non-configurable and locked-in their products get over time, no matter the lack of innovation for the past 5 years, they always get a pass. Deal with it, that Jobs residue works its magic for a loooooong time."
- marcosdumay 9y agoThat's not because of Jobs. It's because Apple customers are most of the people that will accept that kind of behavior. Keeping that attitude means that Apple can not grow¹, but not that it will shrink. 1 - All the times they acquired a lot of market share, they weren't doing that.
- Pigo 9y agoCan someone explain the difference between progressive web apps and webRTC? Are they related, or completely separate technologies? I just heard about them around the same time, and it seems like they have some things in common.
- antoniuschan99 9y agoPWA's use Web Technologies to build Apps. Remember jQuery Mobile? It's more like that than React Native or Xamarin. WebRTC is an API/Protocol that enables Real Time Communication between browsers.
- Pigo 9y agoThanks, I got thrown off when I seen PWA talking about service workers, it sounded simlar to the data channels talked about in WebRTC. I haven't had a chance to dip in to either yet.
- ex3ndr 9y agoWhy do I need to download 15mb js file for your fancy "offline" web app? Even native apps usually smaller.
- chasing 9y ago> Apple thinks you should learn a completely different and more complex programming language (Objective-C/Swift) and maintain a completely separate code base for iOS. This effectively hurts small dev shops, stifles innovation, makes startups much more difficult to get going. ObjC/Swift may be somewhat more complex than Javascript (or whatever) as programming languages, but one thing I like about iOS development right now is the relatively stable and well-integrated toolset. I love web development. It's how I got started in all of this. But. The web development world is (in my eyes) currently an over-complex mess of standards and practices and tools coming from twenty different directions and sometimes changing radically from one year to the next. And I have complained before about the fact that Javascript is the primary language for using all of these. (I know, you use XXXScript which transpiles into Javascript. But that kind of adds evidence to my point, no?) Anyway, this is not a central point to the article linked, but just something that caught my eye.
- nimish 9y agoPWA are still inferior to real native apps. The FT's webclip "app" is ass compared to the NYT's nice, native one.
- quadrangle 9y agoWhen I think "progressive web…" I think of progressive enhancement. https://en.wikipedia.org/wiki/Progressive_enhancement https://en.wikipedia.org/wiki/Progressive_enhancement i.e. make regular non-JavaScript websites as a foundation and add JavaScript just to enhance that. I suppose this is a compatible idea, but the PWA idea is based on everything going in the wrong direction generally. PWA aims to make everything "app" like even when it's not warranted. The vast majority of apps and PWAs don't need to exist at all. People don't need all this JavaScript interactive excess. What I like about PWAs: a move away from everyone downloading ridiculous numbers of apps for each website. What I don't like about PWAs: turning websites into apps when not needed.
- waitwutt 9y agoWhat. Having a really hard time following what is exactly preventing the author from doing any of these: > Create an app loading screen > Use push notifications > Add offline support > Create an initial app UI to load instantly > Prompt installation to the home screen through browser-guided dialog All of these things are possible in Safari, no? It just doesn't support ServiceWorkers? Aside: as a web security guy I think serviceworkers are a tragedy. Any crappy site you accidentally visit and immediately hit the back button on gets 10 minutes of freebie time to execute Javascript, roam your local network, exploit "slow" browser vulns, eat your bandwidth, etc. Gone are the days when the only things running Javascript are your open tabs.
- jaxondu 9y agoAs much as I want PWA to rule, web apps still give a noticeable lousy experience than native especially social apps with large feeds (Facebook, Twitter). After so many decades chasing the native experience, it appears HTML/CSS/DOM needs to be revamped/replaced in order for some hope. Maybe a brand new UX library build on top of web assembly? A cross-platform user interface library on top of Unity/Unreal Engine? Why must web apps rely on browser in order to run? If there is a UX component to docker/container, does it provide similar security mechanism as a browser? Maybe this world is not meant to have only one language/UX library/delivery mechanism for apps.
- summadat 9y ago"Apple's refusal to support my chosen development platform means that Apple is holding back the entire web" ...really?
- gregblass 9y agoThis is not the point I'm trying to make. Startups don't 'choose' the web. They choose whatever exists to make cross-platform apps, because having to develop and maintain 3 separate code bases is not feasible for most bootstrapped startups. If I just picked iOS and told every one of my app's users that they have to use it, it would be pretty difficult for me to succeed. Its not that I don't want to learn another language. Its that the time it takes me to maintain 3 separate codebases takes away from my ability to iterate on product features and build stuff that will actually help the people using the app, and ultimately make my company successful.
- shmerl 9y agoApple just need to mess things up for everyone. They wouldn't be Apple otherwise.
- anderber 9y agoWow, I read a lot of hate for PWAs, I had no idea. I use them and enjoy a lot of them (mobile.twitter.com). It really depends on the app, some benefit from being PWA others would need to be native. But the idea that we shouldn't add a feature that Chrome and other browsers have just because you personally don't like push notifications, seems silly.
- martijn_himself 9y agoI'm not naive and understand the sentiment that part of Apple's motivation behind not supporting these API's on mobile Safari is to protect its App Store ecosystem. BUT I also believe that Apple cares deeply about quality and its MAIN reason to refuse support is to protect the quality of user experiences on its iOS platform and steer developers to use its native API's which produce vastly superior apps. It would take Apple years of wasted effort to guarantee similar experiences in the browser.
- millstone 9y ago> From now on, I won’t be building any more native apps. All my apps going forward will be progressive web apps. To be sure, the guy who wrote that has never built a native app and knows nothing of native development. That is not actually a story of a native developer being converted by PWAs.
- jmull 9y agoFrankly, it seems like PWA is a solution for web developers looking to deploy LCD, "unnative" apps more widely, more easily. That's fine for them, but ultimately, I think we've got far too many apps with crappy UIs. So what's the the real value to the platform and the people who use it for another source of them?
- archie_peach 9y agoA lot of people here seem to be advocating the superior experience that native apps provide, but forgetting how saturated the app market is and what a poor job Apple does to help its users discover new apps. Further, the majority of US smartphone users download zero apps in a typical month. What's the point of making a "superior" app, if no one is ever going to see it? https://qz.com/253618/most-smartphone-users-download-zero-apps-per-month/ https://qz.com/253618/most-smartphone-users-download-zero-ap... From a user perspective, I care less about whether the app is a PWA or native, and more about the "goal" I'm trying to achieve. If my goal is to find a new house, a PWA allows me to instantly see results (without first having to download an app), then use native-like features such as being notified when new properties are available. I can use these features after I visit a given website and am prompted to save the app to my homescreen. Compare this to the random native apps that people accumulate on their phone until it slows down so much that they have to perform an "app purge".
- pjmlp 9y agoThe web app market is even more saturated than any app store, and people do purge their bookmarks as well.
- linopolus 9y agoYour phone slows down with too many apps installed? Maybe it's time to think about your phones OS.. (I have several hundred apps installed on my 3 year old phone, actually use most of them if only occasionally and it's still as fast as on day one, and still gets every OS update on day one. Guess what phone it is..)
- rezashirazian 9y agoI hope this never happens. I despise Javascript.
- gregblass 9y agoAuthor here. Pretty overwhelmed and astonished with all this. Can't wait to read through all these comments!
- wuliwong 9y agoI'm pretty late to this party, so it probably has already been asked but what specific things need to be supported by mobile Safari to run a PWA?
- jbigelow76 9y agoMy reading of the thread, as well as watching the general discussion of PWAs over the last 6 months, is not "what does Safari need to support", but really are PWAs the right answer? If the comments were limited to "Safari needs X and Y", and there was no discussion about the an inherent need for PWAs it would be a pretty short thread. Safari's support for PWA features is a proxy referendum of PWAs themselves.[1] [1] And Google's desire to not being dis-intermediated as an arbiter of access to information/functionality via web properties.
- MaxLeiter 9y agoKind of a different use case, but I work on a web-based IRC client (self-hosted IRC cloud) and if Apple support service workers we could have improved offline support, push notifications (for mentions, disconnects, etc), on-device caching of embeds (links and images are embedded in-line), an improved loading screen, and more.
- dmix 9y agoTIL > The apps implementing the standard are called progressive web applications, not to be confused with confusingly similar terms like progressive enhancement or responsive apps. Front-end moves at the speed of light, I reckon it's hard to come up with original names... My brain already has to remember thousands of software library names and techniques and argument orders, etc. Not making your label meld into people's brains by being similar to other software names in the SAME niche is a good place to start though.