mdn / pab

MDN Web Docs Product Advisory Board
26 stars 17 forks source link

Start working group meetings to focus on “generic” PWA definition for MDN #8

Closed alispivak closed 6 years ago

alispivak commented 6 years ago

Action item from January 2018 PAB meeting

chrisdavidmills commented 6 years ago

OK, I've written a short piece as a conversation starter.

PWA definition

Current soundbyte from MDN (see Progressive web apps):

Progressive web apps take traditional web sites/applications — with all of the advantages the web brings — and adds a number of features that give them the many of the same user experience advantages as native apps.

for a start we have some typos:

And we could tighten it up a bit:

Progressive web apps take traditional web apps — with all the advantages of the web — and add several features that give them the same user experience advantages as native apps.

And the categories we have written up, of what makes a PWA, are:

How could we improve on this?

To me at least, there are two parts to PWAs:

  1. UX
  2. Technological

We want to achieve the UX benefits, so we implement technologies to allow us to do this. In this conversation we are really concerned with the UX part, as this informs the technologies anyway.

Another part of this is that we want to write a "generic" or "neutral" definition of PWAs, to make sure it works for the web platform as a whole, and not just a subset of the web, e.g. a specific vendor ecosystem.

What do we think this needs?

chrisdavidmills commented 6 years ago

This documentation has moved on now:

https://developer.mozilla.org/en-US/Apps/Progressive

It would be great to get a review of what we have so far, as well as ideas on how we can work the generic PWA definition into it.

webmaxru commented 6 years ago

Hello @chrisdavidmills!

During my sessions and workshops, I define PWA as web apps which use modern browsers' APIs + best practices to create the best possible user experience.

This is quite close to your "UX + Technological" idea.

My other thoughts/assumptions about PWA as a concept:

chrisdavidmills commented 6 years ago

@webmaxru thanks for the thoughts Maxim! There is nothing here that I don't agree with. I really like the idea of tying PWA closely to our tried and tested favourites of "cross-platform web apps" and "progressive enhancement" — they are really the evolution of these, rather than some completely new thing.

I also like the idea of eventually killing "PWA" as a term, although I suspect this will happen very gradually, and for the moment it is useful to have the term around for people to use to find information about this way of doing things. In my mind, it is the same thing as how Ajax was a buzzword we used to describe asynchronous partial reloading of data/pages (or however you want to think of it). We don't use that term much anymore, and these days Fetch/XHR is pretty much the standard in app data delivery, but back then it was a useful term to latch on to.

So considering your thoughts here, I've rewritten my sound byte like so:

"Progressive web apps use modern web APIs along with traditional progressive enhancement theory to create cross-platform web applications. These apps work everywhere and provide several features that give them the same user experience advantages as native apps.

What do you think ?

webmaxru commented 6 years ago

@chrisdavidmills we are close to the perfect definition! :) I'd change progressive enhancement theory to progressive enhancement strategy (as it says on the Wikipedia)

chrisdavidmills commented 6 years ago

Great, even better. So:

"Progressive web apps use modern web APIs along with traditional progressive enhancement strategy to create cross-platform web applications. These apps work everywhere and provide several features that give them the same user experience advantages as native apps."

chrisdavidmills commented 6 years ago

Cool, so I've now updated the opening paragraph on the MDN PWA page to use this definition:

https://developer.mozilla.org/en-US/Apps/Progressive

I'm closing this now, as I am pretty pleased with this definition.

robnyman commented 6 years ago

I think that is good for now, but ideally - and as discussed earlier - it would probably be a full page that the major browser vendors would sign off on.

webmaxru commented 6 years ago

@chrisdavidmills just in time! :)

I have the Angular PWA presentation in one hour in London and my slide about "what is PWA" has this definition, now I'll give a link to MDN! https://slides.com/webmax/ngsw-ijs-2018/live#/3

chrisdavidmills commented 6 years ago

@webmaxru That's great - thanks!

@robnyman - yup, I think we need that eventually. This is a good start though.