14th May 2026 JS Heroes The time traveller’s guide to web technologies Phil Hawksworth he/him

8 Years t i s i v t s a l e c n i S

30 Years JavaScr ipt

30 Minutes Me

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

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 Developer Relations, TBD We b

In the beginning…

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

Evolve & e v o r p Im

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

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

March 1996 Netscape Navigator 2.0 is released with JavaScript 1.0

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

June 1997 Netscape submits JavaScript to ECMA International

Technical Committees TC39 TC26 ECMAScript Acoustics

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

March 1999 Microsoft releases Internet Explorer 5

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

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

September 2002 Mozilla releases Phoenix 0.1 to compete with Internet Explorer

January 2003 Apple introduces Safari and WebKit

April 2004 A beta version of Gmail is released

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

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

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)

WEBCONSOLE

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

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

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

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

jquery.com

Writing JavaScript should be fun — jQuery.com, 2006

An interactivity explosion

Flash vs HTML5

January 2007 The first Apple iPhone released Reach & Habitats https://www.apple.com/newsroom/2007/01/09Apple-Reinvents-the-Phone-with-iPhone

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

OMFG DEVICES @philhawksworth

Flash vs HTML5

! e ar We c WHY

Suddenly, stakeholders gave a shit

Awareness and empathy

Play

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

May 2008 Douglas Crockford publishes “JavaScript: The Good Parts” https://www.oreilly.com/library/view/javascript-the-good/9780596517748

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

January 2009 CommonJS is created (originally named ServerJS

March 2009 Ryan Dahl begins work on Node.js Reach & Habitats https://github.com/nodejs/node/blob/1afe6d26dbcf76de15df7e2c8fc3aadbbb8b117d/README

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

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

™ JavaScript

javascript.tm

June 2009 The first commit on Express.js is created https://github.com/expressjs/express/commit/9998490f93d3ad3d56c00d23c0aa13fac41c3f6b

August 2009 Jeff Atwood coins Atwood’s Law

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

January 2010 npm 1.0 is released Ecosystem Enrichment https://nodejs.org/en/blog/npm/npm-1-0-released

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

June 2011 Node.js is ported to Windows Reach & Habitats https://nodejs.org/en/blog/uncategorized/porting-node-to-windows-with-microsofts-help

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 https://devblogs.microsoft.com/typescript/announcing-typescript-0-8-1

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

July 2013 Gulp is released Ecosystem Enrichment

Hipster tax

Over Engineered

Over Under Engineered

February 2014 Vue.js is released m e t s y s o Ec t n e m h c i r n E https://github.com/vuejs/vue/releases/tag/v0.10.0

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

Serverless

Just write code

Just write code

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

March 2016 Azer Koculu removes Leftpad from npm

What code are we shipping?

April 2016 Microsoft releases VSCode 1.0

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user ’til I die.

I’m a user for the time being.

September 2016 Angular Angular2 released http://angularjs.blogspot.com/2016/09/angular2-final.html

October 2016 Next.js 1.0 released https://vercel.com/blog/next

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

March 2017 The initial commit for the Temporal proposal is created https://github.com/tc39/proposal-temporal/commit/8a171d1661babda716251250fbdb4dd39f2dd1c2

Because…

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

March 2017 The initial commit for the Temporal proposal is created https://github.com/tc39/proposal-temporal/commit/8a171d1661babda716251250fbdb4dd39f2dd1c2

April 2017 Prettier 1.0 released https://prettier.io/blog/2017/04/13/1.0.0

September 2017 Facebook launches Yarn https://engineering.fb.com/2016/10/11/web/yarn-a-new-package-manager-for-javascript

September 2017 Cloudflare launches Cloudflare Workers s t a it b a H & h c a e R https://blog.cloudflare.com/introducing-cloudflare-workers

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

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

May 2020 JavaScript makes it into space with SpaceX Dragon Reach & Habitats https://os-system.com/blog/javascript-in-space-spacex-devs-have-shared-crewdragons-tech-stack

May 2020 JavaScript makes it into space with SpaceX Dragon Reach & Habitats https://os-system.com/blog/javascript-in-space-spacex-devs-have-shared-crewdragons-tech-stack

May 2020 Deno 1.0 released

October 2024 Deno 2.0 released and I join Deno

So?

Heat death of the universe We’re not done

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

! e ar We c WHY

e d o c e t i r Just w

e d o c e k a m t s u J

? s g n i h t e k a m t s Ju

Our next frontier https://unsplash.com/photos/eH_ftJYhaTY

l a u t c A Artificial intelligence

What if we don’t engage?

We are an informed bunch

We are an opinionated bunch

We are an opinionated bunch

Let’s not waste that by choosing not to engage

I’m usually slow to adopt abstractions

I concede AI is not SASS

Why Software Fundamentals Matter More Than Ever — Matt Pocock

It feels like Another layer of abstraction

™ We own JavaScript

We drive it forward

We can use it responsibly

We can use it whimsically

We can use it to do incredible things

Thanks. philhawksworth.dev findthat.at / time