






The Web, since 1997
The Tumble
Twenty-nine years of building for the web, from the top down. Up here is now: the most the browser has ever been able to do, every colour and every trick at once. Scroll, and fall back through every era I've worked in: what the browsers could do, the tricks we used when they couldn't, and what I was building at the time.
Past: first browser1990
Present2026
Scroll to fall, or pull the tape on the right ↓
2020 – 2026
The platform caught up
Me, now
This site is where things stand now: a lake built from SVG and code that turns with the seasons, a narrator who talks with her hands, and a Studio that turns a day outside into a post and a podcast. It began with ProPre, the press for my coloring books, which brought me back to web development this May. The rest of the site followed.
What we have
- Container queries: a component sizes itself to its box, not the window. In every major browser by February 2023.
- CSS nesting, natively, without a preprocessor (2023).
- View Transitions and scroll-driven animation (Chrome 111 and 115, 2023): the motion we used to need a plug-in for.
- WebGPU (2023), and AI pair programming in the editor.
:has(), the "parent selector" people wanted for twenty years (2022 to 2023).
What's gone
- Internet Explorer: retired on June 15, 2022.
- Flash: support ended on December 31, 2020, and the player was blocked from January 12, 2021.
The web then
Born: 2024 Vision Pro2023 Claude2023 Threads2022 ChatGPT2022 Passkeys
Search, and asking AI
GoogleBingDuckDuckGoChatGPTClaudePerplexity
Social
InstagramTikTokFacebookWhatsAppRedditXThreadsBlueskyDiscord
Video and music
YouTubeNetflixSpotifyTwitchDisney+
Shopping and work
AmazonShopify shopsEtsyZoomSlackTeamsFigma
- By 2023 about two in three people on Earth were online: 5.4 billion, by the ITU’s count.
- ChatGPT reached an estimated 100 million users in about two months, the fastest-growing consumer app on record at the time.
- Zoom went from 10 million daily meeting participants in December 2019 to 300 million in April 2020.
2015window.addEventListener('resize', function () {
card.classList.toggle('wide', card.offsetWidth > 480);
});
2026.shelf { container-type: inline-size; }
@container (width > 30rem) { .card { display: grid; } }2014 – 2019
Flat, fast and back in Hawaii
Me, then
Then home to Honolulu. At MVNP I was associate digital director and senior front-end developer, working in AngularJS, Node.js, MongoDB and Bootstrap, and we launched First Hawaiian Bank's new brand guidelines alongside its executives and marketing team. At Anthology Media Group I led the experience design team and brought prototyping and usability testing into the work, for clients like Hawaii Pacific Health. In 2018 I started 123 ADAPT in Kailua, building and running sites for Manoa Valley Theatre and Hawaii Realty Group. Our own site ran on WordPress with a custom front end in Twig templates through Timber, which kept the theme's markup clean and apart from WordPress's PHP.
My biggest project at MVNP was the first version of the Ke Kilohana site, for a new tower in Ward Village: a massive job, and I was in every part of it. There were three of us, a senior developer, a junior developer and me. A WordPress engine ran under a custom skin, and the front was a mock-up of the actual tower: click any window, and that unit opened. Drone shots from every level and in every direction (not mine) were tied to each unit and floor as WordPress categories, so one update to a floor's view reached every unit that shared it. Room layouts and the other shared pieces worked the same way, which mattered as the project changed and the units were built out. I also built a VR area for the building, its floor plans and its shared spaces.
In 2014 I also built MVNP's own new look with its design team, a parallax site. And for Our Kakaʻako I worked on the website and on a touch-screen installation in its information center: a map, and interactive pieces made for the touch screens.
What we had
- Flexbox, at last safe to ship, and CSS Grid, which landed in Chrome, Firefox and Safari in the same month: March 2017.
- CSS variables in every current browser by 2017.
- Lottie (2017) played After Effects animations on the web as small JSON files.
- ES2015 (June 2015): classes, modules, arrow functions,
letandconst. React, open-sourced in 2013, was everywhere. - Flat design took over: iOS 7 (2013), then Material Design (2014).
Not yet
- No container queries, no
:has(), no native nesting. - Internet Explorer 11 still on office desks, so every layout had a fallback.
- In July 2017 Adobe announced Flash would end in 2020.
The web then
Born: 2017 WebAssembly2017 TikTok, outside China2017 Fortnite2016 Brave2016 Figma2015 Edge2015 Apple Watch2015 Discord2015 VS Code2014 Amazon Echo
Search
GoogleBingDuckDuckGo
Social
FacebookInstagramTwitterSnapchatLinkedInRedditPinterestTikTok
Video and music
YouTubeNetflixSpotifyTwitchHulu
Shopping and work
AmazonEtsyShopify shopsSlackZoom
- In October 2016, for the first time, more web pages were loaded on phones and tablets than on desktop computers (StatCounter).
- Let’s Encrypt (2016) made HTTPS certificates free, and within a couple of years most pages in the major browsers loaded over HTTPS.
- The web passed one billion websites in September 2014.
2012.col { float: left; width: 31.333%; margin-right: 3%; }
.col:last-child { margin-right: 0; }
.row:after { content: ""; display: table; clear: both; }
2017.row { display: grid;
grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 2rem; }2009 – 2014
HTML5, CSS3 and the word "responsive"
Me, then
I joined Pramerica Systems Ireland in Letterkenny as a senior front-end developer. It's the Irish arm of Prudential Financial (outside the US the company trades as Pramerica, because another company owns the Prudential name there), and Prudential was our only client. I built interfaces alongside the Lotus Notes, Java and .NET teams, back when jQuery was still fighting the other libraries for the job.
I helped build the process that carried open-source tools through Prudential's legal and technology reviews, with training to match, and that's how jQuery, Sass and grid frameworks came in. I also delivered the company's first responsive-design product.
For our internal tools I built a Bootstrap theme with the branding already in it. Developers who weren't strong on design could use my styles, and their pages came out on-brand without a second thought, whether they were working in .NET, Lotus Notes or Java.
What we had
- HTML5:
<video>,<canvas>and real form inputs. - CSS3:
border-radius,box-shadow, gradients and transitions, each one written three or four times with-webkit-,-moz-and-o-. - Bootstrap (2011) and Sass's SCSS syntax (2010).
- Web fonts that worked:
@font-face, and Google Web Fonts (2010). - In April 2010 Apple's "Thoughts on Flash" kept Flash off the iPhone for good. In May 2010 Ethan Marcotte named responsive web design.
Not yet
- Internet Explorer 8 in every office, with no
border-radiusuntil IE9 (2011). - Flexbox existed only as a draft that kept changing its syntax.
- No ES modules: one long jQuery file, carefully ordered.
The web then
Born: 2013 Slack2011 Snapchat2011 Twitch2010 iPad2010 Instagram2010 Pinterest2009 Kickstarter2009 WhatsApp
Search
GoogleBingYahoo!
Social
FacebookTwitterInstagramPinterestTumblrLinkedInGoogle+SnapchatVine
Video and music
YouTubeNetflixSpotifyHuluVimeoTwitch
Shopping and work
AmazoneBayEtsyKickstarterGrouponSlack
- Instagram had 13 employees when Facebook bought it for $1 billion in April 2012.
- Facebook passed one billion monthly users in October 2012.
- Apple sold 300,000 iPads on the first day, April 3, 2010.
2010-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px; /* and an image for IE8 */
2026border-radius: 8px;2005 – 2009
Ireland, and Web 2.0
Me, then
I moved to Ireland, took City & Guilds' Advanced Programming I, II and III in 2005, and carried on training at NUI Maynooth in 2007. At the North West of Ireland Printing and Publishing Company, which publishes newspapers across the northwest, I was the front-end developer, the web person and tech support. A COBOL course put me in touch with the Pramerica team. I didn't like COBOL, but when they had an opening for a front-end developer in 2009, I took it.
What we had
- The iPhone (2007), with no Flash, and Chrome (2008), with a fast JavaScript engine.
- jQuery (January 2006):
$('.thing')instead of a page of browser checks. Firebug (2006) gave us our first real inspector. - Ajax, named in February 2005, after Gmail (2004) and Google Maps (2005) showed pages that updated without reloading.
- YouTube (2005), playing video through Flash.
Not yet
- Rounded corners and gradients were still images: four corner GIFs, or "sliding doors". My table trick, moved into
divs. - Custom fonts meant sIFR, which swapped each headline for a tiny Flash movie.
- No native video, and IE6 still needed hacks for transparent PNGs.
The web then
Born: 2009 Bitcoin2008 Chrome, with V82008 App Store2008 Android phones2008 GitHub2008 Spotify2007 iPhone2007 Kindle2006 Twitter2005 YouTube2005 Reddit
Search
GoogleYahoo!MSN, then Live Search, then Bing (2009)Ask
Social
MySpaceBeboFacebookTwitterLinkedInhi5DiggRedditdel.icio.us
Video and music
YouTubeFlickrLast.fmNetflix streaming (2007)Hulu (2008)Spotify (2008)
Chat
MSN MessengerAIMSkypeYahoo! Messenger
Shopping
eBayAmazonCraigslistEtsy
- In July 2006 MySpace was briefly the most visited website in the US, ahead of Google.
- The web passed 100 million websites in late 2006 (Netcraft).
- In Ireland the social network was Bebo.
- The first YouTube video, “Me at the zoo”, is 19 seconds long (April 23, 2005). Google bought YouTube for $1.65 billion the next year.
2006<div class="box"><b class="tl"></b><b class="tr"></b>
Content
<b class="bl"></b><b class="br"></b></div>
.tl { background: url(corner-tl.gif) no-repeat; } /* ×4 */
2026.box { border-radius: 12px; }Loading 0%
2000 – 2004
Flash, freelance and barter
Me, then
By day I waited tables; on the side I freelanced as Adaptive Designs. I built sites for Courier Corporation of Hawaii and Anderson Aviation, much of it paid in barter trade credits rather than cash. I made a couple of Flash sites and some banners, but Flash never really took hold of me.
lovealoha.com was all mine, too: pictures, movies and news, a pool webcam, and an underwater collection, with Adaptive Designs signed at the foot of the page.
For someone who never really got into Flash, I ended up running its local scene: around 2003 I took over the Hawaii Flash Users Group, HFUG.org, and gave it a new look. It was a Flash group in name, but we covered all of multimedia, and the other Macromedia and Adobe tools too. In August 2003 I gave the talk myself, on the basics of Swift 3D.
From 2000 to 2003 I was Viata's official Director of All Things Graphics, and I learned Macromedia Director there to build a CD for potential investors. When Viata split up, its people stayed together, and they still work with the technology that began there, under new names. TravelSwitch was one of them for a while.
In 2002 and 2003, with two friends, I built a site for the John A. Burns School of Medicine in Hawaii while its new building was still going up. One of us was a Flash developer, and together we turned the architects' renderings into a clickable 3D model of a building that didn't exist yet. Behind it sat a full admin area where students and alumni could log in and edit their own profiles: a complete content management system.
Still in the Wayback Machine: the school's site and its tour, as archived in September 2006, and my own site from 2002.
What we had
- CSS Zen Garden (2003) showed one HTML page in dozens of designs, using CSS and no tables.
- Safari (2003), WordPress (2003) and Firefox 1.0 (November 2004).
- Internet Explorer 6 (August 2001), on about nine in ten screens within a couple of years.
- Flash 5 (2000) with ActionScript, then Flash MX (2002), which brought video into Flash. Every agency site opened with an intro.
Not yet
- No video without a plug-in, and no rounded corners without images.
- IE6 measured boxes its own way in quirks mode, and showed transparent PNGs with a grey background unless you used its
AlphaImageLoaderfilter. - Layout still meant tables, more often than not.
The web then
Born: 2004 Firefox2004 Facebook2004 Gmail2004 Flickr2003 Safari2003 MySpace2003 LinkedIn2003 Skype2003 iTunes Store2002 Friendster2001 Wikipedia2001 iPod
Search
GoogleYahoo!MSN SearchAsk JeevesAltaVista
Social and blogs
LiveJournalBloggerFriendsterMySpaceLinkedInFacebook
Chat
AIMMSN MessengerICQYahoo! MessengerSkype
Music and photos
NapsterKazaaiTunes StoreFlickr
Shopping
eBayAmazonPayPal
- Facebook opened on February 4, 2004, for Harvard students only.
- Gmail launched on April 1, 2004 with a whole gigabyte of storage, when most webmail gave you a few megabytes. Plenty of people thought it was an April Fools’ joke.
- The Nasdaq peaked on March 10, 2000, then lost about 78% by October 2002: the dot-com crash.
2002<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
width="550" height="400">
<param name="movie" value="intro.swf">
<embed src="intro.swf" width="550" height="400">
</object>
2026<video src="intro.mp4" controls></video>1997 – 1999
Free web space, FTP and tables
Me, then
I got online in 1997 through Road Runner in Hawaii, which came with free space for a home page. We worked out how to FTP files up to it, and a friend and I started building sites and trading them back and forth. For a long time I used FrontPage purely as a WYSIWYG editor; the code made me uneasy at first, and then it didn't. I played with a Microsoft animation tool too, just for fun. By 1999 it was my work.
My first web job was at Pacific Information Exchange (PIXI) in Honolulu, and my first project there was an order form for Oil of Aloha. Not a shopping cart: a form. It was a webmaster at PIXI, and Oil of Aloha's owner, who first told me about a search engine called Google.
Part of that first job was keeping a weekly column's site, Straight Talk, up to date. Every week a new article went up, I found a GIF to go with it, and last week's moved into the archive. Before long it was easier to make my own GIFs than to hunt them down. There was no GIPHY.
![]() | ![]() | ![]() |
The trick: responsive before it had a name
Start with a table of three rows and three columns. Put a fixed-width corner image in each corner cell, and give every cell between them a repeating background image. The middle cell holds the content. However the browser window changed, the corners stayed corners, and the edges stretched to join them. Drag the bottom-right corner to try it:
| Welcome to my home page! This box is a real 1990s table: four corner images, four repeating edges, and the words in the middle. | ||
What we had
- The browser wars: Netscape Navigator 4 against Internet Explorer 4, both 1997, each with its own "dynamic HTML" (
<layer>againstdocument.all). - HTML 4.0 (December 1997). CSS1 (1996) and CSS2 (1998) were standards on paper, half supported in practice.
- Layout by tables, spacer GIFs and
<font>tags. Editors: FrontPage, and Dreamweaver (December 1997). - Animation was animated GIFs, Java applets or the Flash 3 and 4 plug-in. Video was RealPlayer.
- Most visitors on dial-up: 28.8k, then 56k. Screens of 800 × 600, some still 640 × 480. "Best viewed in…" badges.
Not yet
- No CSS layout that worked the same in both browsers.
- No rounded corners, no shadows, no transparency: every one was an image.
- No web fonts. You got the fonts on the visitor's computer.
- No video without a plug-in, and Ajax was years away. Internet Explorer 5 shipped its XMLHTTP object in 1999, and almost nobody noticed.
The web then
Born: 1999 PayPal1999 Napster1999 Blogger1998 Google1997 Netflix1996 Opera
Search
Yahoo! (a directory, sorted by people)AltaVistaExciteLycosHotBotAsk JeevesGoogle (1998)
Portals and email
AOLNetscape NetcenterMSNHotmail
Home pages and chat
GeoCitiesTripodAngelfireICQAOL Instant MessengerUsenet newsgroups
Music and video
RealAudio and RealPlayerMIDI filesNapster (1999)
Shopping
Amazon (books, at first)eBay
- Everyone spent 1999 checking their two-digit years for the Y2K bug.
- Google became a company in September 1998. Its home page had a logo, a search box and two buttons, when every other portal was crammed.
- A 56k modem almost never got 56k: phone lines held most connections in the 40s.
- There were about a million websites in 1997, and about three million by 1999.
1998<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td width="22"><img src="tl.gif" width="22" height="22"></td>
<td background="top.gif"><img src="spacer.gif" width="1" height="1"></td>
<td width="22"><img src="tr.gif" width="22" height="22"></td></tr>
<tr><td background="left.gif"> </td>
<td bgcolor="#FFFBE8">Welcome to my home page!</td>
<td background="right.gif"> </td></tr>
<!-- …and the same again for the bottom row -->
</table>
2026.box { border-image: url(frame.png) 22 round; }
/* or, most days: */
.box { border-radius: 12px; }You are visitor number 000427
Best viewed in Netscape Navigator 4 at 800 × 600
1997, the bottom
Twenty-nine years down
From corner GIFs in a table cell to a lake that turns through the seasons. The tricks changed every few years, and the job didn't: make it work for the person on the other side of the screen, in whatever browser they've got.
And below 1997, before I got there
- 1996 CSS1 becomes a standard, and Internet Explorer 3 is the first major browser to support it. Music on a page is a MIDI file in Internet Explorer's
<bgsound>tag. Opera and the FutureSplash player that became Flash arrive. - 1995 Internet Explorer 1.0. JavaScript, first called Mocha, then LiveScript, is announced, and ships in Navigator 2.0 the next March. Microsoft answers with its own version, JScript, and the two are standardised as ECMAScript in 1997.
- 1994 Netscape Navigator.
- 1993 NCSA Mosaic puts pictures in the page with
<img>, instead of opening each one in its own window. - 1992 Lynx: the web as text only.
- 1990 Tim Berners-Lee writes the first browser, WorldWideWeb, at CERN.
Browser logos from the open browser-logos collection; each is a trademark of its owner.


