
Microsoft and Google collaborate to make PWAs better - judah
https://medium.com/pwabuilder/microsoft-and-google-team-up-to-make-pwas-better-in-the-play-store-b59710e487
======
Abishek_Muthian
Nice, 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)

~~~
osrec
I 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.

~~~
alwillis
_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._

Are you sure you aren’t the one being brainwashed?

Why should anyone trust Google, since they make virtually all of their revenue
from ad tech, which means tracking users across the web, even when they don't
want to be. Advertisers are Google's customers, not the users of their
browsers or operating systems.

And since Apple makes virtually all of their revenue from selling devices and
services, who's more credible on the issue of privacy?

If we are to believe Apple cares about its users, then it makes perfect sense
why they don't allow slower, less power efficient, less secure and less
private web engines available on iOS.

"But shouldn't this be up to the user?" some will say ask. Yes, but to a
point. There are already so many ways on the web to shoot yourself in the
foot. Apple is making it clear that if you want a platform where there are no
safeguards, then this isn't the platform for you.

There are certainly a tiny, vocal minority of iOS users who complain a lot
about wanting the ability to shoot themselves in the foot if they so choose.
But Apple knows those aren't their core users and their revenue show that.

 _They need to stop doing this, or they will hurt themselves in the long run._

People have been saying this for many years and now they're valued at over
$1.5 trillion during an _economic collapse and global pandemic_. Please tell
me when the lack of web APIs that would make it easier for their users to be
tracked on the web is going to have any material effect on them.

~~~
osrec
Oh man, not sure where to begin with responding to this.

I'm not saying Google is incredible (my opinion is quite the contrary
actually). However, I am saying Apple is holding the web back, in a fairly
annoying way, for developers.

The fact that they are a rich corporate does not mean they always will be, or
that they're conducting their business in the best way possible. There are
plenty of examples of rich tech businesses that lost their market share very
quickly. We don't even need to look that far into the past for an example:
BlackBerry sticks out in my mind. I believe their stubbornness and resistance
to change caused their downfall. I feel it may be a similar fate for Apple,
and for similar reasons, unless they change their attitude towards the web.

~~~
mihaela
"Apple is holding the web back"

Nope, Apple is taking care of it's customers and protecting them from Google's
ad exploitation.

"I feel it may be a similar fate for Apple, and for similar reasons, unless
they change their attitude towards the web"

On the contrary, if Apple allowed this web Wild West that Google is
advocating, then the users would have incentive to switch. This move from
Apple actually ensures that things run smoothly on Apple devices.

It is not about "power for web developers", it is web developers being lazy to
self-educate and learn other stacks.

There is skill called "desktop development" and it does not entail Electron.

Luckily Apple is not gonna let that happen with the mobile apps and the PWA.

~~~
osrec
But Apple's app store is full of junk too - it is a veritable wild west in its
own right.

You have the likes of Tiktok on there, collecting way more data than a PWA
ever could. Do Apple not care about that?

Feels like a bit of a double standard on privacy, explicitly aimed at stifling
the web.

------
notatoad
I 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__
Yes, would be cool.

Firefox is currently unusable on mobile :/

~~~
skrowl
I'm going to guess you're on iOS where you don't actually have Firefox (or any
other actual browsers besides Safari). Firefox on iOS (like all iOS browsers)
is required by App store rules to basically just skin Safari.

On Android, Firefox is the MOST usable browser.

~~~
millstone
Then why doesn't anyone use it? Honest question - Mobile Firefox stands at
less than half a percentage point marketshare.

~~~
DangitBobby
Just speculation on my part but... On Android, the default (Chrome) is good
enough that most people won't think of trying something else, and on iOS
Safari is really your only choice anyway.

------
bob1029
I 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.

------
AareyBaba
PWA = 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
So it’s a new name for a website?

~~~
hotgeart
Yes 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.

------
querez
Admittedly 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
It 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
Finally, 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.

------
mandeeeeeep
I 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
> "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)

------
no_gravity
The 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
Certainly 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
Can 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
"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-
ed...](https://www.windowscentral.com/heres-how-microsoft-making-edge-pwas-
feel-more-native-apps)

~~~
no_gravity
Keeping 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
> "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
> 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
I 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…

~~~
bitL
They will kill it as they did the same to the two previous versions of the
same thing...

------
satvikpendem
With 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.

~~~
danans
> With 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.

Flutter supports compiling to PWAs

[https://flutter.dev/web](https://flutter.dev/web)

~~~
satvikpendem
It does, but Flutter web performance is worse than when compiled to apps.

------
yeahgoodok
What'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
Discoverability. 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.

~~~
badsectoracula
> 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.

------
tie_
Awesome! I hope this will put some pressure on Apple to add support for
critical PWA features (e.g. push notifications) to iOS.

~~~
koolhead17
+100

------
butz
Firefox needs to catch up on PWA support for desktop, Safari too.

~~~
input_sh
It'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"

------
yeahgoodok
You 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
You 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.

------
davidpolberger
I 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.

------
devwastaken
Pwa'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.

------
davrous
Hey! 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...](https://www.davrous.com/2019/10/18/myth-busting-pwas-the-new-edge-
edition/) 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
My eli5 is, a PWA is just a web app that:

* is installed

* may run offline

* may use extra system resources

------
z3t4
One 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

------
partiallypro
I 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.

~~~
millstone
Isn't this Windows RT?

~~~
pjmlp
Windows RT is long gone, I guess you mean Windows on ARM.

[https://www.microsoft.com/en-us/p/surface-
pro-x/8vdnrp2m6hhc...](https://www.microsoft.com/en-us/p/surface-
pro-x/8vdnrp2m6hhc?activetab=overview)

[https://www.samsung.com/us/computing/windows-
laptops/galaxy-...](https://www.samsung.com/us/computing/windows-
laptops/galaxy-book-s/)

------
alasdair_
This 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?

~~~
JimDabell
Progressive Web App: [https://infrequently.org/2015/06/progressive-apps-
escaping-t...](https://infrequently.org/2015/06/progressive-apps-escaping-
tabs-without-losing-our-soul/)

------
techntoke
Microsoft is now using Medium as their official blogging service?

~~~
judah
Author here. Some teams use it, including ours (PWABuilder).

~~~
techntoke
That is like a team at Microsoft using Gmail as their email provider.

~~~
vntok
What is the name of that blogging software Microsoft is providing in
competition with Medium?

~~~
DoctorOW
I don't think there's a public blogging software unless you count Sharepoint
but I doubt that would scale well. Still Microsoft has a number of web
products that could be used instead of Medium. A lot of the smaller Microsoft
weblogs use Azure websites with Wordpress and the bigger ones are part of
Micrsoft's in-house multisite.

------
thefounder
PWAs 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.

------
HJain13
As 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
Thanks 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/)

------
haolez
I miss Chrome apps. What was wrong with them? Genuine question.

~~~
jefftk
They were proprietary; only worked in chrome. Progressive webapps are built
out of open standards, and will ideally eventually work everywhere.

~~~
pjmlp
Guess 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.

------
FiddlerClamp
I wonder if they're doing this for the Surface Duo launch.

~~~
judah
Fair 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.

------
awinter-py
what's that other company? starts with an A?

