upvote
In the 2000s wasn't everything just misused/abused table layouts? Maybe we frequented different places, but that's how I remember it.
reply
That's funny because the argument against tables was always that they added extra markup a.k.a lines of code, only to replace them with dozens of nested divs, half assed CSS layout ideologies (floats and clear's, for example) and barely functional JS that all somehow needed to work in sync which was almost never. That's how NPM was born.

Tables worked with 100% of the browsers. The alternatives needed polyfills and shims and ironically the whole thing needed easily 2x the number of integration time and lines of code compared to just slapping tables.

reply
There will always be a tension between those who want purely semantic documents and those who argue for a pragmatic allowance of layout to just be allowed in the document itself.

It’s indisputable though that the modern BS of frontend tech is approaching an asymptote of ridiculous complexity. The divs go so deep that it is often pointless to even try to determine what’s going on from a web inspector. And I think the documents themselves are now less semantic than they ever were. Sure, tables were abused (to the extent they weren’t anything close to tabular data). But today every element you see being a layer of 37 divs and spans that don’t even function or in some cases even render without JavaScript getting involved… the web is now just basically a responsive version of PDF.

reply
The argument was for markup to have semantic meaning, not number of lines. Also, NPM was not born for browser JS.
reply
No, npm ultimately enabled the exact kind of accidental complexity I'm talking about where you need a massive node_modules folder and Babel just to generate client-side code
reply
Table designs were kinda brilliant though, both in how easy they were to create[1], but also how easy they were to parse programatically or with a text-based browser. Given context of the table in front of you, you can generally piece together where on the screen the information goes without rendering anything.

You can generally do a lot of the same things with CSS grid layouts, but it's 100x more complicated, and the layout information is generally in the CSS file rather than the document itself making parsing the layout a Hard problem demanding the implementation of a partial CSS engine (and a sometimes JS engine too).

[1] A totally viable workflow was to draw your website in something like photoshop, cut boxes where the content would go, and then export it to an HTML table.

reply
Re: photoshop html table export

Marketing email is still produced in this exact same way at some companies - ask me how I know!

(If anyone isn’t familiar with this, it’s because for security reasons we’ve all decided email should use an intentionally gimped de facto (non-)standard which only supports a few little dabs of CSS - 90% of email is formatted with strictly 90s technology.

And by “we” I mean that’s what Google and MS allow in their clients, so it’s very pointless to try to go beyond that given their combined usage share.

reply
also how easy they were to parse programatically or with a text-based browser.

Or even a regular expression.

reply
But what if Tony the Pony comes?
reply
It became feasible to switch to CSS layouts for complex websites and apps in the early 00s. How early depended upon your target demographics and skill set. Lots of people who didn’t want to learn new ways of doing things carried on using table layouts long after browser support demanded it. I was using CSS sparingly from 1999 onwards and ditched table layouts in 2002, but I was ahead of the curve.
reply
Same here, we resigned our site in early 2003 with CSS layout. Late adopters would snicker a bit back then, seeing it as chasing a fad or being too hipster.

Out of all similar situations, where I may have been an early adopter of a technology or method for reasons, using the web platform and following standards has probably been the one I least regret.

reply
Still works fine for this site.
reply
3 by 3 iframe layout with the center one displaying the actual content.
reply
It worked for the most part.
reply
Yes and no. ie6 couldn’t render anything near the full specification so tables and other tricks were used where css couldn’t cut it. I’d still that that over JavaScript “apps”
reply
> just plain HTML and some basic CSS, if at all any

I built my own website like this and I love it. Highly recommended.

reply
I interviewed someone once for a fullstack role, gave him a mockup of a screen we had to build and asked how he would do it, in short some things on top of other things. The only thing he managed to say was how he would divide everything into components. I thought man, so many devs don't even know how to use html/css anymore, but who's laughing now, you just need to prompt a coding agent.
reply
Ha, and I flunked a "Fullstack Developer" interview some years ago because I didn't reach for npm or React to build a page that had a simple form to make a request to the backend.
reply
Dodged a bullet.
reply
Responsive design out of the box? Were you actually there? Back in 2000 you could make a career out of scripting browser polyfills or "DHTML".
reply
Quite. Or differences in the box-model, appending weird symbols to CSS to target specific browsers, adding zoom:1, praying you didn’t have to support IE6….
reply
That doesn't seem relevant to responsive design? HTML and CSS are definitely responsive out of the box, but OTOH I remember how many designers of that era thought responsiveness was a bug and asked devs to add width:920px to body...
reply
CSS, especially the box model, was not consistent across browsers.
reply
True. Does not prevent the design from being responsive. Even with no CSS at all a design is responsive unless you specifically choose to break that
reply
Right but how would you even display a vertical menu back then? `float: left` was rather bad, so you went back to using tables[0]. Good luck making these responsive.

[0]: and to using dozens of images sliced to fit your table cells, for that cool hover effect as well as round corners. :-)

reply
IE6 was early 2000s, I remember it not being so great. CSS was starting to be supported but it was a minefield of un-supported features.

It was bad enough I swore off front end work and made a pact with myself to focus only on backend or embedded, for my own mental health :-)

reply
IE6 was the most popular browser still during like 2006-2010. There was a point when Opera, Firefox, Chrome were already a thing, and they supported proper standard CSS and HTML, but 90%+ of users still used IE6 and you had to use tricks to support both standard and IE6 fuckery.

I do miss those times.

reply
I'm my school district growing up in the early '00s, every single computer had Netscape Navigator and that is what everyone used.
reply
I was still supporting ie6 in at least 2014 for a couple of clients.

I miss those times, too, but not the IE6 bullshit.

reply
The cause is businesses are putting emphasis on showing their brand on the site. Every dropdown has to look and feel like their product.

In short almost everyone wants their website to be a video game.

reply
Which brings up an interesting question about forced token consumption ... are "Easter Eggs" making a comeback?
reply
I too want to go back to that, but I fear most consumers/potential visitors to your website have been conditioned to expect flashy web by this point and so it's a self reinforcing paradigm.
reply
Nothing has changed. The "flashy web" of the 2000s was ... Flash. Corporates paid premium rates to Flash Designers who couldn't write a line of HTML.
reply
Oh God I hated that. I'm not entirely sure why I hate it so much more than over-Javascripted sites. It feels even more alien.
reply
I wonder, though, if there are those who notice a simple, comfortable page.
reply
> A simple dropdown with a finite list? Has its own loader and makes 10 fetch requests for no reason. Not even exaggerating - look at Instagram and Facebook on web.

I’ve seen an address form with search dropdowns that were absolutely bonkers. First it loads the list of countries. You start typing and the list disappears – it sends the text to backend, which returns... exactly the same list. The filtering is then done on the frontend. (After you select the country, you can select the region and then the city, which, of course, work exactly the same.)

reply
I miss the days of Flash. Not because I want to actually use it, but because it being an extension forced most websites to offer a basic HTML4 version as well as a fancy, more opaque Flash one. After the advent of HTML5 almost all websites feel like Flash on steroids. Ditto for the IE6 holdovers.
reply
That was the exception, the norm was definitely just a page that said, "Your browser does not support flash"
reply
> just plain HTML and some basic CSS

Or even better. XML + XLST.

True separation of representation and data.

Is thousands of nested <div> really a good idea?

reply
reply
<html><body bgcolor=“#FF0000”><blink><font size=“+3” color=“#0000FF”>Me too!</font></body></blink></html>
reply
I feel like this comment is channeling https://motherfuckingwebsite.com/
reply
While I'm sure people here have seen these, might as well link the rest of them to set how this can be evolved while keeping it small.

- <http://bettermotherfuckingwebsite.com/> - <https://evenbettermotherfucking.website/> - <https://www.thegreatestmotherfucking.website/> - <https://perfectmotherfuckingwebsite.com/>

And there are probably even more.

reply
yes. The moment when I see the interception of the scroll to show some overlay content. my brains either switching to admire the aesthetics or get's irritated by that. In the mean time I totally forgot the reason of this website visit.
reply
That's called reader mode. You're standing next to a fresh water spring complaining that you are thirsty.
reply