SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Progressive Web Apps
Tel Aviv
2016
g.co/progressivewebapps
Code of Conduct
goo.gl/O96sJg
Slack
Join
chromiumdev-slack.herokuapp.com
Login
chromiumdev.slack.com
Twitter
@ChromiumDev
Proprietary + Confidential
Ido Green
@greenido
Proprietary + Confidential
Progressive Web Apps
Mobile has natively come to the Web
The Big Bang of Computing
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<TITLE>Bach's home page</TITLE>
<STYLE type="text/css">
h1 { color: red }
</STYLE>
</HEAD>
<BODY>
<H1>Bach's home page</H1>
<P>Johann Sebastian Bach was a prolific composer.
</BODY>
</HTML>
Ajax was born to run desktop apps on the Web
How did the Web beat native
applications on the desktop?
Distribution Is The Hardest
Problem In Software
flickr.com/photos/blakespot/
The Mobile Explosion
Confidential & Proprietary
● Runs the “desktop Web”
● Pinch and zoom, Pan, etc
● Hitchhikers guide to the galaxy is in
your pocket!
The Mobile Internet came when it brought the Web
Confidential & Proprietary
Access to the back catalog is great, but you want to
use the new affordances and power
What if the Web evolved those
capabilities, just as it did with
Ajax?
What's Missing?
1. Home Screen Access
2. Push Notifications
3. Offline
1. Home screen Access
Less typing, more tapping.
2. Push Notifications
How can we re-engage users at the right time?
1. Works If Browser Closed
2. Needs Permission
3. Offline That Works™
It isn't an app if it doesn't start when you tap.
example.com
GET /app.html HTTP/1.1
HOST example.com
...
HTTP/1.1 200 OK
Date: Thu, 19 Feb 2015 05:21:56 GMT
...
example.com
// sw.js
onfetch = function(e) {
if(e.request.url == "app.html") {
e.respondWith(
caches.match(e.request)
);
}
if(e.request.url == "content.json") {
// go to the network for updates,
// meanwhile, use cached content
fetch(...).then(function(r) {
r.asJSON().then(function(json) {
e.client.postMessage(json);
});
});
}
};
GET /app.html HTTP/1.1
HOST example.com
...
GET /content.json HTTP/1.1
HOST example.com
...
GET /content.json HTTP/1.1
HOST example.com
...
HTTP/1.1 200 OK
Date: Thu, 19 Feb 2015...
...
Service Workers Are
Network Progressive
Enhancement
A Programmable Network Proxy under your control.
Service Workers are to
Progressive Web Apps as
XMLHttpRequest was to Ajax
The foundational capability that was a tipping point for innovation
Impact of speed on bounce rates
Source: SOASTA; September, 2015
2.4 2.7 3.0 3.3 3.6 3.9 4.2 4.5 4.8 5.1 5.4 5.7 6.0 6.3 6.6 6.9 7.2 7.5 7.8 8.1 8.4 8.7 9.0 9.3 9.6 9.9
180,000
140,000
100,000
60,000
0
20,000
58
45
32
19
0
6
Sessions
Load time (in seconds)
Bouncerate(%)
Sessions Bounce rate
13%
bounce
rate
20%
bounce
rate
58%
bounce
rate
Confidential & Proprietary
RAIL: Instant loading and smooth navigation
● For first visitors, load pages in <10s on 3G
net
○ Aspirational goal: <3s to first paint
● For repeat visitors, loading of page in <500
ms
● Always scrolling at 60 frames/second
● Content shouldn’t jump as images are loaded
Confidential & Proprietary
● Reliable: Fast loading, offline and on flaky
networks
● Fast: Smooth animation, scrolling and nav
● Engaging and integrated
○ On the home screen, no URL bar, icons,
splash
○ Re-engaging with push notifications
● Consistent experience across browsers
(still in progress, though)
The Progressive Web App Experience
Confidential & Proprietary
The Progressive Web App - Examples
https://noter-1.firebaseapp.com/https://voice-memos.appspot.com
e-commerce
● Users time on Flipkart lite vs. previous
experience: 3.5 minutes vs 70 seconds.
● 3x more time spent on site
● 40% higher re-engagement rate
● 70% greater conversion rate among those
arriving via Add to Homescreen
● 3x lower data usage
● Read more on Flipkart case study
26%increase in average spend
per visit by members arriving
via a push notification
72%increase in time spent for users
visiting via a push notification
+50%repeat visits within 3 months
Kill Your Dinosaur!
Progressive Web App
Code Lab
Code Time!
1. PWA - g.co/codelabs/pwa
2. Push Notifications - goo.gl/oFwPaV
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Enter Progressive Web Apps
● Fast loading
● One click away from accessing content
● Smooth animations and navigations
● Re-engages with push notifications
● Good experience on flaky network connections
● Consistent experience across browsers
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Enabling app-like capabilities
Service Worker
● Client-side proxy written in JavaScript
● Access device capabilities to allow your
site to be “app like”
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Enabling app-like capabilities
Service Worker
● Client-side proxy written in JavaScript
● Access device capabilities to allow your
site to be “app like”
Web App Manifest
● Rich presence on user’s Android
homescreen
● Launch in full-screen mode on Android
● Control the screen orientation
● Define “splash screen” launch, theme
color for site
{ "short_name": "My Cool App",
"name": "My Totally Cool Application",
"icons": [
{"src": "launcher-icon-3x.png",
"sizes": "192x192",
"type": "image/png"}],
"start_url": "index.html",
"display": "standalone",
"background_color" : "#aeaeae",
"theme_color" : "#aeaeae",
"orientation" : "landscape" }
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Add to Homescreen & Full Screen
● User who visits 2x in a
within five minutes will
be prompted with
“add to homescreen”
● One tap to add to
homescreen
● Opens full screen - no
URL bar
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
A few tips before we start...
● Chapters 6 & 7 will take the longest
● Service Workers - Tips
○ Don't forget to change the cacheName
○ Use an incognito window to ensure a fresh start
○ Keep only one tab open at a time
○ chrome://serviceworker-internals & DevTools are your
new best friends
○ Read More tips on Noter PWA Example
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Let’s build it!
g.co/codelabs/pwa
Questions?
Ask!
THANK YOU!
Ido Green
@greenido
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Misc
Helpful links
● https://www.chromium.org/blink/serviceworker/service-worker-faq
● https://www.chromium.org/blink/serviceworker/getting-started
Coffee Break
3:30pm
voice-memos.appspot.com
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Let’s do better.
Proprietary + Confidential
Final thoughts

Contenu connexe

En vedette

Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For StartupsIdo Green
 
Earn More Revenue With Firebase and AdMob
Earn More Revenue With Firebase and AdMobEarn More Revenue With Firebase and AdMob
Earn More Revenue With Firebase and AdMobIdo Green
 
Startups Best Practices
Startups Best PracticesStartups Best Practices
Startups Best PracticesIdo Green
 
Big Query Basics
Big Query BasicsBig Query Basics
Big Query BasicsIdo Green
 
AMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesAMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesIdo Green
 
Modern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsModern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsIdo Green
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIsIdo Green
 
Startups - How to start - The Idea
Startups - How to start - The Idea Startups - How to start - The Idea
Startups - How to start - The Idea Ido Green
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Abdelrahman Omran
 
Unravelling Mobile Web Performance
Unravelling Mobile Web PerformanceUnravelling Mobile Web Performance
Unravelling Mobile Web PerformanceGuy Podjarny
 
Getting Started with Progressive Web Apps
Getting Started with Progressive Web AppsGetting Started with Progressive Web Apps
Getting Started with Progressive Web AppsBill Stavroulakis
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Zhentian Wan
 
Wiki Technology By It Rocks
Wiki Technology By It RocksWiki Technology By It Rocks
Wiki Technology By It Rocksnaveenv
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Dockersarahnovotny
 
Comparativesquiz 3
Comparativesquiz 3Comparativesquiz 3
Comparativesquiz 3lola guillen
 
Success Magazine
Success MagazineSuccess Magazine
Success Magazinepayitearly
 
Downtown Arena Renderings
Downtown Arena RenderingsDowntown Arena Renderings
Downtown Arena Renderingswhitneyk7
 
Enterprise Social Software Executive Introduction
Enterprise Social Software Executive IntroductionEnterprise Social Software Executive Introduction
Enterprise Social Software Executive Introductionsharonmichnay
 

En vedette (20)

Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
 
Earn More Revenue With Firebase and AdMob
Earn More Revenue With Firebase and AdMobEarn More Revenue With Firebase and AdMob
Earn More Revenue With Firebase and AdMob
 
Startups Best Practices
Startups Best PracticesStartups Best Practices
Startups Best Practices
 
Big Query Basics
Big Query BasicsBig Query Basics
Big Query Basics
 
AMP - Accelerated Mobile Pages
AMP - Accelerated Mobile PagesAMP - Accelerated Mobile Pages
AMP - Accelerated Mobile Pages
 
Modern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsModern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIs
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIs
 
Startups - How to start - The Idea
Startups - How to start - The Idea Startups - How to start - The Idea
Startups - How to start - The Idea
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
 
Unravelling Mobile Web Performance
Unravelling Mobile Web PerformanceUnravelling Mobile Web Performance
Unravelling Mobile Web Performance
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Getting Started with Progressive Web Apps
Getting Started with Progressive Web AppsGetting Started with Progressive Web Apps
Getting Started with Progressive Web Apps
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
Wiki Technology By It Rocks
Wiki Technology By It RocksWiki Technology By It Rocks
Wiki Technology By It Rocks
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Docker
 
Comparativesquiz 3
Comparativesquiz 3Comparativesquiz 3
Comparativesquiz 3
 
Success Magazine
Success MagazineSuccess Magazine
Success Magazine
 
Sf 02S201test
Sf 02S201testSf 02S201test
Sf 02S201test
 
Downtown Arena Renderings
Downtown Arena RenderingsDowntown Arena Renderings
Downtown Arena Renderings
 
Enterprise Social Software Executive Introduction
Enterprise Social Software Executive IntroductionEnterprise Social Software Executive Introduction
Enterprise Social Software Executive Introduction
 

Plus de Ido Green

How to get things done - Lessons from Yahoo, Google, Netflix and Meta
How to get things done - Lessons from Yahoo, Google, Netflix and Meta How to get things done - Lessons from Yahoo, Google, Netflix and Meta
How to get things done - Lessons from Yahoo, Google, Netflix and Meta Ido Green
 
Crypto 101 and a bit more [Sep-2022]
Crypto 101 and a bit more [Sep-2022]Crypto 101 and a bit more [Sep-2022]
Crypto 101 and a bit more [Sep-2022]Ido Green
 
The Future of Continuous Software Updates Is Here
The Future of Continuous Software Updates Is HereThe Future of Continuous Software Updates Is Here
The Future of Continuous Software Updates Is HereIdo Green
 
Open Source & DevOps Market trends - Open Core Summit
Open Source & DevOps Market trends - Open Core SummitOpen Source & DevOps Market trends - Open Core Summit
Open Source & DevOps Market trends - Open Core SummitIdo Green
 
DevOps as a competitive advantage
DevOps as a competitive advantageDevOps as a competitive advantage
DevOps as a competitive advantageIdo Green
 
Data Driven DevOps & Technologies (swampUP 2019 keynote)
Data Driven DevOps & Technologies (swampUP 2019 keynote)Data Driven DevOps & Technologies (swampUP 2019 keynote)
Data Driven DevOps & Technologies (swampUP 2019 keynote)Ido Green
 
Create An Amazing Apps For The Google Assistant!
Create An Amazing Apps For The Google Assistant!Create An Amazing Apps For The Google Assistant!
Create An Amazing Apps For The Google Assistant!Ido Green
 
Google Assistant - Why? How?
Google Assistant - Why? How?Google Assistant - Why? How?
Google Assistant - Why? How?Ido Green
 
The Google Assistant - Macro View (October 2017)
The Google Assistant - Macro View (October 2017)The Google Assistant - Macro View (October 2017)
The Google Assistant - Macro View (October 2017)Ido Green
 
Actions On Google - GDD Europe 2017
Actions On Google - GDD Europe 2017Actions On Google - GDD Europe 2017
Actions On Google - GDD Europe 2017Ido Green
 
Building conversational experiences with Actions on Google
Building conversational experiences with Actions on GoogleBuilding conversational experiences with Actions on Google
Building conversational experiences with Actions on GoogleIdo Green
 
Actions On Google - How? Why?
Actions On Google - How? Why?Actions On Google - How? Why?
Actions On Google - How? Why?Ido Green
 
How To Grow Your User Base?
How To Grow Your User Base?How To Grow Your User Base?
How To Grow Your User Base?Ido Green
 
סטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהסטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהIdo Green
 
איך להתחיל סטארטאפ 2016
איך להתחיל סטארטאפ 2016איך להתחיל סטארטאפ 2016
איך להתחיל סטארטאפ 2016Ido Green
 
How to start? - The Execution
How to start? - The Execution How to start? - The Execution
How to start? - The Execution Ido Green
 
How to make (more) money on the web?
How to make (more) money on the web?How to make (more) money on the web?
How to make (more) money on the web?Ido Green
 
How to start? (and excel with the elephants)
How to start? (and excel with the elephants)How to start? (and excel with the elephants)
How to start? (and excel with the elephants)Ido Green
 
How to start? The Product
How to start? The Product How to start? The Product
How to start? The Product Ido Green
 

Plus de Ido Green (20)

How to get things done - Lessons from Yahoo, Google, Netflix and Meta
How to get things done - Lessons from Yahoo, Google, Netflix and Meta How to get things done - Lessons from Yahoo, Google, Netflix and Meta
How to get things done - Lessons from Yahoo, Google, Netflix and Meta
 
Crypto 101 and a bit more [Sep-2022]
Crypto 101 and a bit more [Sep-2022]Crypto 101 and a bit more [Sep-2022]
Crypto 101 and a bit more [Sep-2022]
 
The Future of Continuous Software Updates Is Here
The Future of Continuous Software Updates Is HereThe Future of Continuous Software Updates Is Here
The Future of Continuous Software Updates Is Here
 
Open Source & DevOps Market trends - Open Core Summit
Open Source & DevOps Market trends - Open Core SummitOpen Source & DevOps Market trends - Open Core Summit
Open Source & DevOps Market trends - Open Core Summit
 
DevOps as a competitive advantage
DevOps as a competitive advantageDevOps as a competitive advantage
DevOps as a competitive advantage
 
Data Driven DevOps & Technologies (swampUP 2019 keynote)
Data Driven DevOps & Technologies (swampUP 2019 keynote)Data Driven DevOps & Technologies (swampUP 2019 keynote)
Data Driven DevOps & Technologies (swampUP 2019 keynote)
 
Create An Amazing Apps For The Google Assistant!
Create An Amazing Apps For The Google Assistant!Create An Amazing Apps For The Google Assistant!
Create An Amazing Apps For The Google Assistant!
 
VUI Design
VUI DesignVUI Design
VUI Design
 
Google Assistant - Why? How?
Google Assistant - Why? How?Google Assistant - Why? How?
Google Assistant - Why? How?
 
The Google Assistant - Macro View (October 2017)
The Google Assistant - Macro View (October 2017)The Google Assistant - Macro View (October 2017)
The Google Assistant - Macro View (October 2017)
 
Actions On Google - GDD Europe 2017
Actions On Google - GDD Europe 2017Actions On Google - GDD Europe 2017
Actions On Google - GDD Europe 2017
 
Building conversational experiences with Actions on Google
Building conversational experiences with Actions on GoogleBuilding conversational experiences with Actions on Google
Building conversational experiences with Actions on Google
 
Actions On Google - How? Why?
Actions On Google - How? Why?Actions On Google - How? Why?
Actions On Google - How? Why?
 
How To Grow Your User Base?
How To Grow Your User Base?How To Grow Your User Base?
How To Grow Your User Base?
 
סטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמהסטארטאפ - איך? כמה? ולמה
סטארטאפ - איך? כמה? ולמה
 
איך להתחיל סטארטאפ 2016
איך להתחיל סטארטאפ 2016איך להתחיל סטארטאפ 2016
איך להתחיל סטארטאפ 2016
 
How to start? - The Execution
How to start? - The Execution How to start? - The Execution
How to start? - The Execution
 
How to make (more) money on the web?
How to make (more) money on the web?How to make (more) money on the web?
How to make (more) money on the web?
 
How to start? (and excel with the elephants)
How to start? (and excel with the elephants)How to start? (and excel with the elephants)
How to start? (and excel with the elephants)
 
How to start? The Product
How to start? The Product How to start? The Product
How to start? The Product
 

Progressive Web Apps TLV

  • 1. Progressive Web Apps Tel Aviv 2016 g.co/progressivewebapps
  • 6. Proprietary + Confidential Progressive Web Apps Mobile has natively come to the Web
  • 7. The Big Bang of Computing
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <TITLE>Bach's home page</TITLE> <STYLE type="text/css"> h1 { color: red } </STYLE> </HEAD> <BODY> <H1>Bach's home page</H1> <P>Johann Sebastian Bach was a prolific composer. </BODY> </HTML>
  • 13.
  • 14. Ajax was born to run desktop apps on the Web
  • 15.
  • 16. How did the Web beat native applications on the desktop?
  • 17. Distribution Is The Hardest Problem In Software flickr.com/photos/blakespot/
  • 18.
  • 20. Confidential & Proprietary ● Runs the “desktop Web” ● Pinch and zoom, Pan, etc ● Hitchhikers guide to the galaxy is in your pocket! The Mobile Internet came when it brought the Web
  • 21. Confidential & Proprietary Access to the back catalog is great, but you want to use the new affordances and power
  • 22. What if the Web evolved those capabilities, just as it did with Ajax?
  • 23. What's Missing? 1. Home Screen Access 2. Push Notifications 3. Offline
  • 24. 1. Home screen Access Less typing, more tapping.
  • 25.
  • 26. 2. Push Notifications How can we re-engage users at the right time?
  • 27. 1. Works If Browser Closed 2. Needs Permission
  • 28. 3. Offline That Works™ It isn't an app if it doesn't start when you tap.
  • 29.
  • 30. example.com GET /app.html HTTP/1.1 HOST example.com ... HTTP/1.1 200 OK Date: Thu, 19 Feb 2015 05:21:56 GMT ...
  • 31. example.com // sw.js onfetch = function(e) { if(e.request.url == "app.html") { e.respondWith( caches.match(e.request) ); } if(e.request.url == "content.json") { // go to the network for updates, // meanwhile, use cached content fetch(...).then(function(r) { r.asJSON().then(function(json) { e.client.postMessage(json); }); }); } }; GET /app.html HTTP/1.1 HOST example.com ... GET /content.json HTTP/1.1 HOST example.com ... GET /content.json HTTP/1.1 HOST example.com ... HTTP/1.1 200 OK Date: Thu, 19 Feb 2015... ...
  • 32. Service Workers Are Network Progressive Enhancement A Programmable Network Proxy under your control.
  • 33. Service Workers are to Progressive Web Apps as XMLHttpRequest was to Ajax The foundational capability that was a tipping point for innovation
  • 34.
  • 35. Impact of speed on bounce rates Source: SOASTA; September, 2015 2.4 2.7 3.0 3.3 3.6 3.9 4.2 4.5 4.8 5.1 5.4 5.7 6.0 6.3 6.6 6.9 7.2 7.5 7.8 8.1 8.4 8.7 9.0 9.3 9.6 9.9 180,000 140,000 100,000 60,000 0 20,000 58 45 32 19 0 6 Sessions Load time (in seconds) Bouncerate(%) Sessions Bounce rate 13% bounce rate 20% bounce rate 58% bounce rate
  • 36. Confidential & Proprietary RAIL: Instant loading and smooth navigation ● For first visitors, load pages in <10s on 3G net ○ Aspirational goal: <3s to first paint ● For repeat visitors, loading of page in <500 ms ● Always scrolling at 60 frames/second ● Content shouldn’t jump as images are loaded
  • 37. Confidential & Proprietary ● Reliable: Fast loading, offline and on flaky networks ● Fast: Smooth animation, scrolling and nav ● Engaging and integrated ○ On the home screen, no URL bar, icons, splash ○ Re-engaging with push notifications ● Consistent experience across browsers (still in progress, though) The Progressive Web App Experience
  • 38. Confidential & Proprietary The Progressive Web App - Examples https://noter-1.firebaseapp.com/https://voice-memos.appspot.com
  • 40. ● Users time on Flipkart lite vs. previous experience: 3.5 minutes vs 70 seconds. ● 3x more time spent on site ● 40% higher re-engagement rate ● 70% greater conversion rate among those arriving via Add to Homescreen ● 3x lower data usage ● Read more on Flipkart case study
  • 41. 26%increase in average spend per visit by members arriving via a push notification 72%increase in time spent for users visiting via a push notification +50%repeat visits within 3 months
  • 44. Code Time! 1. PWA - g.co/codelabs/pwa 2. Push Notifications - goo.gl/oFwPaV
  • 45. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
  • 46. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Enter Progressive Web Apps ● Fast loading ● One click away from accessing content ● Smooth animations and navigations ● Re-engages with push notifications ● Good experience on flaky network connections ● Consistent experience across browsers
  • 47. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Enabling app-like capabilities Service Worker ● Client-side proxy written in JavaScript ● Access device capabilities to allow your site to be “app like”
  • 48. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Enabling app-like capabilities Service Worker ● Client-side proxy written in JavaScript ● Access device capabilities to allow your site to be “app like” Web App Manifest ● Rich presence on user’s Android homescreen ● Launch in full-screen mode on Android ● Control the screen orientation ● Define “splash screen” launch, theme color for site { "short_name": "My Cool App", "name": "My Totally Cool Application", "icons": [ {"src": "launcher-icon-3x.png", "sizes": "192x192", "type": "image/png"}], "start_url": "index.html", "display": "standalone", "background_color" : "#aeaeae", "theme_color" : "#aeaeae", "orientation" : "landscape" }
  • 49. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Add to Homescreen & Full Screen ● User who visits 2x in a within five minutes will be prompted with “add to homescreen” ● One tap to add to homescreen ● Opens full screen - no URL bar
  • 50. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem A few tips before we start... ● Chapters 6 & 7 will take the longest ● Service Workers - Tips ○ Don't forget to change the cacheName ○ Use an incognito window to ensure a fresh start ○ Keep only one tab open at a time ○ chrome://serviceworker-internals & DevTools are your new best friends ○ Read More tips on Noter PWA Example
  • 51. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Let’s build it! g.co/codelabs/pwa Questions? Ask!
  • 53. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Misc Helpful links ● https://www.chromium.org/blink/serviceworker/service-worker-faq ● https://www.chromium.org/blink/serviceworker/getting-started
  • 56. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem Let’s do better.