The time traveller’s guide to web technologies

A presentation at Nordic.js in October 2025 in Stockholm, Sweden by Phil Hawksworth

Slide 1

Slide 1

2nd October 2025 Nordic.js The time traveller’s guide to web technologies Phil Hawksworth he/him

Slide 2

Slide 2

17th September 2025

Slide 3

Slide 3

Any song

Slide 4

Slide 4

18th September 2025

Slide 5

Slide 5

Slide 6

Slide 6

Slide 7

Slide 7

18th September 2025

Slide 8

Slide 8

2nd October 2025 Nordic.js The time traveller’s guide to web technologies Phil Hawksworth he/him

Slide 9

Slide 9

10 Years s j . c i d Nor

Slide 10

Slide 10

10 Days JavaScr ipt

Slide 11

Slide 11

30 Years JavaScr ipt

Slide 12

Slide 12

30 Minutes Me

Slide 13

Slide 13

Reflect Consider Confess Many great talks Learn Party  NOT TO SCALE  Apply Heat death of the universe

Slide 14

Slide 14

b u H t i G Link Tw i t e dI n y k S Bl ue te r @ Phil Hawksworth.dev he/him Head of Developer Relations, Deno We b

Slide 15

Slide 15

In the beginning…

Slide 16

Slide 16

May 1995 Brendan Eich creates the first version of JavaScript https://cybercultural.com/p/1995-the-birth-of-javascript/

Slide 17

Slide 17

Evolve & e v o r p Im

Slide 18

Slide 18

December 1995 Netscape and Sun Microsystems announce JavaScript https://www.tech-insider.org/java/research/1995/1204.html

Slide 19

Slide 19

March 1996 Microsoft introduces JScript in Internet Explorer https://cybercultural.com/p/1996-microsoft-activates-the-internet-with-activex-jscript/

Slide 20

Slide 20

March 1996 Netscape Navigator 2.0 is released with JavaScript 1.0

Slide 21

Slide 21

Slide 22

Slide 22

Slide 23

Slide 23

if (document.layers) { // Do all the Netscape things } else { // Do all the Internet Explorer things }

Slide 24

Slide 24

June 1997 Netscape submits JavaScript to ECMA International

Slide 25

Slide 25

Technical Committees TC39 TC26 ECMAScript Acoustics

Slide 26

Slide 26

Technical Committees having completed their tasks TC14 ✓ Paper sizes TC34 ✓ Office devices

Slide 27

Slide 27

March 1999 Microsoft releases Internet Explorer 5

Slide 28

Slide 28

April 2001 The first JSON message is sent https://twobithistory.org/2017/09/21/the-rise-and-rise-of-json.html

Slide 29

Slide 29

June 2002 JSLint is introduced Ecosystem Enrichment https://web.archive.org/web/20180226015758/https://codekitapp.com/help/jslint/

Slide 30

Slide 30

September 2002 Mozilla releases Phoenix 0.1 to compete with Internet Explorer

Slide 31

Slide 31

January 2003 Apple introduces Safari and WebKit

Slide 32

Slide 32

April 2004 A beta version of Gmail is released

Slide 33

Slide 33

February 2005 Jesse James Garrett coins “AJAX” https://designftw.mit.edu/lectures/apis/ajax_adaptive_path.pdf

Slide 34

Slide 34

Slide 35

Slide 35

A confession https://unsplash.com/photos/a-man-holds-his-head-while-sitting-on-a-sofa-BuNWp1bL0nc

Slide 36

Slide 36

I adore JavaScript but I like to use as little of it as possible. And ideally, no less.  Phil Hawksworth, today (hoping we can still be friends)

Slide 37

Slide 37

WEBCONSOLE

Slide 38

Slide 38

Library and utility functions. document.getElementById(“some-id”);

Slide 39

Slide 39

Library and utility functions. function getById(id) { return document.getElementById(id) || null; }

Slide 40

Slide 40

Library and utility functions. function $(id) { return document.getElementById(id) || null; }

Slide 41

Slide 41

March 2006 John Resig pushes the first commits to jQuery https://github.com/jquery/jquery/commit/8a4a1edf047f2c272f663866eb7b5fcd644d65b3

Slide 42

Slide 42

jquery.com

Slide 43

Slide 43

Slide 44

Slide 44

Writing JavaScript should be fun — jQuery.com, 2006

Slide 45

Slide 45

An interactivity explosion

Slide 46

Slide 46

Flash vs HTML5

Slide 47

Slide 47

January 2007 The first Apple iPhone released Reach & Habitats

Slide 48

Slide 48

Slide 49

Slide 49

Slide 50

Slide 50

The way we interact with the UI all seems so obvious now

Slide 51

Slide 51

OMFG DEVICES @philhawksworth

Slide 52

Slide 52

Flash vs HTML5

Slide 53

Slide 53

Slide 54

Slide 54

! e ar We c WHY

Slide 55

Slide 55

Suddenly stakeholders gave a shit

Slide 56

Slide 56

Awareness and empathy

Slide 57

Slide 57

Play

Slide 58

Slide 58

Slide 59

Slide 59

PLEASE DON’T TAKE MY FLASH AWAY FROM ME! – My buddy, Steve

Slide 60

Slide 60

May 2008 Douglas Crockford publishes “JavaScript: The Good Parts”

Slide 61

Slide 61

Slide 62

Slide 62

May 2008 Google releases the Chrome browser https://googleblog.blogspot.com/2008/12/google-chrome-beta.html

Slide 63

Slide 63

January 2009 CommonJS is created (originally named ServerJS

Slide 64

Slide 64

March 2009 Ryan Dahl begins work on Node.js Reach & Habitats

Slide 65

Slide 65

https://www.youtube.com/watch?v=jo_B4LTHi3I&list=PPSV

Slide 66

Slide 66

April 2009 Oracle acquires Sun Microsystems https://www.oracle.com/corporate/pressrelease/oracle-buys-sun-042009.html

Slide 67

Slide 67

™ JavaScript

Slide 68

Slide 68

June 2009 The first commit on Express.js is created

Slide 69

Slide 69

August 2009 Jeff Atwood coins Atwood’s Law

Slide 70

Slide 70

Any application which can be written in javaScript, will eventually be written in JavaScript  Atwood’s Law

Slide 71

Slide 71

January 2010 npm 1.0 is released Ecosystem Enrichment

Slide 72

Slide 72

October 2010 AngularJS and Backbone.js are released m e t s y s o Ec t n e m Enrich

Slide 73

Slide 73

June 2011 Node.js is ported to Windows Reach & Habitats

Slide 74

Slide 74

October 2012 Microsoft makes TypeScript 0.8 available for the public m e t s y s o c E t n e m Enrich

Slide 75

Slide 75

May 2013 Facebook releases React Ecosystem t n e m h c i Enr

Slide 76

Slide 76

July 2013 Gulp is released Ecosystem Enrichment

Slide 77

Slide 77

Slide 78

Slide 78

Hipster tax

Slide 79

Slide 79

Slide 80

Slide 80

Over Engineered

Slide 81

Slide 81

Over Under Engineered

Slide 82

Slide 82

February 2014 Vue.js is released m e t s y s o Ec t n e m h c i r n E

Slide 83

Slide 83

October 2014 Meteor reaches 1.0 Ecosystem Enrichment

Slide 84

Slide 84

November 2014 Facebook launches Flow Ecosystem Enrichment

Slide 85

Slide 85

November 2014 Amazon announces AWS Lambda Reach & Habitats https://press.aboutamazon.com/2014/11/amazon-web-services-announces-aws-lambda

Slide 86

Slide 86

Serverless

Slide 87

Slide 87

Slide 88

Slide 88

Slide 89

Slide 89

Slide 90

Slide 90

Just write code

Slide 91

Slide 91

Just write code

Slide 92

Slide 92

July 2015 ECMAScript 6 is released ES2015 Evolve & e v o r p Im

Slide 93

Slide 93

March 2016 Azer Koculu removes Leftpad from npm

Slide 94

Slide 94

April 2016 Microsoft releases VSCode 1.0

Slide 95

Slide 95

I’m a user ’til I die.

Slide 96

Slide 96

I’m a user ’til I die.

Slide 97

Slide 97

I’m a user ’til I die.

Slide 98

Slide 98

I’m a user ’til I die.

Slide 99

Slide 99

I’m a user ’til I die.

Slide 100

Slide 100

Slide 101

Slide 101

I’m a user ’til I die.

Slide 102

Slide 102

I’m a user ’til I die.

Slide 103

Slide 103

I’m a for the time being.

Slide 104

Slide 104

September 2016 Angular Angular2 released

Slide 105

Slide 105

October 2016 Next.js 1.0 released

Slide 106

Slide 106

e ov m s g n i Some th Quickly e ov m s g n i Some th Slowly

Slide 107

Slide 107

March 2017 The initial commit for the Temporal proposal is created

Slide 108

Slide 108

Because…

Slide 109

Slide 109

Working with time and dates in JavaScript can be a massive pain in the arse  Brendan Eich ( citation needed )

Slide 110

Slide 110

March 2017 The initial commit for the Temporal proposal is created

Slide 111

Slide 111

April 2017 Prettier 1.0 released

Slide 112

Slide 112

September 2017 Facebook launches Yarn

Slide 113

Slide 113

September 2017 Cloudflare launches Cloudflare Workers s t a it b a H & h c a e R

Slide 114

Slide 114

June 2018 Ryan Dahl teases a new project in a talk about his regrets about Node

Slide 115

Slide 115

“node”.split(“”).sort().join(“”);

Slide 116

Slide 116

May 2020 JavaScript makes it into space with SpaceX Dragon Reach & Habitats

Slide 117

Slide 117

May 2020 Deno 1.0 released

Slide 118

Slide 118

September 2024 The legal battle against Oracle to #FreeJavaScript begins

Slide 119

Slide 119

javascript.tm

Slide 120

Slide 120

Slide 121

Slide 121

October 2024 Deno 2.0 released and I join Deno

Slide 122

Slide 122

So?

Slide 123

Slide 123

Heat death of the universe We’re not done

Slide 124

Slide 124

e v l o v E & e v o r p Im t a h t o d e W s t a it b a H & h c a e R Ecosystem Enrichment

Slide 125

Slide 125

! e ar We c WHY

Slide 126

Slide 126

™ We own JavaScript

Slide 127

Slide 127

We drive it forward

Slide 128

Slide 128

We use it to do incredible things

Slide 129

Slide 129

We can use it responsibly

Slide 130

Slide 130

We can use it whimsically

Slide 131

Slide 131

deno.com/blog/history-of-javascript A Brief History of JavaScript javascript.tm Open letter to Oracle bsky.app/profile/philhawksworth.dev Phil Hawksworth on Bluesky

Slide 132

Slide 132

Thanks. philhawksworth.dev findthat.at / time