I started designing websites from around the age of 12. That would have been the early 2000s, so while it wasn't the very early days of the web it was still a nightmare to build anything that looked good and would work cross-browser.
The main difficulty back then wasn't the design, but all the random tricks and hacks you'd have to learn before you could do anything that looked impressive and worked reliably. And I don't think I'm exaggerating when I say it took years to get good at.
But since I had just been doing this for fun since I was a kid I didn't really appreciate how difficult it was until I got to university and found myself trying to explain things to people who had never used CSS and HTML before.
Being a good web developer in the 2000s basically meant becoming an encyclopedia of random CSS and browser bugs. Half the time there was no logic in what you did, just pure brute force memorisation of cross-browser weirdness, CSS compatibility tables and JS hacks.
Things are better now, but I do miss those times. The simplest things were challenging back then.
To me, even more impressive than displaying the website in a 1993 browser is the fact that you can even compile xmosaic for a modern linux OS with only minor tweaks. Reminds me of a couple recent HN thread about Wayland and X11, and GTK4. Will we be able to compile today's applications 30 years into the future. Probably not even in five.
(Tangentially Related): There's a subreddit that measure's "how timeless" a song is based on terms/idioms used in the lyrics and checking the etymology of said terms.
It then ranks how far back in time you could transport the song based on when those terms were in use, or if there are readily swappable analogs for them.
Considering nearly every deprecated element still works in modern browsers, you could just make your website for 1994 browsers.
You'd have to keep the layout pretty simple, and the font size would be too small due to lower resolutions back then, but modern browsers can zoom so it's practically a non-issue.
Font size in web browsers was never defined in actual display pixels. Text on a 1994 website will look fine in today's browsers because it will use the browser's default style sheet (probably 16px Times for body text).
If readability is truly your pursuit, then it is my humble opinion that you should avoid high contrast white/lightgrey on pitch black colors when designing a dark theme for your app or website, or consider adding a toggle to switch to a light theme. I gave up at the end of the first section of this article because it was just too much.
Hi, author here. What was too much? Are you talking about my colourscheme, or my writing? I've actually been trying out different colourschemes for my site lately, and I'm genuinely open to suggestions. I actually took the contrast into account when picking colours, and consciously lowered the overall contrast by saturating the text and background colour a little. I don't think the contrast is much higher than many other dark-themed sites I look at often, like Github for example. I'm sorry you didn't enjoy it either way.
Interesting to see another opinion. I love #FFF on #000 and I hate those low-contrast off-white + off-black "dark" themes like they are on codeberg and forgejo. Bonus trigger points if they have some color mixed in, e.g., #D4D4D8 on #171E26. I was always wondering why would anyone would do that.
In the last sample "everything was wrong" because "CSS was not invented for the next three years". Was pure html styling not an option? It's still what is done in html emails for compatibility I believe?
Unfortunately Mosaic didn't support much in the way of layout elements. The <table> element wouldn't even be added to the HTML standard until May 1996, in RFC 1942. These were the earliest days of HTML, and things were still very, very basic!
My thoughts exactly! It's probably painful for a web developer from today to put the styling into the HTML files, use tables for layout, and all the other "good old" hacks, but I think he could have gotten reasonably close to the design even in an ancient browser. With a lot of effort, of course...
A useful hack if you want to support very old browsers is to link your external CSS via @include inside HTML comments. Pardon errors, coffee hasn't kicked in yet:
Old IE and Navigator versions that would try to load your CSS will ignore the CSS inside the comments. If you add text and background color attributes on the <body> tag you'll even be able to maintain colors on old browsers.
So long as your unstyled layout is sane, old browsers will display a useful rendition of your page. Or at the very least not completely broken.
This same hack can be used to hide JavaScript from old browsers. It also works if you're inlining CSS.
I'd forgotten about that. I could search for the answer but I think it's more fun to talk about it: how did that work? Wouldn't that make all browsers ignore the includes?
Kids, you have no idea how much better we have it now!
Back then, there wasn't a reasonable reliable cross-browser way to get single pixel collapsed table borders. If you wanted to have such a thing, you'd need to nest the table inside another table with a single cell for the background color. But Netscape had awful table rendering performance. The more content in the table, the longer Netscape would take to sit there and render it, scaling disproportionately. The nesting just made it worse! This was also in the days before reflow. If you resize the viewport, Netscape would redraw the entire page from scratch!
This was a fun read (well, at least if your definition of “fun” is “brings back painful memories”). Maybe I overlooked it but I didn’t see any rationale for which browsers to include. Did Chrome render it perfectly in 2008? How did Safari do in 2003?
Is there a collection of Linux virtual machine images I could use to run old browsers (say from 1994)? There's https://infinitemac.org/ for MacOS and Windows 3/95/98 VMs, but I've had a hard time getting Linux binaries from the early 90s working.
you gave me flashbacks of trying to get random software i heard about to compile for redhat and debian linux back in the very late 90s or early 2000s. I reckon, if ordered to, i could probably get a system with source available to run decades-old software. As it stands my oldest working OS is Ubuntu 6.04. If you know of an archive of freshmeat or whatever, it might be possible to get something like this working in about a week of tinkering. oh dependency hell, what a time we had together
edit: my oldest on the metal OS. VMs i didn't count.
[+] [-] kypro|2 years ago|reply
The main difficulty back then wasn't the design, but all the random tricks and hacks you'd have to learn before you could do anything that looked impressive and worked reliably. And I don't think I'm exaggerating when I say it took years to get good at.
But since I had just been doing this for fun since I was a kid I didn't really appreciate how difficult it was until I got to university and found myself trying to explain things to people who had never used CSS and HTML before.
Being a good web developer in the 2000s basically meant becoming an encyclopedia of random CSS and browser bugs. Half the time there was no logic in what you did, just pure brute force memorisation of cross-browser weirdness, CSS compatibility tables and JS hacks.
Things are better now, but I do miss those times. The simplest things were challenging back then.
[+] [-] paulddraper|2 years ago|reply
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] jcarrano|2 years ago|reply
[+] [-] npsimons|2 years ago|reply
[+] [-] tetris11|2 years ago|reply
It then ranks how far back in time you could transport the song based on when those terms were in use, or if there are readily swappable analogs for them.
Edit: Found it - https://www.reddit.com/r/howtimeless/
[+] [-] quickthrower2|2 years ago|reply
[+] [-] olddustytrail|2 years ago|reply
[+] [-] vehemenz|2 years ago|reply
You'd have to keep the layout pretty simple, and the font size would be too small due to lower resolutions back then, but modern browsers can zoom so it's practically a non-issue.
[+] [-] pavlov|2 years ago|reply
[+] [-] lrpe|2 years ago|reply
[+] [-] ajxs|2 years ago|reply
[+] [-] mxmlnkn|2 years ago|reply
[+] [-] satellite2|2 years ago|reply
In the last sample "everything was wrong" because "CSS was not invented for the next three years". Was pure html styling not an option? It's still what is done in html emails for compatibility I believe?
[+] [-] ajxs|2 years ago|reply
[+] [-] rob74|2 years ago|reply
[+] [-] giantrobot|2 years ago|reply
So long as your unstyled layout is sane, old browsers will display a useful rendition of your page. Or at the very least not completely broken.
This same hack can be used to hide JavaScript from old browsers. It also works if you're inlining CSS.
[+] [-] kstrauser|2 years ago|reply
[+] [-] dosinga|2 years ago|reply
[+] [-] McGlockenshire|2 years ago|reply
Back then, there wasn't a reasonable reliable cross-browser way to get single pixel collapsed table borders. If you wanted to have such a thing, you'd need to nest the table inside another table with a single cell for the background color. But Netscape had awful table rendering performance. The more content in the table, the longer Netscape would take to sit there and render it, scaling disproportionately. The nesting just made it worse! This was also in the days before reflow. If you resize the viewport, Netscape would redraw the entire page from scratch!
[+] [-] turnsout|2 years ago|reply
[+] [-] ok123456|2 years ago|reply
[+] [-] theandrewbailey|2 years ago|reply
[+] [-] Cockbrand|2 years ago|reply
[+] [-] tobr|2 years ago|reply
[+] [-] aimor|2 years ago|reply
[+] [-] genewitch|2 years ago|reply
edit: my oldest on the metal OS. VMs i didn't count.
[+] [-] Lammy|2 years ago|reply
[+] [-] paulddraper|2 years ago|reply
Irreversibly? Indelibly?
[+] [-] jl6|2 years ago|reply
[+] [-] datavirtue|2 years ago|reply