Skip to main content
nevstokes.com

So I tied an onion to my belt . . .

Friday, April 30, 2021

2 minutes

Technology is the campfire around which we tell our stories.
— Laurie Anderson

On the back of the recent Basecamp debacle (which I won’t get into here; there’s plenty of coverage and commentary elsewhere) I spent some time thinking about how front-end web development used to be.

Basecamp was born in the era of the dot-com boom, shortly before I gradulated from university and entered the development world professionally. My Computer Science degree didn’t really acknowledge the existence of World Wide Web – such as it was back in 1995. At the time, Yahoo! still indexed every web site by hand (about 20,000 of them if memory serves) and there was still some suspicion that this was a bit of a passing fad. Oh to have a time machine and a wodge of cash to invest.

Anyway, after seeing his name among the fallout, I was reminded of Sam Stephenson’s Prototype framework – which preceeded John Resig’s jQuery – and how it was, along with Thomas Fuchs' script.aculo.us library, fundamental to enabling a lot of the features that delivered Web 2.0.

Then, going back further to the late ’90s, I recalled Dan Steinman and his work on simplifying cross-browser development. To clarify, I’m referring to technologies like Netscape Communicator v4.0, Microsoft’s JScript and DHTML – Dynamic HTML.

A couple of years ago, Dan resurrected the Dynamic Duo website from his FTP snapshots and, while none of the examples work anymore, it remains a fantasic window into some of the issues we had to work around.

I sometimes forget how far we’ve come along the path to modern, standards-compliant browsers. Even old techniques such as conditional comments and terms like “quirks mode” seem relatively advanced compared to the days of relying on CSS hacks that exploited things like comment parsing flaws in the various historical browser rending engines and their divergent interpretations of the box model specification or the quaint practice of uppercasing HTML tags.

#development  #personal