Presented at Artifact Conference in Austin, Texas
If you have a website—particularly one that generates revenue for your organization—you need a Progressive Web App. So where do you begin? How do you decide which features of a Progressive Web App make sense for your users? What tools can make the process easier (or harder)? In this practical session, Jason will guide you through the key design decisions you’ll need to make about your Progressive Web App and how those decisions impact the scope of your project. He'll also teach you how to avoid common pitfalls and help you take full advantage of Progressive Web App technology.
7. How does the CEO even
know about progressive
web apps?
8. Cool. I’ve been wanting to play with
service workers… Maybe we can use
Vue.js here as well… I wonder if this
can be used as excuse to switch to
node js…
9.
10. How does the CEO even
know about progressive
web apps?
11.
12.
13. eXtra Electronics
• 12% click-through rate
• 100% more sales from users
arriving via web push
• 4x increase in re-engagement
Source: Google, http://bit.ly/2eqSf18
17. Original Definition by Frances Berriman and Alex Russell
Responsive
Fit any form factor. RWD FTW!
Connectivity Independent
Offline features thanks to service workers.
App-like interactions
App shell for apps navigation.
Fresh
Up-to-date thanks to service workers.
Safe
Served on HTTPS.
Discoverable
Manifest files identify them as apps.
Re-engageable
Push notifications bring people back to apps.
Installable
Can be installed to the home screen w/o app stores.
Linkable
Still part of the web—URLs still work.
Progressive
Use progressive enhancement for better experience.
26. PWA is a website that has been enhanced with:
{manifest}https service worker
Credit to Jeremy Keith for explicitly declaring a technical definition: https://adactio.com/journal/13098
28. web site web serverservice worker
service worker cache
29.
30. Storing things offline is what makes native
apps so fast. It is the primary reason to
download an app ahead of time.
31. Service workers give us control and
confidence that what we store will (likely)
still be there the next time someone visits.
32. And service workers don't require
someone to download an app BEFORE
they can use the app. The web continues
to be as frictionless as it has always been.
33. PWA is a website that has been enhanced with:
{manifest}https service worker
But PWAs can be much more…
36. The hype can be a turn off
https://twitter.com/elliotecweb/status/864070806569066497
37. The name isn’t for you and worrying about it is
distraction from just building things that work better for
everyone. The name is for your boss, for your investor,
for your marketeer.
—Frances Berriman, Naming Progressive Web Apps
40. If so, you would probably benefit from a PWA.
Does your organization have a website?
41. Does your organization make money on
your website via e-commerce,
advertising, or some other method?
If so, you definitely need a progressive web app.
44. Reach people who don’t have your native app
installed or are on a different device.
45. 8+ apps
5-7 apps
4 apps
3 apps
2 apps
1 app
0 apps 49%
13%
11%
8%
6%
7%
6%
U.S. smartphone users’ number of apps downloads per month
Source: Comscore 2016 U.S. Mobile App Report, http://bit.ly/2d27iPI
46. Average Android App Retention of Daily Active Users
Source: Quettra via Andrew Chen http://bit.ly/1Hq53AR
PercentageofUsersStillActive
0%
25%
50%
75%
100%
Days Since App Install
0 1 3 7 14 30 60 90
49. Your website is often a
customer’s first interaction
with your company.
A better web experience will likely mean
more revenue and more native app installs.
72. Offline InteractivityCache for Perf Only Offline
Native App Stores
Website with Perf
Improvements
Full Screen, App Shell
New APIs
No Add to Home Screen
Basic PWA
Feels Like An App
Installation and Discovery
No Push Notifications
Personalized and
Integrated Push
Push Notifications
Beyond PWAs
89. Adding a back button is harder than it seems
• Manage the browser history so back
button goes to right location.
• Back button in an app often implies
a hierarchy, not simply going to the
last screen you were on.
• Do you rearchitect your site to
create an app hierarchy?
90.
91. Where does this button go?
Does it do the same thing as
the browser back button?
Should
there be an
app back
button?
104. Should feeling like an app be the goal?
Should feeling
like an app be
your goal?
105. Feel Like an App
Website with
Performance
Improvements
Full screen, app
shell with native
design language
Minimal-ui
Standalone
System Fonts Fullscreen
Animation and Polish App Shell
Native Design
MORE COMPLEXLESS COMPLEX
122. PWAs are progressive because…
They promote a
progressive
relationship with
your users
First page
• Page loads fast normally
• Service worker installs after core content
• Service worker pre-fetches assets
• Assets explicitly cached Second page
• Page loads even faster because of cache
• App shell loading pattern?
User indicates interest
• Check to see if browser supports push
• Ask if user wants notifications
• If yes, ask browser for permission.
User responds to notification
• We can provide an improved experience
Browser detects engagement
• Asks user if they want to add to home screen
• Now app may have better experience
123. Installation and Discovery
No Add to
Home Screen
Native
App Stores
Manifest
Spiders find PWA
Manually submit PWA PhoneGap
Trusted Web Activity
MORE COMPLEXLESS COMPLEX
126. Offline Fallback Pages
Can Keep People
Engaged
• Trivago found that 67% of people
continue to browse the site when they
come back online.
Source: http://bit.ly/2GoXjCi
149. Beyond PWAs
Basic PWA Multiple New APIs
Autofill Support
AMP to PWA
Credential Management API
Camera, other sensors Payment Request API
AMP in PWA
MORE COMPLEXLESS COMPLEX
151. PWAs are progressive because… Progressive Roadmap
{manifest}https
Jul 13
Redesign launches
Better security with HTTPS
Faster site via HTTP/2
Better bookmarks via manifest
Oct 3
Faster pages
Offline fallback
It’s a PWA!
service worker
Oct 18
Offline pages
Offline indicator
Improved font loading
Nov 22
Push notifications
HTTP/2 Link Preload
Dec 7
Small tweaks
PWA announced
154. Offline
Interactivity
Cache for
Perf Only
Offline
Native App
Stores
Website with Perf
Improvements
Full Screen,
App Shell
New APIs
No Add to
Home Screen
Basic PWA
Feels Like An App
Installation and Discovery
No Push
Notifications
Personalized and
Integrated Push
Push Notifications
Beyond PWAs
165. Thank You!
White Blank Notebook by Tirachard Kumtanom
Woman Executive Holding Tablet by Pixabay
Schedule Planning by Startup Stock Photos
Hackers by Christopher Dombres
NSA by by Mario Antonio Pena Zapatería
Map Location Symbol by Tumisa
Smartphone on Bridge by Jeremy Levin
Hype by Kerry J
Instagram App on iPhone by Pixabay
Man in Fuzzy Hat by Gratisography
Southbank - Samsung Galaxy S8 (1) by TaylorHerring
Now THIS is comfort! by Garry Wilmore
Trojan Horse by Hsing Wei
Cold Snow Man Person
Asphalt Blur Car City by Pixabay
Woman Listening to Music by bruce mars
Woman and Dog by Tookapic
Focus by Mark Hunter
Person Holding Silver iPhone by rawpixel.com
MacBook Air Beside Painting by rawpixel.com
Android Phone by freestocks.org
Smart Watch by Oliur Rahman
Apple Office Internet iPad by Pixabay
Woman Jumping by Quang Anh Ha Nguyen
SEM by Pixabay
Legs on Chair by kaboompics.com
In Hiding by Taylor McBride
Medusa Kill Switch by Scott Hart
White Auto Gauge by Mikes Photos
Blue and Silver Stethoscope by Pixabay
Tortoise by Frans Van Heerden
iPhone Photo on Railroad Tracks by Kaique Rocha
database by ✦ Shmidt Sergey ✦ from the Noun Project
Cloud by Blackwoodmedia.com.au from the Noun Project
Responsive Design by Delwar Hossain from the Noun Project
cogs by Gregor Cresnar from the Noun Project
Special thanks to these fabulous people who graciously
shared their work under Creative Commons.