Perfect Motherfucking Website
perfectmotherfuckingwebsite.com
perfectmotherfuckingwebsite.com
> A little less contrast
WHY. WHY DO PEOPLE DO THIS. To give this person credit they have at least chosen some sensible values, rather than gone with something that was just about enough on an expensive graphic designer high-contrast monitor and then not tested it on anything else. Leaving the rest of us squinting to try and read text or manually overriding CSS.
Despite not being a complete idiot, they have still made the content harder to read. Contrast is good. It makes things easier to read. Why would you want less? Yes I know the art theory stuff about never using black because it doesn't appear naturally. You know what else doesn't appear naturally? TEXT. Black on white is a perfectly acceptable default, please don't change it for your body text without a really good reason.
(ranty style done in homage to the linked websites, but it felt good to get that out)
One thing you should always consider during the requirements phase of a web application is whether your app is likely to be used projected on a conference room wall. Things like contrast and fonts make huge differences in such hostile settings, and available screen real estate is also considerably limited.
When people are already getting short with each other before you even get to the actual reason for the meeting, you know it's going to be a long day.
But corporate wanted our fonts to match their other product. I don't know if it was my imagination or not, but it felt like that act broke a couple people on the team, myself included.
You have to be very careful not to rely on it though: as you mention lighting and protection conditions or just plain bad monitors can kill the more subtle difference completely. And, more importantly, those with sight deficiencies might miss it even in ideal circumstances.
I really only get annoyed with the "less contrast" meme when it's something like a Google website where the UI disappears if your monitor's contrast settings weren't tuned professionally. (I used to have to adjust my monitor settings around making the UI elements on Google+ visible.)
Because too much contrast can be jarring and distracting, making it harder to read.
These kinds of things are subjective.
More contrast isn't always better, or you would read text by printing out foil stencils and aiming them directly at the sun to read.
Because designers are taught that too much contrast causes eye strain. They're advised against putting pure black text on bright white backgrounds.
https://www.wired.com/2016/10/how-the-web-became-unreadable/
They also won't have screen where they are likely to feel anything has too much contrast.
IMHO a screen which displays a common black and white website with so much contrast that it strains the eye is a 100% failed product which completely ignores reality.
A website which has so much contrast that it strains the eye on any spec-compliant monitor or a cheap 1990s CRT is a failed product. Reducing the quality of monitors to compensate for shitty websites can't be the solution.
Same for black and white text documents.
Or black and white shell promts.
And so on.
So it's pretty obviously for me what is detached from reality and what isn't.
EDIT: It's the color space which is broken I guess, white (on a website) should be neutral background white not eye hurting brightness and the color space should have some "whiter then (normal,neutral) white" colors. I.e. the normal white color should not have defaulted to maximal brightness.
Sure, but that's already the standard.
The people who obsess over using #fff as default white just happen to be the ones whose monitors show #fff the way #ccc was supposed to be shown (and used to be shown, on CRTs)
I think the underlying reasons for that are underappreciated.
When you pick #000000 for your text color, people won't see it as pure black anyway. Imperfections in your screen's backlighting aside, your screen reflects the ambient lighting, or, if you're outdoors and pointed the wrong direction on a sunny day, your screen reflects sunlight that is orders of magnitude brighter than the screen itself (measured in cd/m^2). #000000 never shows up as actual black either.
So if you're going to put black text on white background, just use #000000 on #ffffff. Nature doesn't need any more help to make text on screens hard to read.
That color contrast is perfect for a game, a movie or an image. But you don't want the feeling of something as bright as looking into the fucking sun mixed with the darkness of the deepest starless night. That's just painful, both in light mode and dark mode.
Just calibrate your monitor correctly, increase your contrast if your monitor can't even display Rec.709 sRGB, instead of compensating for your shitty monitor by making your website painful for anyone with a good monitor.
EDIT: this comment puts it very well: https://news.ycombinator.com/item?id=26741285
Those are the people you usually want as customers. And you're making your website painful for them. That's a decision you can make, but don't be surprised if you'll fail with that attitude.
Keep colors and contrast restricted to the range possible by reflective materials (i.e. what can be printed on paper or ever be encountered in nature) and all the issues are immediately gone. You don't have to use grey-on-grey (which is super annoying). Just keep to the range of colors a newspaper will have, or a zebra will have.
Over 99% of users don't, most phones are not high end and as such don't have such a screen.
> feeling of something as bright as looking into the fucking sun
Again, not a experience around 99% of internet users can follow, their devices don't get that bright, especially not on a per-pixel basis.
Also most people use devices in rooms with varying degrees of natural sunlight showing in.
And if whites are to bright then it's because my screen is wrongly setup for my eyes/usage. A perfect color calibrated screen is ironically often not a perfectly setup screen for normal usage.
There are very specific definitions for colors, and what they mean.
#000000 means 0.1 nits, #ffffff means 100 nits. That's standardized and specified.
The screen can't be wrong if it correctly matches the standard. If real-world content doesn't obey the standard, the content is wrong, not the standard.
Uhm, scree brightness control is a thing. Adaptive brightness is standard even on non high end phones. Same for desktops etc.
So a part of a standard which maps color to specific brightness levels is pretty much irrelevant outside of the unrealistic case of a perfect calibrated monitor in a perfect environment. Which does exist. But again is for most internet users unrealistic.
If you modify the brightness in software, you can also tonemap it properly and retain the contrast easily.
Generally, media and text need very different contrast ratios and colorspaces, and text should never use the full contrast available.
But the big issue is that most content is using entirely unmanaged colors, not even correctly setting them to sRGB (or actually the color profile of whatever shitty 6-bit 100:1 contrast panel from 2004 they managed to find on the dump).
If that was actually used, we wouldn't have any of these issues and everything would be correctly tonemapped. But they don't, they set no profile, which in some software means "whatever the display supports" (although recently enough software enforces "probably sRGB at 1000:1 contrast 100nits max brightness" luckily).
Sometimes, you just have a shitty monitor. There are entire communities dedicated to calibrating monitors as I'm sure you are aware, it's time consuming and can be expensive, it's not a solution, we have manufacturer ICC profiles for a reason.
But the reality is that I can't use some websites because they chose to make my experience worse so users with badly produced and badly designed devices have a better experience. We're yet again at a situation where obeying the standard is punished.
motherfuckingwebsite does it right, too: follow the preferences (which in my case is almost exactly the same as the perfectmotherfuckingwebsite)
The worst are websites with far too little or far too much contrast that don't even follow preferences. At work I've had to repeatedly go against designers wishes refusing to implement their design and saying: I'll implement you anything within of 4.5:1 to 10:1 contrast ratio. But I won't go below that (no, I can't make the text 10px tall in #c0c0c0 on #f0f0f0) nor above that.
No, it is not.
> No reflective material can reach those colors or that contrast.
Even if that was true, nature includes light sources as well as reflective materials.
Emissive light sources in nature (except for rare occurrences like lightning, certain jellyfish and cherenkov radiation) are all black body radiation.
That's very different from the colors and contrast ratios possible by modern OLED monitors. The best example would be the blue LEDs used in modern OLED panels, which when they were introduced had a strange unnerving blue glow because that color just doesn't exist in nature.
Additionally, the contrast ratios possible by modern OLED panels are also far beyond anything in nature, as in nature anything that is bright, be it reflective or emmissive, will as result also light up its surroundings and reduce contrast naturally.
High contrast text can appear blurred for them while reading.
(Edit: Okay, I should have read TFW. They mention the reason for the line width)
There's definitely a sweet spot; I typically have my browser windows at 2/3 width on a 2560px wide monitor. 100% width lines are a chore to read honestly, there's definitely a higher cognitive load.
Do you like 400 nits of #ffffff right into your eyeballs? No? Me neither.
The alternative is absolute darkness with extremely bright text, which in turn makes it unreadable (if you have astigmatism as I do) and literally causes pain due to the high contrast.
Nothing in nature has such an extreme contrast.
The only reason anyone would ever use full contrast is if they have a shitty 6-bit monitor panel that doesn't even reach the contrast ratio of a shitty 1990's monitor. And they don't even have a proper color profile, so their computer thinks their monitor has all the contrast ratio in the world, and doesn't tonemap fuckall.
The only way to resolve this is if either everyone finally switches on a color managed workflow, or we outright ban the shitty panels where #000000 on #ffffff is necessary for readability instead of being just painful.
#ffffff is the color of looking directly into the sun and absolutely painful bright, #000000 is the color of the deepest, starless night. You need these colors for movies, for games, for images. But your text should never be the contrast between a starless night and looking directly into a star.
Increase the contrast of your monitor, calibrate your panel, but don't build a worse website to compensate for your shitty panel.
EDIT: this comment puts it very well: https://news.ycombinator.com/item?id=26741285
What about black text on white pages in an actual hardback book? But since you referred to nature, what about zebras?
The not-triangular shape labeled "2200 matte paper" are all colors representable by reflective materials.
Colors outside of that range can only ever be produced by emissive materials, such as fire, stars, or your monitor.
All the colors your website uses should be from the range of reflective colors, as those are the ones seen in nature, and the ones your eyes are adapted to see.
The same applies also to black/white contrasts. Even vantablack next to a white sheet of paper (which would already be massively higher than any contrast in nature) still has a much lower contrast ratio than your monitor has.
No. There's no definition of what they map to.
That's why we need USERS to be able to scale the ranges of brightness and contrast.
My environment changes during the day. I want to be the one in control of my screen, not some random website.
That's not really an option, though. You'd have to separate text and media from the website, split it apart, and configure it separately, as most websites just have everything without any color management.
If these shitty websites with full contrast would at least set a colorspace for their images, so I could take the color profile of a cheap 2004 LCD as default for unmanaged media and text, I'd at least avoid the painful situation.
> don't build a worse website to compensate for your shitty panel
Never change.
If you don't like what your display does, tweak its settings to do what you like.
Colors are standardized and have a very specific meaning.
I just dislike the colors these website authors have chosen, often without knowing what they're choosing, as their monitors often distort the colors and show something wrong.
None of this can be solved until we've got widespread color managed workflows and tonemapping on the web.
And I don't like reconfiguring my display for every different kind of content.
What I don't like is websites using #ffffff
But this is a general issue - you want to be able to represent extremely high contrast, far beyond the brightness of a sheet of paper in photos, movies, games, etc. But you want a significantly lower contrast for text. Sadly, websites mix both and offer no way to configure them separately.
What would be really cool is if web browsers offered a mode that forced a contrast minimum when viewing websites. This would benefit devs and users alike: Users would have a pushbutton way to make bad websites readable, and devs would have a push button to show what their site would look like to users who get annoyed enough to push that button.
More high-contrast options exist then Black foreground on a White background.
I'm not disagreeing with your point, I loathe grey on grey sites. Being visually impaired nothing makes me rage-quit your site quicker if my DarkReader extension can't unfuck a site.
I'm posting https://contrastrebellion.com/ so all the replies and followup conversations can see it too.
There are good reasons to avoid bright white backgrounds in certain cases since it can be hard to read in dark environments as your eyes switch between the bright screen and dark world. But in this case, pure white on pure black is still the best option for contrast. And the correct solution is to dim the backlight of the display to reduce brightness.
Dunno what the science says, but I really hate #000 on #fff, or vice-versa.
Yes, a lot of websites now go to the opposite extreme, but the reaction should simply be: so DON'T GO TO EXTREMES! Neither too much nor too little contrast are good.
And since you've pointed out they do go for sensible values here, why the outraged all caps???
You don't need a pure white background, but for gods sake PLEASE stop making the text light grey! Having to squint to read a website is headache-inducing.
Another commenter mentioned that all text should just be black on white and people can dim their screens as necessary. It's somewhat a matter of personal preference, but this seems like a bad solution to me. Most people are not looking at exclusively text when browsing the web, there are lots of pictures and videos as well. Users shouldn't have to be constantly fiddling with screen brightness. In photos and videos, contrast is often used for dramatic effect, where you want some parts to get brighter than others. If the text is too high contrast so you have to dim your screen further to view it comfortably, then the photos or videos you see alongside the text won't be as impactful and enjoyable. Why should every piece of text you read be as dramatic as the most intense rays of sunlight or something in a photo or movie?
I think it comes down to what you're used to, what your vision is like, and how sensitive your eyes are. Some prefer high contrast, some don't.
Because too much contrast on a monitor means white on black, which on average (that is, 99% of people's setups) brightness levels settings strains the eyes and people actively dislike it.
Its not some book reflecting ambient light, but a monitor with a led shining white (blue-ish) light on your eyes...
>Contrast is good.
Water is good too. Too much water though, and you die: https://en.wikipedia.org/wiki/Water_intoxication
One sensible reason for this is that it allows using higher contrast, or different hues w/ similar contrast, as a kind of emphasis that naturally stands out from the surrounding text. Same reasons why most terminal emulators display text as light-gray-on-black, while keeping pure white as a highlight color.
I love that instead of this style we're getting a new generation of programmers who are genuinely nice, calm and friendly. People such as Bob Nystrom or Andreas Kling, who don't feel the need to curse every few lines.
If you only use a phrase like "fucking bullshit" once across an entire blog post or book, you will find it has far greater impact on the reader. They will think "wow out of 400 pages of polite discourse, this is the one thing the author would really like to highlight as adverse".
I was wondering if I'm just getting old or if it's actually a bit tired. Perhaps a bit of both.
Today, yes, but the site isn't new either.
> It doesn't make the content more interesting. It doesn't make the author seem any cooler.
I don't think the point was either of those things. It's meant to express outrage at the overcomplication of websites with the excessive use of javascript, the needing to download megabytes of JS to render some text, etc.
Here's the context from the original:
> You think your 13 megabyte parallax-ative home page is going to get you some fucking Awwward banner you can glue to the top corner of your site. You think your 40-pound jQuery file and 83 polyfills give IE7 a boner because it finally has box-shadow.
Being outraged at the state of the web has been lessening in popularity, I think. That's possibly because CSS has improved a lot and IE is finally obsolete.
Feel the same way about the style.
This one isn't so bad in context. It is several down a chain of pages responding to each other that started with a sweary one. As well as each page adding more points (or arguing agaist previously stated ones) they have added a little extra profanity too.
On its own I'd agree with you assessment, but within the pattern if you have followed the story it fits less awkwardly.
I don't understand this attitude. If you don't like Times New Roman, why don't you change your browser's default font?
What I don't like is when websites tell my browser to use a different font or different colors than the ones I configured.
(Off-topic, but something that really annoys me is websites that make text in <textarea> very dark grey without changing the background; as I configured a black background and white text)
The web must be a very disappointing place for you.
Yes, yes it is.
And it ain't just the fonts…
Web pages are designed and typography is part of the design.
I don't mind printed books and magazines because it's a constraint of the medium; but for websites it's a missed opportunity.
Magazines are their own thing although typically this does apply to the actual articles themselves; Someone who knows what they're doing lays them out.
The low contrast meme in web design is especially harmful.
Take the background to a #111 and the text to a #ddd and you've hit my personal perfection
No thanks. My preferred method for removing cookie banners is to just delete the node from the DOM. It works 99% of the time and I don't have to agree to anything. I suspect it's only a matter of time until someone makes uBlock Origin for cookie banners instead of ads.
EDIT: Nevermind. It's already part of uBlock Origin.
Frustrating really because they're supposed to be opt-in, so no response at all should == reject
But I haven't had the time to put into it.
Here, the substance of the article is primarily about subtle incremental improvements, and it's quite clear that the expletives are being used to draw more effect to content that would be quite a bit more "boring" otherwise (though don't get me wrong, the advice is generally good)
To be fair, one could argue that appropriating a style in a way that is counter to its original intent is itself a form of art. But by the third or fourth me-too, it feels cliche and watered down to me IMHO.
I know the vulgarity of the statements is tongue in cheek, but this one has been reinforced lately by the "MIME Magic" debacle[1], mama mia.
(IMO someone ought to write, if one doesn't already exist, an interactive tool that suggests recommended styling for your site one by one, and you can accept or reject each of them, then save the CSS file when you're done.)
See also (it works fine in Firefox but the fonts don't seem to change in Chrome and I don't know why): https://mbarkhau.keybase.pub/readable-text/index.html
BTW: I am aware that average internet users don't think this way
The point of the original website in this chain was not that you couldn't do media queries, or that all of your designs had to be unstyled. It was a gosh-darned satire that showed that even if you did literally nothing, your website would still be responsive and readable and load fast. The fact that it did nothing, that it was just a completely unstyled HTML page was the reason that the joke worked.
The point was to showcase that often when "native" web features break, those problems can be traced back to things we added to the page, things that are nice, but are not strictly required to view content online. It was not saying that we should get rid of CSS, it was saying that the web, by default, without any technical knowledge or design chops or engineering input, still works to deliver content.
So naturally, the first thing the web community does is set up a build chain, add some CSS, mess with the contrast a bit, and start some kind of childish competition about who can make the best minimalist stylesheet and get the best HTTP compression set up on whatever pointless server setup they have and to start arguing about what license they're using.
You are missing the point!
The point was never to say that you couldn't add media queries to your website. The web community looked at a brilliant satirical piece and instead of sitting down and thinking about it for even just 5 minutes they immediately proved it right by showing that there was literally no context anywhere, even in a joke page, where they wouldn't be overcome with the irresistible urge to fiddle with things.
Does it add something to the satire, or does it make it funnier? Clearly the original page's lack of a license didn't make it impossible for anyone else to iterate on it.
And again, I can't stress this enough, the point of the original page was not that every single addition you could make to a website was bad. It was not that you shouldn't have a dark mode. It used radical minimalism to show that by default websites work, even if you have no clue what you're doing.
The lack of niceties is the point. Nobody was unable to read the original page or iterate on it. Could the page have been nicer? Sure. But the point was that even if you did nothing at all, the web still worked.
So it's appropriate in this context, but also pretty easy to argue that 10 lines of code are not a serious copyright threat anyway, and that it's not clear what code on this page is even subject to copyright in the first place, and that the author might have gone all the way and leaned into the fact that you don't really need an entire Git repo with a license for a single HTML page.
Like ad blockers, sometimes you have to adjust it, but it usually Just Works. The main innovation from this is that my display has much improved contrast, because I can set the brightness for text on a black background, instead of setting the brightness for an entire screen of white. It is amazing how good a screen looks when it's not running at 1% brightness. (Just don't open a non dark mode app at night, or you won't be sleeping for a week.)
I'm not 100% certain that this should be forced by the browser and IMHO it's the websites owners job to provide properly working dark theme and the UI/UE they think fits best their purpose (and not the browsers). Unless the assumption is that styling across all sites should look 100% identical which may appeal to some, though if I really want that then I can go look for content on gemini:// and no page will ever use their own styling other than what I am telling it to. Maybe it's just me but I like being dazzled and surprised with new design and style that I've not seen before.
I agree that all websites should give users a dark mode. They don't, so we have to make our own.
And for $4.99 Safari user. 30% paid to Apple and 70% for developer to recoup their $99/year cost.
But you were able to read it, right? You didn't have to go find a separate computer to use to figure out what it was saying. The text didn't get cut off when you resized your browser window.
> The first website looks horrible
I mean, yes? I'm not sure what you're saying by this though. Nobody (at least nobody worth taking seriously) is telling you that you should follow the style of the first website. You should have max-widths and throw some CSS on your page. To quote the original website:
> I'm not actually saying your **** site should look like this. What I'm saying is that all the problems we have with websites are ones we create ourselves. Websites aren't broken by default, they are functional, high-performing, and accessible. You break them.
There's this argument in all of the followup websites that seems to boil down to "it's easier to make websites look better than the original." And yes? But who is arguing with you that we should deprecate CSS from the browser? Who is arguing that it's a hard task to make something that looks and reads nicer than a completely unstyled page? It's a weirdly oblivious misreading of the original joke.
https://www.gnu.org/software/grub/manual/multiboot/multiboot...
GNU is not building a hard-core minimalist website, they do include CSS on their page -- in fact they include more of it than this website does. So the problem isn't that GNU is too minimal or that they've sworn off of CSS, the problem is that modern GNU increasingly doesn't seem to know how to design anything at all when it comes to UX, and that there's probably somebody somewhere on their chain of authority for this page seriously arguing that line-wrapping is bad design or some other nonsense.
But I don't know. To the extent that GNU's design aesthetics actually represent a web design trend, then I do concede that it's a bad trend, and everybody who's following it should add `body { max-width: 40em; margin: auto; }` to the top of their CSS files.
Who's side are you on here, stop proving fctorial's point :)
> rendering is user agent's job
GNU uses more CSS than the joke website in question for an uglier result; they're putting in more effort to make something that's less readable. I don't see how anyone can call that good design. It would take literally 2 CSS declarations to improve their website's design for >90% of the people looking at their page, at no cost or inconvenience to any other user. Good user-interface design incorporates sensible defaults.
It is a very GNU-like thing to look at the current web ecosystem, notice that basically every browser acts a certain way and has a certain standard default styling for HTML, and then to still argue that it's the user's fault that their website looks the way it does.
I don't see any W3C best practices anywhere that argue column widths should be avoided, and GNU is clearly comfortable overriding default agent behavior for other parts of this page when it comes to indenting lists and styling code blocks.
Edit: actually, I stand corrected. GNU is including a bunch of styling code and then commenting it out so it doesn't work. What the heck, who is maintaining this page? Why is that stuff being shipped to the user if it's unusable? In any case, W3C best practice is very much NOT to avoid all CSS, that's a massive mischaracterization of their positions.
Where do you see that? If you’re referring to the <!-- … --> in the <style>, that’s an old standard compatibility hack and doesn’t stop the styles from being applied.
I'm on my side and against people who push their preferences on me.
>It would take literally 2 CSS declarations to improve their website's design for >90% of the people looking at their page, at no cost or inconvenience to any other user. Good user-interface design incorporates sensible defaults.
The sensible default is to follow user preferences. Those 90% people do it this way and GNU docs rightfully don't question it. User preferences can't be reasonably implemented on the server side, because different people have different preferences, so it's undecidable whose preferences to implement.
>I don't see any W3C best practices anywhere that argue column widths should be avoided
W3C best practice is to let user agent render text as appropriate.
http://motherfuckingwebsite.com/ touches on this too:
>You dumbass. You thought you needed media queries to be responsive, but no. Responsive means that it responds to whatever motherfucking screensize it's viewed on. This site doesn't care if you're on an iMac or a motherfucking Tamagotchi.
W3C often refers to unusual user agents to illustrate their point of client side rendering.
> The sensible default is to follow user preferences.
> W3C best practice is to let user agent render text as appropriate.
But nothing about including CSS goes against this. CSS is clientside rendering, it has nothing to do with forcing preferences on anyone. Your browser has the ability to override provided styles and either modify or ignore CSS. If it doesn't then I suggest, in your words, "changing the user agent to the one that does, or submiting an RFE to your user agent vendor."
This is why we use CSS. So that we can separate style from content and lay out a page with nice defaults that can still be overridden by the user.
And not only is CSS customizable and overridable, because it's completely separate from content it is also optional. Any of your users can choose not to download your CSS file and they'll get served the exact same HTML content that they're getting now. So when I say that there's no cost or inconvenience for users who don't like your styles, I literally mean that. There is no cost to them because they don't have to download the file. They can disable all 3rd-party CSS in their user agent if they don't want it, and then they don't even need to waste time making an extra network request.
Imagine taking this attitude with other applications as well. Should we be upset that Emacs ships with default keybindings? Is that as an undecidable problem? When I install a MELPA package, should I get mad that the author is pushing their default config on me? There's no downside to having optional defaults that users can partially override or fully ignore at their own convenience.
> W3C best practice is to let user agent render text as appropriate.
If this is genuinely GNU's attitude, then why does this page include style resets?
You're heavily misreading the W3C's position here. Letting the user agent render text as appropriate does not contradict providing CSS, and I've never heard of the W3C advising authors to avoid CSS.
>There's no downside to having optional defaults that users can partially override or fully ignore at their own convenience.
That's what GNU docs do, they use defaults: i.e. they follow user preferences.
It's not "defeatable", you're not fighting anybody. You can turn off CSS in Firefox in 2 clicks: View -> Page Style -> No Style. What's happening here is that you're being served a text document, and optionally, if you want to, you can download a separate list of styles that will make it look pretty.
This is like buying a bag of cheese at the grocery mart and getting mad that the a recipe on the side of the package is trying to force you to cook a certain way. Nobody is trying to force you to do anything, we'd just like to have the option of having sensible defaults that look nice without being forced to write custom CSS clientside for every website we visit.
And if it's really that awful of a problem for you, then file a pull request with your user agent to get rid of CSS. It's not the website's fault that your user agent is requesting random files from the Internet without your permission. It's not the server's job to tell your user agent how to display HTML and whether or not to use CSS. Your agent doesn't have to do any extra work here, it just needs to stop going out of its way to request extra files on every website it visits. How is it the server's problem if your user agent can't do that?
You're making this out like CSS has to be "circumvented" or something, but it is easier to build a user agent that ignores CSS than one that consumes it. It's less work, not more.
> The analogy is if the text documents dictated the editor settings
They basically do in Emacs: most specialized buffer-types like Magit and Org ship with their own modes that they expect you to use that have their own keybindings and settings. And Org literally does what you're describing. It allows you to override variables locally per-buffer[0]; everything from column widths to TODO colors to indentation to list styles can be specified using CSS-style declarations at the start of a file.
This is also really common in the terminal world for things like manpages; many manpages will use terminal escape codes to color/bold text, and most hard-code their own indentation using whitespace. And even in regular documents, rich text files and PDFs allow you to specify color information and fonts.
The main difference in all of these examples is that most of them are less user-controllable than CSS is. I can't override how a PDF displays; I can't easily change the indentation in a manpage. Globally disabling buffer settings in Org-mode can be problematic because styling information is mixed with functional information like archive locations. In contrast, I can easily disable and override CSS, and it won't affect the actual content of the page at all.
> That's what GNU docs do, they use defaults
No, not by your standards. The GNU docs do ship CSS. The docs ship with multiple style resets, they set the font size in code blocks, they override list styles, they set fonts as well. So GNU docs are willing to override user preferences for code blocks, just not to make the page work well on widescreen displays.
Overreacting much?
>The point of the original website in this chain was not that you couldn't do media queries, or that all of your designs had to be unstyled. It was a gosh-darned satire that showed that even if you did literally nothing, your website would still be responsive and readable and load fast. The fact that it did nothing, that it was just a completely unstyled HTML page was the reason that the joke worked.
Yeah, so? Who cares about the point of the original website? As if it was some sacred ultimate truth, that only makes sense in the exact original wording and message?
The point of THIS website is that you can improve upon the original "do nothing" website by a lot, and still do almost nothing: just add 10 tiny CSS lines.
'the most perfectest motherfucking site' will improve that site by adding just 6 teeny tiny more CSS lines and maybe like the most little tiny bit of javascript.
'the absolute final most perfectest motherfucking site'.. will improve THAT site, and the feature creep goes on.
they're all built off of the concept of the original, so it makes sense to 'care' about the 'point' of the original website. the only sacred ultimate truth was that nice things are possible with HTML only. i disagree that this particular website offers any improvement.
Matching the poster's tone.
> Yeah, so? Who cares about the point of the original website?
This website (and the rest of the extensive "betterwebsite" collection) is written as a direct response to the original website. That's why the title is what it is, that's why it talks about the original.
Death of the author is a thing, but people don't typically cite death of the author when they are directly responding to someone's point. We usually expect responses to have something to do with what they're responding to.
If the URL of this website was "howtomakeafastprettywebsite.com", we wouldn't be having this conversation right now, because "put a max-width on your columns" is not exactly a controversial or bold design statement.
https://perfectmotherfuckingwebsite.com/fuckingstyle.css?v=0...
And is minified. So not very simple, which was the whole point of http://motherfuckingwebsite.com/
So I would say there is some room for improvement, and calling it `perfect' is premature.
i.e.:
- dark mode should change default colors to white on black.
- viewport default should be "width=device-width, initial-scale=1"
- HTML's only supported charset should be UTF-8.
- Default CSS for body should be something like:
body{
max-width:40em;
margin:0 auto;
padding:1em;
}Why doesn't the Firefox "Reader Mode" icon show up for either this or the original website?
Edit: my reason for wanting Reader Mode on the original website is because I'm reading on a bog standard desktop monitor and the long-ass lines are hard to read.
If it was so simple, wouldn't everyone be doing it already?
"Websites are broken by default—they are functional, high-performing, and accessible, but they’re also fucking ugly. You and all the other web designers out there need to make them not total shit."
Or we could leave them total shit, and it would probably continue to work just fine. Focus on meeting your minimum requirements first, then add improvements over time.
Yes, it should be simpler, and we should make it easier for people to make things "work right" and "not be total shit". But until then, just make a shitty webpage and get on with life.
first: there is no such concept of "page" in HTML. a web page is a document without specified dimensions by the original design of the web, not a "page" in a sense like pages in press-related applications (pdf, word processors, A4). so if you force any width to a DOM box, it'll be either too big or too small for someone (except if you know your target audience uniformely watches fullscreen browser on a 1900×1200px display - or i don't know whatever is the most popular screen resolution nowadays), and you can not reliably force min/max width in px without knowing what are the font sizes in the box, which is often unknown because the font renderer does not disclose it to the DOM renderer, let alone to the css author: remember it must be the user's free choice to set preferred font size for paragraph/headline/emphasizes, because you neither can uniformize all display and viewport size, user's eyesight, nor is it sensible to design your site for all possible viewport when the layout can be more reliably computed by the presentation application when the user's preferences are available.
and secondly: can not users just resize the browser window to prevent long lines? it's one click-and-drag move.
my point is: content authors should only decide on semantic design, not details (not specific color or size, or texture) ; and the reader should fill the specifics and present the document to the user according to his preferences.
What's with the long ID's that look auto-generated? Imagine a large site with this pattern. Does it has a purpose, or is it part of the byte-wasting satire?
Also, after developing large dynamic websites with jQuery I learned that using classes instead of ids is a better strategy.
Maddox said some very inflammatory things, so I won't link him.
What I'm not enthused about is the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE. FFS, just use MIT. That's what MIT is for.
here's evenbettermotherfuckingwebsite from 10 months ago: https://news.ycombinator.com/item?id=23202336
http://psychology.wichita.edu/surl/usabilitynews/72/LineLeng...
“ This study examined the effects of line length on reading performance. Reading rates were found to be fastest at 95 cpl. Readers reported either liking or disliking the extreme line lengths (35 cpl, 95 cpl). Those that liked the 35 cpl indicated that the short line length facilitated "faster" reading and was easier because it required less eye movement. Those that liked the 95 cpl stated that they liked having more information on a page at one time. Although some participants reported that they felt like they were reading faster at 35 cpl, this condition actually resulted in the slowest reading speed.”
So yes, maybe it is time for somebody to build a business on this.
edit: nope! @thebarrytone did the original, the curious can find the author in the source.
Ugh, this guy shouldn't touch web design with a 10 meter pole.
[0] https://blogs.perficient.com/2014/12/24/css-pixel-ratio-or-h...
Saying that pixels are unrelated to text isn't really accurate, since text obviously occupies space and pixels are a unit of space, and back in the day, expressing layout relationships in terms of pixels was fairly standard.
I made it about two pages into that book before I stopped giving a fuck about reading it.
I made it to the first headline before I stop giving a fuck about reading this website.
If that was the goal, nailed it.
Swearing for effect can work sometimes, but YMMV. It lost me in this case.
For effect, it needs to be used sparingly. Otherwise, turns into white noise.