taking the p out of pwa

68
Taking the P out of PWA… Chris Heilmann (@codepo8) January 2018

Upload: christian-heilmann

Post on 16-Mar-2018

1.218 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Taking the P out of PWA

Taking the P out of PWA…

Chris Heilmann (@codepo8) January 2018

Page 2: Taking the P out of PWA
Page 3: Taking the P out of PWA

Partner Application Experience

Page 4: Taking the P out of PWA

Apps in the Enterprise

Photo by Janson G: pixabay.com/en/spaceship-model-isolated-enterprise-2749360/

Page 5: Taking the P out of PWA

Progressive Web Apps

Page 6: Taking the P out of PWA

twitter.com/larsklint/status/941504191222054912

Page 7: Taking the P out of PWA

twitter.com/codepo8/status/954311316113690624

Page 8: Taking the P out of PWA

“But, what is a PWA?”, I hear you ask.

Yeah, OK, a developer can dream…

Page 9: Taking the P out of PWA

A PWA is

Discoverable Installable Linkable

NetworkIndependent

Safe Re-engageable

Progressive Responsive App-Like Fresh

Page 10: Taking the P out of PWA

Asking that much is a bit of a stretch…

Page 11: Taking the P out of PWA

Let’s make this simpler…

A PWA is a web-technology based application. It mixes the best of the web and the app space.

Page 12: Taking the P out of PWA

Let’s make this simpler…

A PWA has a unique URL. This can be used as a distribution model. The link.

Page 13: Taking the P out of PWA

Let’s make this simpler…

PWAs are progressive.They don’t work and behave the same everywhere.

Page 14: Taking the P out of PWA

Let’s make this simpler…

PWAs are progressive. They improve over time and with the ability of the host environment.

Page 15: Taking the P out of PWA

Let’s make this simpler…

If you choose to install PWAs they behave like we expect apps to behave. Without any of the annoying bits…

Page 16: Taking the P out of PWA

Bridging the gap between apps and web needed

good technology

Page 17: Taking the P out of PWA

PWAs use the current web, progressively

aka.ms/webcando

Page 18: Taking the P out of PWA

Additionally, we needed two new technologies.

Page 19: Taking the P out of PWA

WebManifest

Page 20: Taking the P out of PWA

Service Workers

Page 21: Taking the P out of PWA

We talk far too much about the nuts and bolts.

Page 22: Taking the P out of PWA

EEngaging

Let’s concentrate on how our apps appear

to the user.

FFast

IIntegrated

RReliable

Page 23: Taking the P out of PWA

Where’s the fire?

EEngaging

FFast

IIntegrated

RReliable

Page 24: Taking the P out of PWA

Where’s the fire?

WTF?

EEngaging

FFast

IIntegrated

RReliable

Page 25: Taking the P out of PWA

Let’s talk about things that need work…

Page 26: Taking the P out of PWA

Speed

Page 27: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Empty shells are fast, but not useful...

twitter.com/codepo8/status/954308397809184768

Page 28: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

PWAs should be faster, not slower...

Page 29: Taking the P out of PWA

Integration

Page 30: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

PWAs should play well with the OS…

Page 31: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Alas, it is the web and user choice...

Page 32: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

We have some work to do...

Page 33: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Great integration we don‘t mention...

Page 34: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

From web to app store via manifest...

Page 35: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Yes, the manifest matters...

Page 36: Taking the P out of PWA

Reliability

Page 37: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Embracing the web shareability...

Page 38: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Avoiding known annoyances

Page 39: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Availability in the worst scenarios...

Page 40: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Let’s be mindful of Service Workers…

homebrewery.naturalcrit.com/share/SyZ4Sxms5b

Page 41: Taking the P out of PWA

Engagement

Page 42: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Engaging, not annoying…

Page 43: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Not all re-use is advisable...

Page 44: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Going too basic isn‘t helping either...

Page 45: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Let’s build progressive interfaces…

Page 46: Taking the P out of PWA

EEngaging

FFast

IIntegrated

RReliable

Same app, different environment…

Page 47: Taking the P out of PWA

This isn’t new - our web best practices apply…

EEngaging

FFast

IIntegrated

RReliable

Page 48: Taking the P out of PWA

PWA tooling is great!(as always, it is tough to build tools for an open stack)

Page 49: Taking the P out of PWA

ServiceWorkerCookbook

(Mozilla)

aka.ms/serviceworkers

Page 50: Taking the P out of PWA

Workbox(Google)

aka.ms/workbox

Page 51: Taking the P out of PWA

Lighthouse(Google)

aka.ms/google-lighthouse

Page 52: Taking the P out of PWA

Not everybody cares about the nuts

and bolts…

twitter.com/headjs_ru/status/955333399564161024

Page 53: Taking the P out of PWA

PWA Builder(Microsoft)

aka.ms/pwa-builder

Page 54: Taking the P out of PWA

PWA Builder(Microsoft)

aka.ms/pwa-builder

Page 55: Taking the P out of PWA

Why is it hard to find great examples?

Page 56: Taking the P out of PWA

Why indeed?

Page 57: Taking the P out of PWA

Our PWA messaging is at times awful and

short-sighted

EEngaging

FFast

IIntegrated

RReliable

Page 58: Taking the P out of PWA

Moaning travels upwards and takes a long time to arrive.

Photo by Janson G: pixabay.com/en/spaceship-model-isolated-enterprise-2749360/

Page 59: Taking the P out of PWA

It is tough to find PWAs on FIRE(that aren’t demos)

Page 60: Taking the P out of PWA

PWA Stats(Cloud Four)

aka.ms/pwa-stats

Page 61: Taking the P out of PWA

Please help the PWA effort

Page 62: Taking the P out of PWA

Don’t assume your experience is normal

EEngaging

FFast

IIntegrated

RReliable

Page 63: Taking the P out of PWA

Give feedback and take part in tools and docs

EEngaging

FFast

IIntegrated

RReliable

Page 64: Taking the P out of PWA

Keep up-to-date before telling people about PWAs.

EEngaging

FFast

IIntegrated

RReliable

Page 65: Taking the P out of PWA

Promote and celebrate great examples.

EEngaging

FFast

IIntegrated

RReliable

Page 66: Taking the P out of PWA

I try to stop people to package awful websites into containers - again.

Page 67: Taking the P out of PWA

Please, help!

Page 68: Taking the P out of PWA

Thanks!Chris Heilmann@codepo8