SlideShare a Scribd company logo
1 of 91
Download to read offline
Chris Wilson

@cwilso
Google
Progressive Web Apps
vs.
Source: comScore Mobile Metrix, U.S., Age 18+, June 2015
13% 87%
Mobile web Apps
80%OF TIME SPENT IS IN
USERS’ TOP 3 APPS
Source: comScore Mobile Metrix, U.S., Age 18+, June 2015
ZERONUMBER OF APPS
AVERAGE USER
INSTALLS PER MONTH
Source: comScore Mobile Metrix, U.S., Age 18+, June 2015
Capability
Reach
Capability
Reach
Capability
Reach
are (a new level of) caring about
the quality of your user experience
Progressive Web Apps
Reliable
User experiences need to be...
Lie-Fi
Reliability means 

never showing the Downasaur
Reliable Fast
User experiences need to be...
of users abandon sites that take
longer than 3 seconds to load40%
Reliable Fast Engaging
User experiences need to be...
Full screen,
theming,
orientation, etc.
Push
notifications
Immersive Notifications
Engaging
Auto-adding to
Home Screen
Home Screen
https://wapo.com/pwa
https://wapo.com/pwa
`80ms
article page load time in 

the Progressive Web App
Poynter article
Reliable Fast Engaging
Progressive Web Apps are…
How do you get
started?
Focus on the User
Stay Secure
`
HTTPS: Secure connection
between site and users
The Cost of HTTPS
Certificate Search Ranking
Let’s Encrypt is a trademark of the Internet Security Research Group.
The Cost of HTTPS
Certificate Search Ranking
Search Ranking
Guidance
bit.ly/https-migration
Build a Service Worker
Web server
Service worker
Client side proxy 

(written in JavaScript)
Cache
Web server
Service Worker Life Cycle
• Adds app-like lifecycle to a page
• Wakes up only when the OS says
• Only responds to system events
Activated Error
Idle
Active Terminated
Install
Register
Service Worker Life Cycle
• Adds app-like lifecycle to a page
• Wakes up only when the OS says
• Only responds to system events
Activated Error
Idle
Active Terminated
Install
Register
Service Worker Life Cycle
• Adds app-like lifecycle to a page
• Wakes up only when the OS says
• Only responds to system events
Activated Error
Idle
Active Terminated
Install
Register
Service Worker Life Cycle
• Adds app-like lifecycle to a page
• Wakes up only when the OS says
• Only responds to system events
Activated Error
Idle
Active Terminated
Install
Register
is for the SECOND load.
Service Worker
Implementing a simple Service Worker
Register the Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(reg) {
console.log('Service Worker Registered', reg);
})
.catch(function(err) {
console.log('Error registering Service Worker', err);
});
}
Register the Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(reg) {
console.log('Service Worker Registered', reg);
})
.catch(function(err) {
console.log('Error registering Service Worker', err);
});
}
Activated Error
Idle
Active Terminated
Install
Register
Pre-fetch the App Resources
Pre-fetch the App Resources
var cacheName = 'app-shell-cache-v1';
var filesToCache = ['/', '/index.html', ...];
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(cacheName).then(function(cache) {
return cache.addAll(filesToCache);
}).then(function() {
return self.skipWaiting();
})
);
});
Pre-fetch the App Resources
var cacheName = 'app-shell-cache-v1';
var filesToCache = ['/', '/index.html', ...];
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(cacheName).then(function(cache) {
return cache.addAll(filesToCache);
}).then(function() {
return self.skipWaiting();
})
);
});
Activated Error
Idle
Active Terminated
Install
Register
Not Done Yet...
Add a fetch Event Handler
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
Add a fetch Event Handler
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
Add a fetch Event Handler
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
Add a fetch Event Handler
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
Activated Error
Idle
Active Terminated
Install
Register
Ready to Go!
control
YOU ARE IN
Caching strategies galore!
Engage Your Users
Add to
Home Screen
Add To Home Screen
Was Broken
Add To Home Screen
Was Broken
Required user interaction

Buried deep in menus
Add To Home Screen
Was Broken
Required user interaction

Buried deep in menus
Where would it start?

Dependent on bookmark
Add To Home Screen
Was Broken
Required user interaction

Buried deep in menus
Where would it start?

Dependent on bookmark
Would it work offline?

Users didn't expect offline
Add To Home Screen
Was Broken
<link rel="manifest" href="/manifest.json">
{
"name": "The Washington Post",
"short_name": "Wash Post",
"icons": [{
"src": "icon-48x48.png",
"sizes": "48x48",
"type": "image/png"
}, {...}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#000000",
"theme_color": "#000000"
}
manifest.json
{
"name": "The Washington Post",
"short_name": "Wash Post",
"icons": [{
"src": "icon-48x48.png",
"sizes": "48x48",
"type": "image/png"
}, {...}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#000000",
"theme_color": "#000000"
}
manifest.json
{
"name": "The Washington Post",
"short_name": "Wash Post",
"icons": [{
"src": "icon-48x48.png",
"sizes": "48x48",
"type": "image/png"
}, {...}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#000000",
"theme_color": "#000000"
}
manifest.json
{
"name": "The Washington Post",
"short_name": "Wash Post",
"icons": [{
"src": "icon-48x48.png",
"sizes": "48x48",
"type": "image/png"
}, {...}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#000000",
"theme_color": "#000000"
}
manifest.json
{
"name": "The Washington Post",
"short_name": "Wash Post",
"icons": [{
"src": "icon-48x48.png",
"sizes": "48x48",
"type": "image/png"
}, {...}],
"start_url": "/index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#000000",
"theme_color": "#000000"
}
`
Good, but what
about prompt to
install?
A Promise to the User
Consistent
Experience
Works
Offline
The User is
Engaged
`
Web Push 

Notifications
`
Web Push 

Notifications
The browser doesn’t need to be open!
`
`
38%

open rate
9x

more conversions on
previously abandoned carts
Built on Service Workers
example.com
/* ServiceWorker.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 /content.json HTTP/1.1
HOST example.com
GET /content.json HTTP/1.1
HOST example.com
GET /app.html HTTP/1.1
HOST example.com
Built on Service Workers
/* ServiceWorker.js */
onpush = function(event) {
var data = event.data.json();
var t = data.title;
var opt = {
body: data.body,
icon: data.icon,
tag: data.tag
};
self.registration
.showNotification(t, opt);
};
End Point
example.com
Stay Secure
Use a Service Worker
Engage Your Users
`
`


2x more
page views
74% increase
in time spent
`


2x more
page views
74% increase
in time spent
82% more
conversions on iOS
is progressive.
Progressive Web App
not the tech.
Focus on the user
Go build!
meow

More Related Content

What's hot

WWW:::Mechanize YAPC::BR 2008
WWW:::Mechanize YAPC::BR 2008WWW:::Mechanize YAPC::BR 2008
WWW:::Mechanize YAPC::BR 2008
mvitor
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.js
Robert Nyman
 

What's hot (20)

Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Presentation on Ember.js
Presentation on Ember.js Presentation on Ember.js
Presentation on Ember.js
 
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018
 
PWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPSPWA Roadshow Seoul - HTTPS
PWA Roadshow Seoul - HTTPS
 
Service workers are your best friends
Service workers are your best friendsService workers are your best friends
Service workers are your best friends
 
Fast Fashion… How Missguided revolutionised their approach to site performanc...
Fast Fashion… How Missguided revolutionised their approach to site performanc...Fast Fashion… How Missguided revolutionised their approach to site performanc...
Fast Fashion… How Missguided revolutionised their approach to site performanc...
 
WWW:::Mechanize YAPC::BR 2008
WWW:::Mechanize YAPC::BR 2008WWW:::Mechanize YAPC::BR 2008
WWW:::Mechanize YAPC::BR 2008
 
A year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMUA year with progressive web apps! #DevConMU
A year with progressive web apps! #DevConMU
 
The Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.jsThe Point of Vue - Intro to Vue.js
The Point of Vue - Intro to Vue.js
 
AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018
AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018
AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018
 
Ionic by Example
Ionic by ExampleIonic by Example
Ionic by Example
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.js
 
Api
ApiApi
Api
 
Take My Logs. Please!
Take My Logs. Please!Take My Logs. Please!
Take My Logs. Please!
 
Pundit
PunditPundit
Pundit
 
Attribute actions
Attribute actionsAttribute actions
Attribute actions
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing api
 
IconFonts
IconFontsIconFonts
IconFonts
 
Fast Fashion… How Missguided revolutionised their approach to site performanc...
Fast Fashion… How Missguided revolutionised their approach to site performanc...Fast Fashion… How Missguided revolutionised their approach to site performanc...
Fast Fashion… How Missguided revolutionised their approach to site performanc...
 

Viewers also liked

Viewers also liked (15)

Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Offline-First Progressive Web Apps
Offline-First Progressive Web AppsOffline-First Progressive Web Apps
Offline-First Progressive Web Apps
 
Progressive web apps - prepare your web for 2017 (Devfest Ukraine 2016)
Progressive web apps - prepare your web for 2017 (Devfest Ukraine 2016)Progressive web apps - prepare your web for 2017 (Devfest Ukraine 2016)
Progressive web apps - prepare your web for 2017 (Devfest Ukraine 2016)
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Turku &lt;3 Frontend - Progressive Web Apps, Web and Apps
Turku &lt;3 Frontend - Progressive Web Apps, Web and AppsTurku &lt;3 Frontend - Progressive Web Apps, Web and Apps
Turku &lt;3 Frontend - Progressive Web Apps, Web and Apps
 
Progressive Web Apps - Porque nativo no es significa mejor
Progressive Web Apps - Porque nativo no es significa mejorProgressive Web Apps - Porque nativo no es significa mejor
Progressive Web Apps - Porque nativo no es significa mejor
 
Progressive web apps
 Progressive web apps Progressive web apps
Progressive web apps
 
Introducción a las Progressive web apps
Introducción a las Progressive web appsIntroducción a las Progressive web apps
Introducción a las 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
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Why Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your BusinessWhy Progressive Web App is what you need for your Business
Why Progressive Web App is what you need for your Business
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 

Similar to Chris Wilson: Progressive Web Apps

Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NET
Mihir G.
 

Similar to Chris Wilson: Progressive Web Apps (20)

Building Progressive Web Apps for Windows devices
Building Progressive Web Apps for Windows devicesBuilding Progressive Web Apps for Windows devices
Building Progressive Web Apps for Windows devices
 
A Journey with React
A Journey with ReactA Journey with React
A Journey with React
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScript
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for Launch
 
Building an Appier Web - London Web Standards - Nov 2016
Building an Appier Web -  London Web Standards - Nov 2016Building an Appier Web -  London Web Standards - Nov 2016
Building an Appier Web - London Web Standards - Nov 2016
 
Building an Appier Web - Velocity Amsterdam 2016
Building an Appier Web - Velocity Amsterdam 2016Building an Appier Web - Velocity Amsterdam 2016
Building an Appier Web - Velocity Amsterdam 2016
 
The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
Developing Applications for WebOS
Developing Applications for WebOSDeveloping Applications for WebOS
Developing Applications for WebOS
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
 
V Legakis Presentation
V Legakis PresentationV Legakis Presentation
V Legakis Presentation
 
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
 
Week 8
Week 8Week 8
Week 8
 
Building Advanced Serverless Applications
Building Advanced Serverless ApplicationsBuilding Advanced Serverless Applications
Building Advanced Serverless Applications
 
Serverless Apps with AWS Step Functions
Serverless Apps with AWS Step FunctionsServerless Apps with AWS Step Functions
Serverless Apps with AWS Step Functions
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
 
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
 
Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NET
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
 

More from Danielle A Vincent (7)

Ola Gasidlo: Cool, What Now? I'm Offline
Ola Gasidlo: Cool, What Now? I'm OfflineOla Gasidlo: Cool, What Now? I'm Offline
Ola Gasidlo: Cool, What Now? I'm Offline
 
Lena Reinhard: Existing in Tech
Lena Reinhard: Existing in TechLena Reinhard: Existing in Tech
Lena Reinhard: Existing in Tech
 
Jeremy Keith: Resilience
Jeremy Keith: ResilienceJeremy Keith: Resilience
Jeremy Keith: Resilience
 
Dan Shappir: Things you can do in ES6 that can't be done in ES5
Dan Shappir: Things you can do in ES6 that can't be done in ES5Dan Shappir: Things you can do in ES6 that can't be done in ES5
Dan Shappir: Things you can do in ES6 that can't be done in ES5
 
Helen V. Holmes: Type is your Right
Helen V. Holmes: Type is your RightHelen V. Holmes: Type is your Right
Helen V. Holmes: Type is your Right
 
Tracy Osborn: Design for Non-Designers
Tracy Osborn: Design for Non-DesignersTracy Osborn: Design for Non-Designers
Tracy Osborn: Design for Non-Designers
 
Hadley Beeman: The State of the Web
Hadley Beeman: The State of the WebHadley Beeman: The State of the Web
Hadley Beeman: The State of the Web
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Chris Wilson: Progressive Web Apps