The Future of the Web
@robertnyman
Willkommen nach
Deutschland
I'm from Sweden
Credit: https://www.flickr.com/photos/stephenbove/184201987
I'm from Sweden
Credit: https://www.pinterest.com/pin/313352086545358825/
Web life
Web developer since
1999
Mozilla community
from 2009
Mozilla employee
2011-2014
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The web as of today
Web declared dead in 2010
Web declared dead in 2010
Web very much alive in 2016!
Nov 2015, 800 Million users
May 2016, 1 Billion users
The web is dead?
Apps
Credit: http://imgs.xkcd.com/comics/app.png
Apps
Web is all browsers
The web & Chrome
Web as of today => Progressive Web Apps
Instant Loading
Service Workers
Both for offline and poor

network situations
Add to Home Screen
Shortcut on Homescreen
Install banners
Push Notifications
Re-engagement
Relevant, timely, and contextual
notifications
Fast
Smooth animations, scrolling 

and navigation
Secure
HTTPS
Secure
Responsive
Adapting content to any screen size
Service workers allow
for offline caching
and instant loading.
Smooth animations,
scrolling and
navigations keep the
experience silky
smooth.
Push notifications
and add to
homescreen help
users re-engage.
HTTPS secures the
connection between you
and your users.
Reliable Fast Engaging Secure
Progressive Web Apps, today
We've come a long way
The web is almighty powerful
It's just the beginning
What we do now is the beginning
What's needed to play
Table stakes
What about the future?
Credit: https://www.flickr.com/photos/mssarakelly/9422242223
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Things we'll talk about today
Knowing who the user is
Credentials Management
Paying for things on the web
Connecting with hardware
Physical Web
WebVR
Knowing who the user is
Credit: https://commons.wikimedia.org/wiki/File:Steal_password.jpg
Title Text
Password
Forgot password?
Login
LOGIN
Don’t have an account? Sign up!
Did I use that?
$%&§”%$?!
Hm?
Most likely!
Yes, but which one?Email address
It's hard to type on a mobile device
Most popular password in 2015
123456
2nd most popular password in 2015
password
Smart Lock for passwords
sign-ins assisted per month
8 billion
Sign Up Form
<form id="signup" action="signup.php" method="post">

<input name="display-name" type="text">

<input name="phone" type="text">
<input name="email" type="text">

<input name="password" type="password">
<input type="submit" value="Sign Up!">

</form>
Friendly name?
Identifier?
Idunno?
Sign Up Form
<form id="signup" action="signup.php" method="post">

<input name="display-name" type="text" autocomplete="name">

<input name="phone" type="text" autocomplete="home tel">
<input name="email" type="text" autocomplete="username">

<input name="password" type="password">
<input type="submit" value="Sign Up!">

</form>
Aha!
Sign In Form
<form id="login" action="login.php" method="post">
<input name="username" type="text" autocomplete="username">

<input name="password" type="password" autocomplete="current-password">
<input type="submit" value="Sign In!">

</form>
Sign Up Form
<form id="signup" action="signup.php" method="post">

<input name="display-name" type="text" autocomplete="name">

<input name="phone" type="text" autocomplete="home tel">
<input name="email" type="text" autocomplete="username">

<input name="password" type="password" autocomplete="new-password">
<input type="submit" value="Sign Up!">

</form>
password
auto-generated password
7nUvA8jyowEk44
the Credentials Management API
Credit: https://commons.wikimedia.org/wiki/File:Michael_de_la_Force_Leaders_Magazine_Press_Credentials_2013.jpg
Automatic Sign-in
navigator.credentials.get({

"password": true, "unmediated":
true

}).then(c => {
if (!c) return;
// Hooray, we have a credential!
signInToYourApplication(c);
});
Automatic Sign-in
Chrome will offer automatic sign-in if and only if:
✓Automatic sign-in is enabled
✓Only one credential is saved for the site
Automatic Sign-in
✓navigator.credentials is
restricted to secure contexts

✓Passwords are not directly
exposed to JavaScript

✓fetch() will only submit
credentials to same-site endpoint
function signInToYourApplication(c) {

fetch("/signin", {
"method": "POST", "credentials": c
}).then(r => {
if (r.status == 200)
renderSignedInExperience(r);
else
renderUsefulErrorMessage();
});
}
One-tap Sign-in
navigator.credentials.get({

"password": true
}).then(c => {
if (!c) return;
// Hooray, we have a credential!
signInToYourApplication(c);
});
Storing credentials
var f =
document.querySelector("#form");
var c = new PasswordCredential(f);
navigator.credentials.store(c)
.then(_ => {
// ...
});
Federated log-ins
var c = new FederatedCredential({
"id": "username",
"provider": "https://
accounts.google.com"
});
navigator.credentials.store(c)
.then(_ => {
// ...
});
navigator.credentials
.requireUserMediation()
.then(_ => {
// Sign the user
out.
});
Logging out
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Paying for things on the web
Credit: http://www.publicdomainpictures.net/view-image.php?image=149197
66%
of purchases on
mobile are on web
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
66%Fewer conversions on
mobile websites vs. desktop
Have you ever
abandoned a purchase
because of the
checkout form?
Manual Tedious Slow N-taps
Checkout forms today
Autofill
Fill web forms 

with a single click
Card and address
saved to Chrome
Automatic form
detection
95% ACCURACY
Form filled
automatically
How Autofill works
XYZ
25 Increase in conversion
rate from Autofill
%
Manual Tedious Slow N-taps
Checkout with Autofill
Automatic Simple
Imagine a world

without forms...
PaymentRequest
A W3C API to eliminate
checkout forms for users and
standardize payment
collection for sites
Designing PaymentRequest at W3C
Cross-browser
Designing PaymentRequest at W3C
Cross-browser Open ecosystemCross-platform
N-tapsSlowManual Tedious
Checkout with PaymentRequest
Automatic Simple Fast 1-tap
new PaymentRequest(

[“visa“, “mastercard“, “amex“, “discover“], {

items: [

{

id: "basket", label: "Sub-total",

amount: { currencyCode: "USD", value: "55.00" }, // $55.00

},

{

id: "tax", label: "Sales Tax",

amount: { currencyCode: "USD", value: "5.00" }, // $5.00

},

{

id: "total", label: "Total excluding shipping",

amount: { currencyCode: "USD", value: "60.00" }, // $60.00

}

]

},

{ 

requestShipping: true 

}

).show().then(response => { /* process payment */ }).catch(error => { /* handle */ });
new PaymentRequest(

[“visa“, “mastercard“, “amex“, “discover“], {

items: [

{

id: "basket", label: "Sub-total",

amount: { currencyCode: "USD", value: "55.00" }, // $55.00

},

{

id: "tax", label: "Sales Tax",

amount: { currencyCode: "USD", value: "5.00" }, // $5.00

},

{

id: "total", label: "Total excluding shipping",

amount: { currencyCode: "USD", value: "60.00" }, // $60.00

}

]

},

{ 

requestShipping: true 

}

).show().then(response => { /* process payment */ }).catch(error => { /* handle */ });
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
var request = new PaymentRequest(

[“visa”, ..., “https://android.com/pay”], // add Android Pay as supported

{

items: [...]

},

{ 

requestShipping: true 

},

{
// add Android Pay application specific parameters

"https://android.com/pay": {

"gateway": "stripe",

"stripe:publishableKey": "put_your_stripe_publishable_key_here",

"stripe:version": "2015-10-16 (latest)"

}

}

);
PaymentRequest with
Autofill cards in
Chrome Dev Android
PaymentRequest
available in Chrome
Beta on mobile;
Android Pay
Support for all
platforms & 3rd party
payment apps
May 2016 Aug 2016 Early 2017
When can I use PaymentRequest?
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Connecting with hardware
Credit: Kenneth Rohde Christiansen
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The evolution of transfer rates
Wi-Fi (Mbps)
802.11: 2
802.11b: 11
802.11g: 54
802.11n: 135
Ethernet (Mbps)
802.3i: 10
802.3u: 100
802.3ab: 1000
802.3an: 10000
Bluetooth (Mbps)
1.1: 1
2.0: 3
3.0: 54
4.0: 0.3
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Demo time!
https://webbluetoothcg.github.io/demos/playbulb-candle/
Basic BLE terms to know...
“Central” device (my phone)
“Peripheral” device (candle)
GATT (Generic ATTribute profile)
var options = { filters: [{ services: [’battery_service’] }] };
navigator.bluetooth.requestDevice(options)
.then(device => {
console.log(device.name);
...
})
.catch(error => { console.log(error); });
var options = { filters: [{ services: [’battery_service’] }] };
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => { ... })
.catch(error => { console.log(error); });
var options = { filters: [{ services: [’battery_service'] }] };
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService(’battery_service’))
.then(service => service.getCharacteristic(’battery_level’))
.then(characteristic => characteristic.readValue())
.then(value => {
console.log(’Battery percentage is ’ + value.getUint8(0));
})
.catch(error => { console.log(error); });
var options = { filters: [{ services: [CANDLE_SERVICE_UUID] }],
optionalServices: ['battery_service'] };
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService(CANDLE_SERVICE_UUID))
.then(service => service.getCharacteristic(CANDLE_COLOR_UUID))
.then(characteristic => {
let data = [0x00, r, g, b, 0x05, 0x00, 0x01, 0x00];
return characteristic.writeValue(new Uint8Array(data));
})
.catch(error => { console.log(error); });
Android Developer Options
var options = { filters: [{ services: [CANDLE_SERVICE_UUID] }] };
navigator.bluetooth.requestDevice(options)
.then(device => device.gatt.connect())
.then(server => server.getPrimaryService(CANDLE_SERVICE_UUID))
.then(service =>
service.getCharacteristic(CANDLE_BLOW_NOTIFICATIONS_UUID))
.then(characteristic => {
characteristic.addEventListener(’characteristicvaluechanged’, blow);
return characteristic.startNotifications(); })
.catch(error => { console.log(error); });
function blow(event) { console.log(event.target.value); }
WebNFC
navigator.nfc.watch((message) => {
for (let record of message.data) {
let article =/[aeio]/.test(record.data.title) ? "an" : "a";
console.log(
`$(record.data.name) is $(article) $(record.data.title)`
);
}
}, { url: document.baseURI, recordType: "json" });
Danish hero Kenneth Christiansen - @kennethrohde
Generic Sensors
let sensor = new DirectTirePressureSensor({ position: "rear", side: "left" });
sensor.onchange = event => console.log(event.reading.pressure);
try { // No need to feature detect thanks to try..catch block.
let sensor = new GeolocationSensor({});
sensor.start();
sensor.onerror = error => gracefullyDegrade(error);
sensor.onchange = event => updatePosition(event.reading.coords);
} catch(error) {
gracefullyDegrade(error);
}
The Physical Web
http://www.physical-web.org
Credit: https://en.wikipedia.org/wiki/Spider_web
The Future of Progressive Web Apps - View Source conference, Berlin 2016
/* Awesomeness to come */
var referringDevice = navigator.bluetooth.referringDevice;
if (referringDevice) {
referringDevice.gatt.connect()
.then(server => { ... })
.catch(error => { console.log(error); });
}
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Virtual Reality, WebVR
WebVR API 1.0 progress!
Landing in browsers:
Firefox Nightly 2 weeks ago

Chrome later this year
Edge has begun development
Daydream
Daydream
https://aframe.io/
VR View
Oculus CEO & co-founder
Tell us what you need
Report bug

https://crbug.com
Feature status

https://chromestatus.com
Slack

https://goo.gl/jCWx5m
Videos

https://www.youtube.com/user/
ChromeDevelopers
@ChromiumDev
Credit: https://github.com/alrra/browser-logos
Working together on making the web better Credit: https://twitter.com/simonnricketts/
status/699198327338987520
The Future of the Web
Robert Nyman
robertnyman.com

nyman@google.com

Google
@robertnyman

More Related Content

PDF
The Future of the Web - Cold Front conference 2016
PDF
The Future of Progressive Web Apps - Google for Indonesia
PDF
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
PDF
Building for Your Next Billion - Google I/O 2017
PDF
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
PDF
Bruce Lawson: Progressive Web Apps: the future of Apps
PDF
Progressive Web Apps and the Windows Ecosystem [Build 2017]
PDF
The web - What it has, what it lacks and where it must go - keynote at Riga D...
The Future of the Web - Cold Front conference 2016
The Future of Progressive Web Apps - Google for Indonesia
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Building for Your Next Billion - Google I/O 2017
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Bruce Lawson: Progressive Web Apps: the future of Apps
Progressive Web Apps and the Windows Ecosystem [Build 2017]
The web - What it has, what it lacks and where it must go - keynote at Riga D...

What's hot (20)

PDF
Progressive web apps with polymer
PDF
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
PDF
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
PDF
Predictability for the Web
PDF
The Case for Progressive Web Apps
PDF
Offline-First Progressive Web Apps
PDF
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
PDF
Progressive Web App Challenges
PDF
PWA - The hidden stories about the future of the web
PDF
Cutting the Fat by Tiffany Conroy
PDF
Why Progressive Web Apps will transform your website
PDF
Codemotion Rome 2015 Bluemix Lab Tutorial
PDF
Dreamweaver CS6, jQuery, PhoneGap, mobile design
PPTX
That's crazy! how to build single page web apps
PPTX
Make mobile web apps rock
PDF
The Physical World meets the Web
PDF
Planning Your Progressive Web App
PDF
Responsive Images and Performance
PPTX
Future of web development
PPTX
10 things to make you a Great Mobile Web Developer
Progressive web apps with polymer
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
Predictability for the Web
The Case for Progressive Web Apps
Offline-First Progressive Web Apps
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
Progressive Web App Challenges
PWA - The hidden stories about the future of the web
Cutting the Fat by Tiffany Conroy
Why Progressive Web Apps will transform your website
Codemotion Rome 2015 Bluemix Lab Tutorial
Dreamweaver CS6, jQuery, PhoneGap, mobile design
That's crazy! how to build single page web apps
Make mobile web apps rock
The Physical World meets the Web
Planning Your Progressive Web App
Responsive Images and Performance
Future of web development
10 things to make you a Great Mobile Web Developer
Ad

Viewers also liked (13)

PDF
Introduction to Google Daydream
PPTX
Zacarias monsalbe educacion fisica
PDF
Grafico diario del dax perfomance index para el 08 03-2013
PDF
5 Secrets of Growth by Lincoln Murphy
PDF
5 Signs Your Business Is Suffering Because You Haven't Documented Your Busine...
PPT
The Psychology of Earlystage Investing
DOCX
Guia de estudio de la materia de ciencias de la comunicacion ii
PDF
Symantec Infographic: The psychology of trust in websites
PDF
柱梁箍筋自動化與 營建節能減碳
PPTX
Trulia American Dream Survey - Fall 2011
PDF
Contrataciones empleo con apoyo.
PDF
2014-04-05 - SPSPhilly - Authentication and Authorization
PPT
NLP meetup 2016.10.05 - Szabó Martina Katalin: Precognox
Introduction to Google Daydream
Zacarias monsalbe educacion fisica
Grafico diario del dax perfomance index para el 08 03-2013
5 Secrets of Growth by Lincoln Murphy
5 Signs Your Business Is Suffering Because You Haven't Documented Your Busine...
The Psychology of Earlystage Investing
Guia de estudio de la materia de ciencias de la comunicacion ii
Symantec Infographic: The psychology of trust in websites
柱梁箍筋自動化與 營建節能減碳
Trulia American Dream Survey - Fall 2011
Contrataciones empleo con apoyo.
2014-04-05 - SPSPhilly - Authentication and Authorization
NLP meetup 2016.10.05 - Szabó Martina Katalin: Precognox
Ad

Similar to The Future of Progressive Web Apps - View Source conference, Berlin 2016 (20)

PDF
The Future of the web
PDF
Future of the Web
PPTX
HTML5 on Mobile
PDF
Frontend development of the (current) future
PDF
Web fundamentals
PPTX
Frontend State of the union
PPTX
Frontend development of the (current) future
PDF
Speak the Web 15.02.2010
PPTX
Rest WebAPI with OData
PPTX
How to build Simple yet powerful API.pptx
PPTX
Rohit&kunjan
PDF
Modern Web Applications Utilizing HTML5 APIs
PDF
Frontend. Global domination.
PDF
Front-end. Global domination
PDF
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
PDF
- Webexpo 2010
PDF
HTML5 New and Improved
PDF
JavaScript APIs - The Web is the Platform
PPTX
Restful api
PDF
HTML5 - The 2012 of the Web - Adobe MAX
The Future of the web
Future of the Web
HTML5 on Mobile
Frontend development of the (current) future
Web fundamentals
Frontend State of the union
Frontend development of the (current) future
Speak the Web 15.02.2010
Rest WebAPI with OData
How to build Simple yet powerful API.pptx
Rohit&kunjan
Modern Web Applications Utilizing HTML5 APIs
Frontend. Global domination.
Front-end. Global domination
Petr Dvořák: Mobilní webové služby pohledem iPhone developera
- Webexpo 2010
HTML5 New and Improved
JavaScript APIs - The Web is the Platform
Restful api
HTML5 - The 2012 of the Web - Adobe MAX

More from Robert Nyman (20)

PDF
Have you tried listening?
PDF
Google tech & products
PDF
The web - What it has, what it lacks and where it must go - Istanbul
PDF
The web - What it has, what it lacks and where it must go
PDF
Google, the future and possibilities
PDF
Developer Relations in the Nordics
PDF
What is Developer Relations?
PDF
Android TV Introduction - Stockholm Android TV meetup
PDF
New improvements for web developers - frontend.fi, Helsinki
PDF
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
PDF
Google & gaming, IGDA - Helsinki
PDF
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
PDF
Streem - Water footprint, behavior and awareness
PDF
S tree model - building resilient cities
PDF
Firefox OS learnings & visions, WebAPIs - budapest.mobile
PDF
Five Stages of Development - Nordic.js
PDF
Five stages of development - at Vaimo
PDF
Five Stages of Development
PDF
What are you going to do with your life? Geek Meet Västerås
PDF
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Have you tried listening?
Google tech & products
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
Google, the future and possibilities
Developer Relations in the Nordics
What is Developer Relations?
Android TV Introduction - Stockholm Android TV meetup
New improvements for web developers - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
Google & gaming, IGDA - Helsinki
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Streem - Water footprint, behavior and awareness
S tree model - building resilient cities
Firefox OS learnings & visions, WebAPIs - budapest.mobile
Five Stages of Development - Nordic.js
Five stages of development - at Vaimo
Five Stages of Development
What are you going to do with your life? Geek Meet Västerås
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås

Recently uploaded (20)

PDF
Enhancing emotion recognition model for a student engagement use case through...
PPT
What is a Computer? Input Devices /output devices
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
CloudStack 4.21: First Look Webinar slides
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Hybrid model detection and classification of lung cancer
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Benefits of Physical activity for teenagers.pptx
DOCX
search engine optimization ppt fir known well about this
Enhancing emotion recognition model for a student engagement use case through...
What is a Computer? Input Devices /output devices
DP Operators-handbook-extract for the Mautical Institute
Group 1 Presentation -Planning and Decision Making .pptx
O2C Customer Invoices to Receipt V15A.pptx
Getting started with AI Agents and Multi-Agent Systems
CloudStack 4.21: First Look Webinar slides
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Tartificialntelligence_presentation.pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
A review of recent deep learning applications in wood surface defect identifi...
Developing a website for English-speaking practice to English as a foreign la...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
WOOl fibre morphology and structure.pdf for textiles
Hybrid model detection and classification of lung cancer
Hindi spoken digit analysis for native and non-native speakers
NewMind AI Weekly Chronicles – August ’25 Week III
Benefits of Physical activity for teenagers.pptx
search engine optimization ppt fir known well about this

The Future of Progressive Web Apps - View Source conference, Berlin 2016