Fast by Default: Near Instant Load Times at Scale with GatsbyJS

A presentation at GOTO Berlin 2019 in October 2019 in Berlin, Germany by Nicolas Goutay

Slide 1

Slide 1

Fast by Default Near instant load times at scale with GatsbyJS & /phacks

Slide 2

Slide 2

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Why performance matters

Slide 3

Slide 3

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Source: https://wpostats.com/

Slide 4

Slide 4

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time. THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Source: https://wpostats.com/

Slide 5

Slide 5

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time. Trainline reduced latency by 0.3 seconds across their funnel and customers spent an extra £8 million (~€9.1 million) a year. PERFORMANCE IS A LONG GAME & /phacks Source: https://wpostats.com/

Slide 6

Slide 6

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time. Trainline reduced latency by 0.3 seconds across their funnel and customers spent of the new,(~€9.1 fastermillion) FT.coma showed an Tests extra £8 million year. users were up to 30% more engaged— meaning more visits and more content being consumed. /phacks Source: https://wpostats.com/

Slide 7

Slide 7

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time. Trainline reduced latency by 0.3 seconds across their funnel and customers spent of the new,(~€9.1 fastermillion) FT.coma showed an Tests extra £8 million year. users were up to 30% more engaged— meaning more visits and more content BBC has seen that they lose an being consumed. additional 10% of users for every additional second it takes for their site to load /phacks Source: https://wpostats.com/

Slide 8

Slide 8

OUTLINE Performance matters for your business WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time. Trainline reduced latency by 0.3 seconds across their funnel and customers spent of the new,(~€9.1 fastermillion) FT.coma showed an Tests extra £8 million year. users were up to 30% more engaged— meaning more visits and more content BBC has seen that they lose an being consumed. additional 10% of users for every additional second it takes for their site to Rebuilding Pinterest pages for load performance resulted in a 15% increase in SEO traffic and a 15% increase in conversion rate to signup. Source: https://wpostats.com/

Slide 9

Slide 9

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks “Poor performance can, and does, lead to exclusion.”  Tim Kadlek

Slide 10

Slide 10

OUTLINE WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks The ethics of web performance

Slide 11

Slide 11

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Source: https://v8.dev/blog/cost-of-javascript-2019

Slide 12

Slide 12

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Source: https://blog.chriszacharias.com/page-weight-matters

Slide 13

Slide 13

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks “Performance good practices] have well-known benefits to usability, but are also acts of environmental protection.”  Cennydd Bowles, Future Ethics

Slide 14

Slide 14

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks 🐌 Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 15

Slide 15

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME 🐌 “I need to buy a new phone” & /phacks Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 16

Slide 16

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks 🔋 Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 17

Slide 17

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME 🔋 “My battery does not last a full day anymore” & /phacks Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 18

Slide 18

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks ♻ Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 19

Slide 19

OUTLINE The ethics of web performance WHY PERFORMANCE MATTERS THE BUSINESS STANDPOINT THE ETHICS OF WEB PERFORMANCE AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME ♻ Web Performance is not a zero-sum game & /phacks Source: https://timkadlec.com/remembers/20190109-the-ethics-of-performance/

Slide 20

Slide 20

Nicolas Goutay Web Performance Evangelist  Theodo Twitter: @phacks & /phacks

Slide 21

Slide 21

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks An oral history of web development

Slide 22

Slide 22

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks At the beginning, there was static (1991–)

Slide 23

Slide 23

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks At the beginning, there was static (1991–) hey could you pass me that index.html file you got there?

Slide 24

Slide 24

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT hey could you pass me that index.html file you got there? sure thing there you go A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & At the beginning, there was static (1991–) /phacks

Slide 25

Slide 25

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB At the beginning, there was static (1991–) hey could you pass me that index.html file you got there? DEVELOPMENT sure thing there you go A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks thanks

Slide 26

Slide 26

OUTLINE At the beginning, there was static (1991–) WHY PERFORMANCE MATTERS hey could you pass me that index.html file you got there? AN ORAL HISTORY OF WEB DEVELOPMENT sure thing there you go A HISTORY RENDERING ON THE WEB thanks THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME Pros & /phacks 👍 Dead simple 👍 Super fast

Slide 27

Slide 27

OUTLINE At the beginning, there was static (1991–) WHY PERFORMANCE MATTERS hey could you pass me that index.html file you got there? AN ORAL HISTORY OF WEB DEVELOPMENT sure thing there you go A HISTORY RENDERING ON THE WEB thanks THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Pros Cons 👍 Dead simple 👍 Super fast 👎 Not dynamic

Slide 28

Slide 28

OUTLINE At the beginning, there was static (1991–) WHY PERFORMANCE MATTERS hey could you pass me that index.html file you got there? AN ORAL HISTORY OF WEB DEVELOPMENT sure thing there you go A HISTORY RENDERING ON THE WEB thanks THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Pros Cons 👍 Dead simple 👍 Super fast 👎 Not dynamic Used by 🦖 The very first web page ⚙ Hugo, Jekyll…

Slide 29

Slide 29

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Server Rendering (late 1990s–)

Slide 30

Slide 30

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Server Rendering (late 1990s–) hey i would like to read the latest comments on that article

Slide 31

Slide 31

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT hey i would like to read the latest comments on that article yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & Server Rendering (late 1990s–) /phacks

Slide 32

Slide 32

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT hey i would like to read the latest comments on that article yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & Server Rendering (late 1990s–) /phacks

Slide 33

Slide 33

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Server Rendering (late 1990s–) hey i would like to read the latest comments on that article yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks here they are

Slide 34

Slide 34

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Server Rendering (late 1990s–) hey i would like to read the latest comments on that article yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS here they are PERFORMANCE IS A LONG GAME thanks & /phacks

Slide 35

Slide 35

Server Rendering (late 1990s–) OUTLINE WHY PERFORMANCE MATTERS hey i would like to read the latest comments on that article AN ORAL HISTORY OF WEB DEVELOPMENT yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS here they are PERFORMANCE IS A LONG GAME thanks Pros & /phacks 👍 First Paint is interactive 👍 Does not depend on user’s device

Slide 36

Slide 36

Server Rendering (late 1990s–) OUTLINE WHY PERFORMANCE MATTERS hey i would like to read the latest comments on that article AN ORAL HISTORY OF WEB DEVELOPMENT yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS here they are PERFORMANCE IS A LONG GAME thanks Pros & /phacks 👍 First Paint is interactive 👍 Does not depend on user’s device Cons 👎 Slow First Paint 👎 App does not feel “snappy”

Slide 37

Slide 37

Server Rendering (late 1990s–) OUTLINE WHY PERFORMANCE MATTERS hey i would like to read the latest comments on that article AN ORAL HISTORY OF WEB DEVELOPMENT yeah give me a few seconds to look them up A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS here they are PERFORMANCE IS A LONG GAME thanks Pros & /phacks 👍 First Paint is interactive 👍 Does not depend on user’s device Cons 👎 Slow First Paint 👎 App does not feel “snappy” Used by ⚙ Django, Rails, Symfony…

Slide 38

Slide 38

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Client-Side Rendering (2014–)

Slide 39

Slide 39

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Client-Side Rendering (2014–) oooh this trip-planning app looks cool can i use it?

Slide 40

Slide 40

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT oooh this trip-planning app looks cool can i use it? you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & Client-Side Rendering (2014–) /phacks

Slide 41

Slide 41

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Client-Side Rendering (2014–) oooh this trip-planning app looks cool can i use it? you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks wow rude but ok

Slide 42

Slide 42

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Client-Side Rendering (2014–) oooh this trip-planning app looks cool can i use it? you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks wow rude but ok

Slide 43

Slide 43

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Client-Side Rendering (2014–) oooh this trip-planning app looks cool can i use it? you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS wow rude but ok PERFORMANCE IS A LONG GAME it works! & /phacks

Slide 44

Slide 44

Client-Side Rendering (2014–) OUTLINE WHY PERFORMANCE MATTERS oooh this trip-planning app looks cool can i use it? AN ORAL HISTORY OF WEB DEVELOPMENT you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB wow rude but ok THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME it works! Pros & /phacks 👍 App-like User experience 👍 API-first Dev experience

Slide 45

Slide 45

Client-Side Rendering (2014–) OUTLINE WHY PERFORMANCE MATTERS oooh this trip-planning app looks cool can i use it? AN ORAL HISTORY OF WEB DEVELOPMENT you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB wow rude but ok THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME it works! Pros & /phacks 👍 App-like User experience 👍 API-first Dev experience Cons 👎 Slow First Paint 👍 Slow Time to Interactive

Slide 46

Slide 46

Client-Side Rendering (2014–) OUTLINE WHY PERFORMANCE MATTERS oooh this trip-planning app looks cool can i use it? AN ORAL HISTORY OF WEB DEVELOPMENT you know what why don’t you take all the raw materials and figure it out yourself A HISTORY RENDERING ON THE WEB wow rude but ok THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME it works! Pros & /phacks 👍 App-like User experience 👍 API-first Dev experience Cons 👎 Slow First Paint 👍 Slow Time to Interactive Used by ⚙ Angular, React, Vue…

Slide 47

Slide 47

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks CSR with Rehydration (2016–)

Slide 48

Slide 48

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks CSR with Rehydration (2016–) i heard they worked on performance on this trip-planning app

Slide 49

Slide 49

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT i heard they worked on performance on this trip-planning app they did! here it is: i’m building the page very quicky… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & CSR with Rehydration (2016–) /phacks

Slide 50

Slide 50

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT i heard they worked on performance on this trip-planning app they did! here it is: i’m building the page very quicky… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & CSR with Rehydration (2016–) /phacks

Slide 51

Slide 51

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT CSR with Rehydration (2016–) i heard they worked on performance on this trip-planning app they did! here it is: i’m building the page very quicky… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile!

Slide 52

Slide 52

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks CSR with Rehydration (2016–) and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile!

Slide 53

Slide 53

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB CSR with Rehydration (2016–) and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks

Slide 54

Slide 54

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB CSR with Rehydration (2016–) and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks

Slide 55

Slide 55

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB CSR with Rehydration (2016–) and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks and now click around!

Slide 56

Slide 56

CSR with Rehydration (2016–) OUTLINE WHY PERFORMANCE MATTERS and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! AN ORAL HISTORY OF WEB DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS and now click around! PERFORMANCE IS A LONG GAME Pros & /phacks 👍 App-like User experience 👍 Fast First Paint

Slide 57

Slide 57

CSR with Rehydration (2016–) OUTLINE WHY PERFORMANCE MATTERS and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! AN ORAL HISTORY OF WEB DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS and now click around! PERFORMANCE IS A LONG GAME Pros & /phacks 👍 App-like User experience 👍 Fast First Paint Cons 👎 Slow Time to Interactive 👎 Possible “rage clicks”

Slide 58

Slide 58

CSR with Rehydration (2016–) OUTLINE WHY PERFORMANCE MATTERS and now send you the raw materials to build it yourself BUT now you have a nice picture of the finished page to look at meanwhile! AN ORAL HISTORY OF WEB DEVELOPMENT sweet! i can see the content first… A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS and now click around! PERFORMANCE IS A LONG GAME Pros & /phacks 👍 App-like User experience 👍 Fast First Paint Cons 👎 Slow Time to Interactive 👎 Possible “rage clicks” Used by ⚙ NextJS, NuxtJS

Slide 59

Slide 59

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks CSR with Prerendering (2018–)

Slide 60

Slide 60

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks

Slide 61

Slide 61

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request!

Slide 62

Slide 62

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks no change for you though, you still get your picture and the raw materials

Slide 63

Slide 63

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… & /phacks

Slide 64

Slide 64

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… & /phacks

Slide 65

Slide 65

OUTLINE CSR with Prerendering (2018–) WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… and now click around! & /phacks

Slide 66

Slide 66

CSR with Prerendering (2018–) OUTLINE WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… and now click around! Pros & /phacks 👍 App-like User experience 👍 Fast First Paint 👍 No need for a backend

Slide 67

Slide 67

CSR with Prerendering (2018–) OUTLINE WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… and now click around! Pros & /phacks 👍 App-like User experience 👍 Fast First Paint 👍 No need for a backend Cons 👎 Dynamic content not available in the preview

Slide 68

Slide 68

CSR with Prerendering (2018–) OUTLINE WHY PERFORMANCE MATTERS hmm they worked on performance yet again? AN ORAL HISTORY OF WEB yeah they figured out that content didn’t change much so now we build only once, when content changes. No more rebuilding on each request! DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS no change for you though, you still get your picture and the raw materials PERFORMANCE IS A LONG GAME sweet! i can see the content first… and now click around! Pros & /phacks 👍 App-like User experience 👍 Fast First Paint 👍 No need for a backend Cons 👎 Dynamic content not available in the preview Used by ⚙ GatsbyJS, Vuepress

Slide 69

Slide 69

OUTLINE Rendering on the Web is a spectrum WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT A HISTORY RENDERING ON THE WEB THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks 😍 😍 😍 Source: https://developers.google.com/web/updates/2019/02/rendering-on-the-web

Slide 70

Slide 70

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks The promises of GatsbyJS

Slide 71

Slide 71

What is GatsbyJS? OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS Static Site Generators (SSGs) Progressive Web Apps PWAs) Jekyll, Hugo, Middleman React, Vue, Angular 😎 Build performant websites 📱 App-like, snappy experience 📟 Little to no backend 🏗 Easily reuse code & components 🎨 Off-the-shelf themes ✨ Build interactive websites WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks

Slide 72

Slide 72

OUTLINE What is GatsbyJS? WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT Static Progressive Web Apps GatsbyJS THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME 😎 Build performant websites 📟 Little to no backend 🎨 Off-the-shelf themes 📱 App-like, snappy experience 🏗 Easily reuse code & components ✨ Build interactive websites & /phacks

Slide 73

Slide 73

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks What is GatsbyJS?

Slide 74

Slide 74

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks What is GatsbyJS?

Slide 75

Slide 75

OUTLINE What is GatsbyJS? WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks The SSG part relies on NodeJS and GraphQL

Slide 76

Slide 76

OUTLINE What is GatsbyJS? WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks The SSG part relies on NodeJS and GraphQL The SPA part is a fully-featured React application

Slide 77

Slide 77

OUTLINE What is GatsbyJS? WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks 🛠 Static or weakly dynamic data at build time

Slide 78

Slide 78

OUTLINE What is GatsbyJS? WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS 🛠 Static or weakly dynamic data at build time WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME 0 Highly dynamic data at runtime & /phacks

Slide 79

Slide 79

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Any datasource

Slide 80

Slide 80

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB Any datasource DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks GraphQL interface

Slide 81

Slide 81

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB Any datasource DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS GraphQL interface PERFORMANCE IS A LONG GAME React components & /phacks

Slide 82

Slide 82

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 83

Slide 83

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 84

Slide 84

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks https://phacks.github.io/showcase-for-discogs/ https://github.com/phacks/showcase-for-discogs

Slide 85

Slide 85

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks https://phacks.github.io/showcase-for-discogs/ https://github.com/phacks/showcase-for-discogs

Slide 86

Slide 86

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 87

Slide 87

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 88

Slide 88

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 89

Slide 89

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks Gatsby as a Static Site Generator: Gatsby Plugins

Slide 90

Slide 90

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks 🔌 Custom plugins

Slide 91

Slide 91

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT 🔌 Custom plugins 🔐 Public and private APIs. THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks

Slide 92

Slide 92

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT 🔌 Custom plugins 🔐 Public and private APIs. ⏱ A few hours (but your mileage may vary) THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks

Slide 93

Slide 93

OUTLINE Gatsby as a Static Site Generator: Gatsby Plugins WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT 🔌 Custom plugins 🔐 Public and private APIs. ⏱ A few hours (but your mileage may vary) THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks https://github.com/phacks/gatsby-source-meetup/ https://www.gatsbyjs.org/docs/creating-a-source-plugin/

Slide 94

Slide 94

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks “I designed Gatsby with the goal that when using it, it’d be really hard to build a slow site”  Kyle Matthews, GatsbyJS creator

Slide 95

Slide 95

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to

Slide 96

Slide 96

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks 📸 Automatic image optimizations

Slide 97

Slide 97

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks 📸 Automatic image optimizations ✂ Built-in code and data splitting

Slide 98

Slide 98

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME & /phacks 📸 Automatic image optimizations ✂ Built-in code and data splitting 🔗 Link prefetching

Slide 99

Slide 99

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME 📸 Automatic image optimizations ✂ Built-in code and data splitting 🔗 Link prefetching 🏎 Native lazy-loading & /phacks

Slide 100

Slide 100

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME 📸 Automatic image optimizations ✂ Built-in code and data splitting 🔗 Link prefetching 🏎 Native lazy-loading 🏗 Inlined critical CSS & /phacks

Slide 101

Slide 101

OUTLINE Gatsby as a React Compiler: Performance optimizations WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT GatsbyJS implements state-of-the-art performance optimizations so that you don’t have to THE PROMISES OF GATSBYJS WHAT IS GATSBYJS? GATSBY PLUGINS PERFORMANCE OPTIMIZATIONS PERFORMANCE IS A LONG GAME 📸 Automatic image optimizations ✂ Built-in code and data splitting 🔗 Link prefetching 🏎 Native lazy-loading 🏗 Inlined critical CSS 8 Offline support with Service Workers & /phacks

Slide 102

Slide 102

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME & /phacks Performance is a long game

Slide 103

Slide 103

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 104

Slide 104

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS Google Ad Manager costs 450ms PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 105

Slide 105

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME Google Ad Manager costs 450ms The YouTube video player costs 700ms THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 106

Slide 106

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME Google Ad Manager costs 450ms The YouTube video player costs 700ms THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & Google Maps widget costs 200ms /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 107

Slide 107

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME Google Ad Manager costs 450ms The YouTube video player costs 700ms THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Google Maps widget costs 200ms HotJar session replay costs 90ms & /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 108

Slide 108

OUTLINE Third party scripts have an impact WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME Google Ad Manager costs 450ms The YouTube video player costs 700ms THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Google Maps widget costs 200ms HotJar session replay costs 90ms Facebook Share widget costs 160ms & /phacks Average mobile impact. Source & methodology: https://www.thirdpartyweb.today/

Slide 109

Slide 109

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT “Every 100KB of compressed JS results in a 34 second increase in Time to Interactive on a 3G connection”  Paul Calvano THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & JavaScript bloat has an impact /phacks

Slide 110

Slide 110

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT JavaScript bloat has an impact “Every 100KB of compressed JS results in a 34 second increase in Time to Interactive on a 3G connection”  Paul Calvano THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Source: https://twitter.com/paulcalvano/status/1179192810727186433

Slide 111

Slide 111

OUTLINE Open Source performance auditing tools WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks WebPageTest

Slide 112

Slide 112

OUTLINE Open Source performance auditing tools WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB WebPageTest DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Tests on real devices (desktop, mobile) in several locations & /phacks

Slide 113

Slide 113

OUTLINE Open Source performance auditing tools WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB WebPageTest DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Tests on real devices (desktop, mobile) in several locations Access to filmstrips and videos of the website’s loading & /phacks

Slide 114

Slide 114

OUTLINE Open Source performance auditing tools WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB WebPageTest DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Tests on real devices (desktop, mobile) in several locations Access to filmstrips and videos of the website’s loading & /phacks Full Waterfall graph and HTTP requests infos to dive deeper

Slide 115

Slide 115

Performance audit automation OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks 🔬 Recurrent and automated

Slide 116

Slide 116

Performance audit automation OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME 🔬 Recurrent and automated 🗺 Represent the diversity of our users THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks

Slide 117

Slide 117

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Enters Falco

Slide 118

Slide 118

Falco, our WebPageTest runner OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks 🔬 Multiple times a day in many conditions

Slide 119

Slide 119

Falco, our WebPageTest runner OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks 🔬 Multiple times a day in many conditions 📈 Evolution of performance metrics

Slide 120

Slide 120

Falco, our WebPageTest runner OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks 🔬 Multiple times a day in many conditions 📈 Evolution of performance metrics 👥 Invite the whole team

Slide 121

Slide 121

Falco, our WebPageTest runner OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS 🔬 Multiple times a day in many conditions 📈 Evolution of performance metrics 👥 Invite the whole team ENTERS FALCO 🗺 & /phacks Individual URLs or entire user journeys

Slide 122

Slide 122

Falco, our WebPageTest runner OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS 🔬 Multiple times a day in many conditions 📈 Evolution of performance metrics 👥 Invite the whole team ENTERS FALCO & /phacks 🗺 Individual URLs or entire user journeys 📸 Compare WebPageTest results between audits

Slide 123

Slide 123

OUTLINE Falco, our WebPageTest runner WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks ❤ Falco will be Open Source

Slide 124

Slide 124

OUTLINE Falco, our WebPageTest runner WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING ❤ Falco will be Open Source OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO Starting now & /phacks

Slide 125

Slide 125

OUTLINE WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks Falco, our WebPageTest runner

Slide 126

Slide 126

OUTLINE Falco, our WebPageTest runner WHY PERFORMANCE MATTERS AN ORAL HISTORY OF WEB DEVELOPMENT THE PROMISES OF GATSBYJS PERFORMANCE IS A LONG GAME THE IMPORTANCE OF MONITORING OPEN SOURCE PERFORMANCE AUDIT TOOLS ENTERS FALCO & /phacks https://github.com/theodo/falco https://getfal.co

Slide 127

Slide 127

Thank you! Slides will be available later today on my Twitter: @phacks Fonts used for this presentation: • Faune (headers) by Alice Savoie/CNAP • Overpass (outline) by Delve Fonts • Inter (body copy) by Rasmus Andersson • IBM Plex Mono (monospace) by IBM & /phacks