← Back to context

Comment by Kudos

6 hours ago

In the 2000s wasn't everything just misused/abused table layouts? Maybe we frequented different places, but that's how I remember it.

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.

  • 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.

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

    Or even a regular expression.

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.

  • The argument was for markup to have semantic meaning, not number of lines. Also, NPM was not born for browser JS.

    • 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

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.

  • 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.

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”