51 ms·
Microsoft and Google collaborate to make PWAs better
- no_gravity 6y agoThe main problem I see in PWAs these days is that they cannot permanently store data on the device. As soon as the user deletes their "browser data", all the data of the PWAs on the device is lost too. If PWAs would get their own permanent storage like other apps, it would be a huge step forward.
- judah 6y agoCertainly it's true PWAs are subject to the user's desires about browser data. I think that's a good thing for users. PWAs usually store client-side data as a kind of cache: cookies, local storage, service worker cache. Caches are not meant to be permanent. There may be room for improvement here, however. One might imagine that clearing browser data shouldn't clear data for installed PWAs. That's an argument worth further evaluation.
- no_gravity 6y agoCan you elaborate why it could be a good thing for users? Not being able to reliably store data on the device means that PWAs have to send the users data over the internet and store it on an external server. I would think users rather do not like that. I am only talking about installed PWAs here. Of course not every website should be able to avoid having its cookies deleted.
- judah 6y ago"Good for users" was in the context of PWAs, not installed PWAs. Clearly the user's expectation is that clearing browsing data will clear data for web apps they navigate to in the browser. Installed PWAs is another question. I suspect users will be surprised if they clear their browsing data only to discover they have to login again to Twitter, for example. I may raise this question to the Edge Chromium team. I'm certain it's been raised before, but with Microsoft making PWAs first-class on Windows[0], this becomes a more prominent issue. [0]: https://www.windowscentral.com/heres-how-microsoft-making-edge-pwas-feel-more-native-apps https://www.windowscentral.com/heres-how-microsoft-making-ed...
- no_gravity 6y agoKeeping the user logged in is not the issue. A PWA can inject a unique ID into the installation in various ways. The problem is the data. Imagine a text editor where all your text documents are gone after you cleared the data of a different app, the browser. I wrote a fitness app as a PWA some time ago and its pretty annoying to download all the instruction videos again every time you clear your "browser data". Plus all infos about which exercises you did and when is gone for good of course.
- judah 6y ago> "Imagine a text editor where all your text documents are gone after you cleared the browser data" One way to address that issue is the native file system access APIs[0] coming soon, available today in Chrome Canary and Edge Canary. There, you'd be able to save your documents to the user's file system, just like a native app would. Those files will be exempt from any browser data clearing. > all infos about which exercises you did and when is gone for good of course. Might be good to store that data on the server. I realize not all PWAs have a proper backend server, but that sounds like a good candidate. [0]: https://bugs.chromium.org/p/chromium/issues/detail?id=853326 https://bugs.chromium.org/p/chromium/issues/detail?id=853326
- no_gravity 6y ago> Native File System API Great, so there is light at the end of the tunnel! > store that data on the server Well, we talked about that already: https://news.ycombinator.com/item?id=23793541 https://news.ycombinator.com/item?id=23793541
- iggldiggl 6y agoI wonder how Mozilla will handle this, given that so far they deemed file system access as too dangerous even for extensions, nevermind random web pages…
- 6y ago
- streptomycin 6y agoIt's only marginally subject to the user's desires. I wrote a fairly popular PWA and the most common questions users have are... "Why did all my data get deleted? How can I get it back?" and "Why is it saying the browser won't let me store more data?" The user's desires are pretty clear in both cases, but it's very unclear how the user can get what they want.
- notatoad 6y ago>Certainly it's true PWAs are subject to the user's desires about browser data. I think that's a good thing for users. i mostly agree, but the user experience isn't there yet. browsers make it easy to delete all data, but don't have any workflows that encourage deleting the data from only a single app. at this point, it seems less about empowering users to have control over their own data and more like browsers just don't care about PWA data.
- ta17711771 6y agoSo make them app_db side user config data, not local browser database config data.
- kinlan 6y agoYou can request persistent storage that isn't cleared.
- judah 6y agoGood point! I had forgotten about this. kinlan is referring to this web API[0], which allows a PWA to store data persistently. [0]: https://web.dev/persistent-storage/ https://web.dev/persistent-storage/
- davrous 6y agoThey can thanks to the Native File System API coming with Project Fugu: https://web.dev/native-file-system/ https://web.dev/native-file-system/. Available via origin trial for now but it should be soon released more broadly.
- dmitriid 6y agoHave any other browser vendors expressed any interest in this? I see from the link that Chrome is already doing an "origin trial" even if the spec itself isn't complete. So, why would it be "released more broadly". Or is it the Constructible Stylesheets again? When both Safari and Mozilla said "no", but Chrome released them anyway?
- pjmlp 6y agoI am typing this from Firefox, but the reality is that other vendors nowaydays mostly means Safari, everyone else is using Chrome engine and Firefox numbers diminish every year. The same crowd that now complains about Google, was worshipping Chrome, talking about how its its developer tools are, the multiprocess architecture, handling hundreds of open tabs (still to understand this one),..... So if the Web is turning into ChromeOS, they only have themselves to thank for.
- burtonator 6y agoPWAs are designed with the web/cloud in mind. The permanent data should be hosted in the cloud. One of the issues is that storage in a PWA is done via localStorage or IndexedDB... both of which aren't really available outside of the browser. Also, part of the benefit of a PWA is being able to be in mobile devices and 'storage' there is different than on the desktop.
- deleted 6y ago[deleted]
- bob1029 6y agoFor the PWAs I'd like to deploy, all I really need is 256 bits of entropy to persist on each client. I am entirely done with the ideology where I offload arbitrary storage and compute concerns to client devices. Keeping it all on the server is so much better in almost every way.
- techntoke 6y agoMicrosoft is now using Medium as their official blogging service?
- judah 6y agoAuthor here. Some teams use it, including ours (PWABuilder).
- ocdtrekkie 6y agoOff-topic, but... why? Is it lower friction to start up your team's blog on Medium versus the unified blog platform larger Microsoft teams tend to use?
- judah 6y agoPWABuilder is an open source project and builds cross platform web apps. We feel Medium is a better fit than the more corporate structured blogs. So far we've been pretty happy with Medium. That said, we have been mulling building our own blogging platform using our own tools and web components for the sake of dogfooding.
- Nightshaxx 6y agoYou might want to customize it a bit more to make it clear this is an offical blog. For a few seconds when reading this on mobile I was super confused if this was official or just someone outside MS writing about it.
- davrous 6y agoThanks for this feedback. We're thinking about hosting a blogging platform directly under pwabuilder.com. We've got a small team that was mainly focused on writing new features & code but we definitely need to better address our blogging approach.
- 6y ago
- HJain13 6y agoAs the author seems to be here, the links in the "Add features to my PWA" section on pwabuilder website, don't seem to work for me.
- judah 6y agoThanks for the heads up. We just changed the URLs to that yesterday. Fixing! In the meantime, you can access those components here[0]. [0]: https://components.pwabuilder.com/ https://components.pwabuilder.com/
- FiddlerClamp 6y agoI wonder if they're doing this for the Surface Duo launch.
- judah 6y agoFair question. Certainly Microsoft wants Duo to succeed. But PWABuilder been pushing for PWAs in App Stores for years -- we also support MacOS, Samsung Galaxy Store, Microsoft Store, and others. (We're talking with Apple now to enable PWAs in iOS app store as well.) This collaboration with Google took place because Google revamped their "PWAs in the Store" story. It used to be a very basic story: a native app wrapping a web view that loads your PWA. Those worked, but didn't support some modern APIs (e.g. service worker, IIRC), didn't share cookies and login information with the browser, and other problems. Google revamped the story here to a more first-class approach for PWAs in their Store. It's called "Trusted Web Activities." And earlier this year, Google created Bubblewrap, a command line tool to generate a proper Trusted Web Activity for publishing in their Store. So we wanted to take advantage of that new and better approach. That's really our reason for collaboration here.
- pjmlp 6y agoThey already had this with Edge and Windows Store. https://developer.microsoft.com/en-us/windows/pwa/ https://developer.microsoft.com/en-us/windows/pwa/ The best part was that this way WinRT APIs are directly exposed as browser APIs, no need for hybrid solutions. This is just the next step using the Chrome based engine instead.
- yeahgoodok 6y agoWhat's the sense in publishing your PWA in the Play Store? Chrome already prompts the user if they'd like to install a PWA shortcut when you visit the site. I ask because it costs $25 and while I have a lot of time on my hands I'm a cheap ass.
- butz 6y agoDiscoverability. Users browsing Play Store might see your app in related apps list or in search results. And you will get a way to gather user feedback without hosting and moderating forum or discussion board. Also, we are still at the point when you tell user to download an app, one usually goes to Play/App Store, not searches the web.
- Abishek_Muthian 6y agoAlso Businesses which has no use for an app, can claim 'We have an app' as many like to do and now they can convert their website to a publishable app more easily.
- badsectoracula 6y ago> Discoverability. Users browsing Play Store might see your app in related apps list or in search results. Since when anything in Play Store (or Apple's App Store, for that matter) was discoverable? I can't find anything even remotely relevant to anything i want using these stores, i always have to use 3rd party sites (or just google something like "<something i want> for android", sometimes even adding a site:reddit.com at the side if there are too many results, just to see what others are suggesting) and then if there isn't a Play Store link, i have to write the app's name exactly in the store's search, otherwise it will never appear on the results. Discoverability has been a joke on these stores ever since they got more than about 1000 apps - and they still are designed as if they only have about 1000 apps.
- judah 6y ago> "What's the sense in publishing your PWA in the Store? We've trained a generation of users to look for apps in app stores. I blogged about this here[0], but having your PWA in app stores means more users for your app. [0]: https://debuggerdotbreak.judahgabriel.com/2018/04/13/i-built-a-pwa-and-published-it-in-3-app-stores-heres-what-i-learned/ https://debuggerdotbreak.judahgabriel.com/2018/04/13/i-built...
- butz 6y agoFirefox needs to catch up on PWA support for desktop, Safari too.
- judah 6y agoYes. For Firefox desktop, here's the open case[0]. I and many others would love to see Firefox supporting installable PWAs. :-) [0]: https://bugzilla.mozilla.org/show_bug.cgi?id=1407202 https://bugzilla.mozilla.org/show_bug.cgi?id=1407202
- input_sh 6y agoIt's catching up slowly. I can save a website and open it in its own window (at least on Firefox Beta). What's missing is the ability to integrate it with my OS app launcher, though I can get around that by adding my own launcher. Something like: firefox --ssb="https://news.ycombinator.com"
- Abishek_Muthian 6y agoNice, I like the way Microsoft chose to ignore the bad blood with Google regarding its apps for Windows Phone and has embraced Android. PWA collaboration seems to be a step in the right direction, especially since Edge is using chromium and Microsoft seems to be building great PWA apps[1]. Although I'm not entirely sure about Google's end game with PWA[2], I hope these kind of collaboration motivates industries to build more PWA apps and put pressure on Apple to properly support PWA APIs in Safari; then may be, just may be one day we'll have fair grounds for new mobile operating systems to compete without this Playstore/Appstore duopoly. [1]https://www.bing.com/covid/ https://www.bing.com/covid/ [2]https://news.ycombinator.com/item?id=23574697 https://news.ycombinator.com/item?id=23574697
- davrous 6y agoBy the way, the Bing Covid PWA has been published to the Microsoft Store using Pwabuilder.com ;)
- paxys 6y agoNew leadership definitely helps. Satya seems to want to move past the old way of doing things at Microsoft as aggressively as possible.
- osrec 6y agoI agree. Apple is stifling innovation by not supporting certain APIs. They need to stop doing this, or they will hurt themselves in the long run. As it is, most people use Safari on iOS because they are forced to - all other browsers on iOS are forced to use WKWebView, which basically means they are wrappers around Safari's view. To this day, I can't understand why their users stand for this. In this regard, Apple reminds me of a cult leader brainwashing their followers into believing the cult's way is the best way. Makes me a little sick actually.
- EvanWinget 6y agoI wish that Apple had better support for PWAs and allowed alternative rendering engines. The issue is that they are the only major player in mobile that cares about user privacy, and this allows them to maintain their monopoly for many users. If the option is Android + first-class support for PWAs vs. Apple with limited support for PWAs, I’ll go for the latter every time.
- yeahgoodok 6y agoYou seem to be heavily involved in the PWABuilder website. Can you explain why the PWA needs to register a pushManager? I'd like to publish my app without setting up push notifications.
- judah 6y agoYou don't need to register a push manager; only if you want to send push notifications. If you're referring to the PWABuilder analysis page, yeah, we hear your feedback. We're going to be revamping that page in the coming months. We'll deal with push notification score when we do that.
- mandeeeeeep 6y agoI remember when the microsoft app store on windows 8 were a bunch of websites wrapped into an app. It really lowered the quality of apps and the overall appeal of the windows app store. That being said, how will PWAs get around the apple and google requirements that apps downloadable from their stores where they mention apps can't just be a website wrapped into an app?
- judah 6y ago> "It really lowered the quality of apps and the overall appeal of the windows app store...how will PWAs get around the apple and google requirements that apps downloadable from their stores where they mention apps can't just be a website wrapped into an app" Fair question. Google is implementing a new quality bar for PWAs in their store. See this post[0] for details. Microsoft also is doing work in this area. We're not ready to share details, but will likely in the coming months. With PWABuilder, our goal is to help devs build quality PWAs: ones with rich offline experiences, measurably great performance, and apps that are functionally rich. This implies something more than e.g. your resume packaged as a PWA. Towards that end, PWABuilder analyzes your PWA and gives you feedback on capabilities: encourages use of our rich web components[1], helps you build a great offline experience[2], and more. Whether your app is functionally useful (i.e. not just a brochure) is a quality bar left to app stores themselves. [0]: https://twitter.com/ChromiumDev/status/1276223634550353920 https://twitter.com/ChromiumDev/status/1276223634550353920 [1]: https://components.pwabuilder.com https://components.pwabuilder.com [2]: https://www.pwabuilder.com/serviceworker https://www.pwabuilder.com/serviceworker
- pjmlp 6y agoThat clearly isn't the case for Google, as you can package PWAs for the store. https://developers.google.com/web/android/trusted-web-activity https://developers.google.com/web/android/trusted-web-activi...
- partiallypro 6y agoI have a feeling that Microsoft is going to launch an "Edgebook" competitor to Chromebook in the the future using Windows 10X. This obviously is good for the ecosystem all around, for tablets, phones, desktop, etc.
- loudmax 6y agoObviously good to have competition for Chrombebooks. Now imagine how good it would be if there were competition on the desktop market.
- millstone 6y agoIsn't this Windows RT?
- pjmlp 6y agoWindows RT is long gone, I guess you mean Windows on ARM. https://www.microsoft.com/en-us/p/surface-pro-x/8vdnrp2m6hhc?activetab=overview https://www.microsoft.com/en-us/p/surface-pro-x/8vdnrp2m6hhc... https://www.samsung.com/us/computing/windows-laptops/galaxy-book-s/ https://www.samsung.com/us/computing/windows-laptops/galaxy-...
- bob1029 6y agoI am very excited about the idea of both of these monsters actually getting behind PWA. One can only wonder about their motivations (i.e. anti-trust heating up), but I will take whatever I can get at this point. To me, full support for PWA across all vendors' app stores would represent a revolution in the ability for hobbyists and small development shops to publish incredible applications. Has HN not been published as a PWA to the various app stores yet? This seems like an obvious use case and could serve as a great example for other applications.
- tie_ 6y agoAwesome! I hope this will put some pressure on Apple to add support for critical PWA features (e.g. push notifications) to iOS.
- koolhead17 6y ago+100
- notatoad 6y agoI really wish that firefox and ubuntu would hop on board with this. It seems like they both should be at the forefront of this, but for some reason it's still impossible to make a PWA show up in my app list on ubuntu without installing chrome. Firefox on android does a great job of notifying and offering to install PWAs, but on desktop seems to pretend they don't exist. The bug report for adding any PWA support on desktop has been languishing for years. And as far as i can tell, the ubuntu software center team doesn't believe that PWAs exist at all. it seems crazy to me that there's no functionality built into ubuntu that allows me to add youtube to the app list.
- k__ 6y agoYes, would be cool. Firefox is currently unusable on mobile :/
- notatoad 6y agoI find Firefox Preview (with ublock origin enabled) to be the most usable of all the mobile browsers i've tried. Chrome has a few nice things going for it, but i'd rather have ublock.
- k__ 6y agoI liked FFP's main UI, but that was it. Major websites wouldn't work properly (Twitter) and sharing images directly from a website (memes are my bread and butter) also didn't work. I use Chrome with NextDNS on Android.
- DangitBobby 6y agoI have no issues with those things on preview now. It has been a tiny bit unstable but it's getting better
- iggldiggl 6y agoI can somewhat understand why they decided to do the total rewrite, but to my mind it still suffers from all the things described in Spolsky's "Things-You-Should-Never-Do": A standstill on the old version for a very long time (actually that already preceeded the rewrite somwhat, though the latter certainly didn't help in that regard), lots of missing features in the new version (each of which might – mostly – only be a small feature when viewed individually, but taken together it's still a noticeable bit that's currently missing), and of course a number of bugs introduced through the rewrite that need to be ironed out once again (occasionally quite literally "once again").
- awinter-py 6y agowhat's that other company? starts with an A?
- satvikpendem 6y agoWith PWAs, you have to write apps in HTML, CSS, and JS, which seems worse than natively compiled languages like Swift, Kotlin, Flutter, etc. This, I feel, is a fundamental problem. Perhaps the solution instead is that we need a way to distribute natively compilable apps via other means, maybe through a website but also through other app stores not subject to the Google / Apple duopoly; so basically PWA level access and downloadability, but not made with web technologies.
- MagnumPIG 6y agoBut sadly this is not something Google and Microsoft would collaborate on. I would rather expect them to ready the lawyers.
- kupopuffs 6y agoThey already did. It's called WebAssembly
- chabad360 6y agoPWAs can't use WebAssembly?
- satvikpendem 6y agoPerhaps, but WASM isn't ready yet.
- pjmlp 6y agoLooks ready to me. https://platform.uno/ https://platform.uno/ https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor https://www.qt.io/qt-examples-for-webassembly https://www.qt.io/qt-examples-for-webassembly https://fsbolero.io/ https://fsbolero.io/ https://tinygo.org/webassembly/webassembly/ https://tinygo.org/webassembly/webassembly/ https://leaningtech.com/pages/cheerp.html https://leaningtech.com/pages/cheerp.html https://leaningtech.com/pages/cheerpj.html https://leaningtech.com/pages/cheerpj.html https://leaningtech.com/pages/cheerpx.html https://leaningtech.com/pages/cheerpx.html
- devwastaken 6y agoPwa's are not a replacement for electron, and can't be. Either you sandbox for security, or you don't. Pwas are for apps wherein their functionality is entirely web based, and people just want an icon for it.
- AareyBaba 6y agoPWA = Progressive Web Apps A progressive web application is a type of application software delivered through the web, built using common web technologies including HTML, CSS and JavaScript.
- runeks 6y agoSo it’s a new name for a website?
- hotgeart 6y agoYes and no. That's a website that need to check some requirements to be called PWA. - Fast (cache with service worker) - Reponsive (no explanation needed) - Offline page (so if the user lost connection or the web site is cached and he visite when he's no connection the app should work or at least display a custom offline page) - Engaging (fancy word, to say it's need to behave like an app + push notifications) - Installable (if the browser is compatible and you visite the website more than once it'll ask you if you want to install the app. This will create a shortcut and when you click on it it'll open like an app (no address bar)) But Apple is very late and don't support all of this.
- haolez 6y agoI miss Chrome apps. What was wrong with them? Genuine question.
- jefftk 6y agoThey were proprietary; only worked in chrome. Progressive webapps are built out of open standards, and will ideally eventually work everywhere.
- pjmlp 6y agoGuess what browser implements all stuff from http://web.dev http://web.dev and has the biggest coverage for WebAssembly? Open standards are meaningless when only one cares about them.
- alasdair_ 6y agoThis article used the term "PWA" 24 times without defining it once. I assume the WA part means Web App but it's the "P" for "portable" , "Pocket" or something else?
- davrous 6y agoHey! I see a lot of confusions on PWA on what they can or can't do in the comments. I've written an article trying to address that in a fun way: https://www.davrous.com/2019/10/18/myth-busting-pwas-the-new-edge-edition/ https://www.davrous.com/2019/10/18/myth-busting-pwas-the-new... by busting 9 common myths on Progressive Web Apps. For instance, they can use WASM which is production ready for years in all browsers!
- jiggunjer 6y agoMy eli5 is, a PWA is just a web app that: * is installed * may run offline * may use extra system resources
- thefounder 6y agoPWAs are worthless for me until full networking access is provideded(i.e no CORS, set custom headers etc). Until then PWAs are just bookmarks of websites.
- querez 6y agoAdmittedly it might be my fault for living under a rock, but I don't know what PWA stands for. The fact that the linked article uses the acronym without ever writing out its long form even once rubs me the wrong way. For those like me who are in the dark: https://en.wikipedia.org/wiki/Progressive_web_application https://en.wikipedia.org/wiki/Progressive_web_application
- tasogare 6y agoIt stands for Poor-experience Web Applications. It’s basically website + more JavaScript to get some features somewhat working without network. It’s marketed as the next generation tech for mobile web application but the truth is that without access to the underlying API it’s hard to even get close to native capabilities. And as the web is already super bloated I don’t think it would be a good idea to add more.
- anaganisk 6y agoFinally, someone who puts it, a website must be a website, an app must be an app. I don't understand why people go crazy for an abomination of dead service workers for something that runs on APIs almost all the time.
- davrous 6y agoI strongly disagree. You have access to a lot of API and even more thanks to project Fugu. We have Web Assembly (WASM), WebGL 2 (soon WebGPU), etc. Check out this article: https://www.davrous.com/2019/10/18/myth-busting-pwas-the-new-edge-edition/ https://www.davrous.com/2019/10/18/myth-busting-pwas-the-new...
- achempion 6y agoPWA are applications which use certain features: offline mode, service workers, notification API and other browser APIs. They utilise many browser features and behave more like native applications than web, except running in a browser. Really vague concept without strict definition.
- z3t4 6y agoOne issue with add to shelf / add to desktop is that it will be just another modal like Notifications that users has to click cancel. All Apple has to do is to show a little cloud if the web app has a webmanifest, the functionality is already there
- davidpolberger 6y agoI was disappointed to learn that https://pwabuilder.com https://pwabuilder.com can't process the PWAs that are produced by our app builder Calcapp, erroneously claiming that our PWAs have no manifest. I dug into pwabuilder-lib and found the culprit: our manifest URLs use search parameters, which are silently stripped by pwabuilder-lib. Here's the GitHub issue I filed, including a proposed fix: https://github.com/pwa-builder/PWABuilder/issues/949 https://github.com/pwa-builder/PWABuilder/issues/949 Obviously, this wouldn't have been possible if PWABuilder hadn't been open source, so kudos for that.