From AMP to PWA
Rowan Merewood, Google
If we run out of time
➔ @rowan_m on Twitter
➔ +RowanMerewood on Google+
➔ rowan-m on GitHub
If we run out of time
➔ @rowan_m on Twitter
➔ +RowanMerewood on Google+
➔ rowan-m on GitHub
-
When
“The planets”, Paul Matthers, CC BY-SA 2.0, https://flic.kr/p/8GrRNE
“Snail”, Rob Patrick, CC BY-NC-SA 2.0, https://flic.kr/p/upm9Z
The average mobile page:
The average mobile page:
214 requests, 107 ad-related requests
19 seconds average load time, 77% over 10 seconds
53% of visits abandoned if the load is over
3 seconds
https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/
AMP: Accelerated Mobile Pages
PWA: Progressive Web Apps
PWA as a term allows us to
quantifiably define
a good, modern web experience.
PWA as a term allows us to
quantifiably define
a good, modern web experience.
Developers
->
PWA as a term allows you to
raise your expectations for
a good, modern web experience.
PWA as a term allows you to
raise your expectations for
a good, modern web experience.
As a user
->
PWA-ness
User
happiness
Baseline
->
Exemplary
->
PWA-ness
User
happiness
What are PWAs?
Fast EngagingReliableIntegrated
app.starbucks.com
➔ Auto sign-in
➔ Order ahead
➔ Pay with barcode
trivago.com
Offline resilience
➔ 67% of users who are
interrupted by a period of
offline come back to browse
➔ 97% increase in conversion
Audit your site with
Lighthouse
https://developers.google.com
/web/tools/lighthouse/
What is AMP?
$✔<>
Fast
Easy to
implement
Mobile
friendly
Embrace the
open web
Enable
monetization
“Car race”, mikegreen1985, CC BY-SA 2.0, https://flic.kr/p/fM9Qrw
✔
✘
AMP
Average mobile web
Hand tuned site
AMP HTML
AMP JS
Google AMP
Cache
Sweet branding dot com
Nav
Nav
Nav
Navi
Hey
Hey
Listen!
Content...?
Curated artisanal cat pictures
Curated artisanal cat pictures
WUT ABOUT
DOGS?
SUP LOL
Ad
LogoHeader
Responsive hero image
Headline
ImageArticle text
Some more text
https://mobile.twitter.com/lgarron/status/806955394488643584
AMP and PWA
AMP
Instant delivery
Optimised discovery
No user scripts
Static content
PWA
Advanced platform features
Highly dynamic
Slower first delivery
Not easily embedded
AMP to the PWA
AMP to the PWA
<amp-install-serviceworker
src="https://www.your-domain.com/serviceworker.js"
layout="nodisplay">
</amp-install-serviceworker>
var CACHE_NAME = 'my-site-cache-v1';
var urlsToCache = [
'/',
'/styles/main.css',
'/script/main.js'
];
self.addEventListener('install', function(event)
{
// Perform install steps
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
});
AMP as the PWA
AMP as the PWA
<link rel="manifest" href="/manifest.json">
{
"short_name": "ABE",
"name": "AMPByExample",
"icons": [
{
"src": "launcher-icon-1x.png",
"type": "image/png",
"sizes": "48x48"
},
{
"src": "launcher-icon-2x.png",
"type": "image/png",
"sizes": "96x96"
},
{
"src": "launcher-icon-4x.png",
"type": "image/png",
"sizes": "192x192"
}
],
"start_url": "index.html?launcher=true"
}
<link rel="manifest" href="/manifest.json">
{
"short_name": "ABE",
"name": "AMPByExample",
"icons": [
{
"src": "launcher-icon-1x.png",
"type": "image/png",
"sizes": "48x48"
},
{
"src": "launcher-icon-2x.png",
"type": "image/png",
"sizes": "96x96"
},
{
"src": "launcher-icon-4x.png",
"type": "image/png",
"sizes": "192x192"
}
],
"start_url": "index.html?launcher=true"
}
“Hobbit Hole, Green Door”, yortw, CC BY-NC 2.0, https://flic.kr/p/gM4KJy
Snapdeal
So, what should you do?
Start with
ampstart.com
Make it real with
ampbyexample.com
Advanced interactivity with
<amp-bind>
The end
Thank you!
@rowan_m | +RowanMerewood
https://goo.gl/oQnpfx

E-commerce Berlin Expo 2018 - From AMP to PWA: A Modern Web User Journey