CSS designer cluelessness in a nutshell

The CSS designer for WordPress, the successor to the
b2 engine that I may be upgrading to shortly, responded to my previous
rant. In a generally thoughtful and responsive post, he said “But
even if [pixel sizes] are defined for fonts, does your browser not let
you easily resize this?”.

This, I’m afraid, is CSS designer cluelessness in a nutshell.

In particular, I should not have to do an explicit operation every
time to get the font sizes I want. In general, answers of the form
“you can override the designer’s preferences by jumping through hoops”
show the wrong attitude. This attitude clashes with the objective
reality of lots of different display devices out there.

It’s also bad human-factors engineering. As the user, my preferences
should be primary
— in font sizes as in all other things. That’s
how the Web is supposed to work, and CSS and web designers who don’t
get this are doing users a major disservice in order to gratify their
own egos.

Ultimately they’re shooting themselves in the foot, too — think about
what will happen over time as display sizes both average larger and
the size dispersion increases (e.g. cell phones and PDAs get WiFi at
the same time desktop displays go to 1600×1200 and higher).
Fixed-size fonts, in farticular, are going to be a bigger and bigger
lose as time goes on.

To the extent you think of yourself as a servant of the user, rather
than an artist whose job it is to make things pretty, that’s when your
designs will have real and lasting value. This is a hard lesson for
artists to learn, but it’s the only way to avoid filling the web with
designs that are gaudy, wearisome, and lose their utility as display
technology improves and becomes more various.

15 comments

  1. “Pixel units are relative to the resolution of the viewing device, i.e., most often a computer display. If the pixel density of the output device is very different from that of a typical computer display, *the user agent should rescale pixel values*. It is recommended that the reference pixel be the visual angle of one pixel on a device with a pixel density of 90dpi and a distance from the reader of an arm’s length. For a nominal arm’s length of 28 inches, the visual angle is therefore about 0.0227 degrees.” (emphasis added)

    http://www.w3.org/TR/CSS2/syndata.html#length-units

    px is a relative unit. You’ve got a browser that’s not treating the CSS specification properly if it isn’t able to determine how big a px should be. Before you cuss out CSS designers, know that the specifications say they can do it, and some browsers in fact interpret the standard correctly.

    You might want to point the finger at Tim Berners-Lee instead, for he’s the one that gave the final thumbs up to the reccomendation, or even the browser makers that have incomplete CSS support.

    But of course, for somebody who believed the WMD lies, is filled with xenophobic zeal, and is in general a reactionary, your reaction before having the facts was expected.

  2. The phrase “is very different from that of a typical computer display” means that recommendation will never be implemented on a computer display. And we are already in a world where there is enough dpi variation in computer displays to make pixel sizes a fatally a bad idea even if you leave out cellphones.

  3. And the great thing about a default stylesheet… is that you can just change and use another stylesheet. ;)
    Actually, if you have corrections to provide to the default stylesheets of b2 and WordPress, to make them work right with any resolution and dpi (without making it look like it has huge fontsizes on most people’s screens), you’re invited to provide a diff/patch. It would be clueless of us to disregard the help that you could bring in that respect.
    Now, if you had to correct the CSS that’s used in the admin area, a diff/patch is welcomed too.

  4. Matt Mullenweg recently (late yesterday or early today) made changes to the WordPress default CSS file such that the page scales to the user’s preferences.

    I’m tempted to go off on a long rant about how the user doesn’t have any more inherent right to dictate the design than the designer, but I don’t have the energy today :)

  5. “as the size dispertion increases” browsers will have to enable user configuration options for defining the size of the px different from a hardcoded default. Opera already allows this easily, and there might even be a pref in gecko-based browsers that I haven’t looked into yet. You’re essentially telling CSS designers to fix a problem that has a known and proven decentralized solution. CSS allows not just the author to have control, but for the user as well. For another method, I have a user stylesheet that overrides !important on all font sizes (and even colors). I don’t know how people do it differently because changing fonts and sizes is so annoying. But it’s their prerogative. As long as people are reading the specification and designing their outrageous styles to it, I’m free to override them at will, and I do so.

    But what really caused this was a default css page for b2 which was easily fixable. It’s like a configuration setting. If you don’t like it, change it.

    Now, I’ve grown quite used to editing configuration options on first install, so if I were you, I would have dumped the entire CSS and replaced it with a very plain one, adding stuff to it until I liked it. There’s no reason to complain about it unless it’s a slow blog day.

  6. Michael V., I’m packaging up my stylesheet to send to you now. Doug, Matt fixed the WordPress CSS because I smacked him upside the head about it. :-)

  7. “Matt fixed the WordPress CSS because I smacked him upside the head about it. :-)”

    I prefer to think that a user (you) pointed out a deficiency, and we corrected it. No smacking is required — just ask.

  8. Eric,

    While you’re ranting on CSS design, how about throwing some flames Andrew Sullivan’s way? His links are the same color as his background text; since I prefer to browse the web with default underlining turned off, I have to edit my damn browser preferences to turn them back on every time I go to AndrewSullivan.com.

    Note to the clueless: if your design relies on *underlining only*, and not color, to differentiate links from surrounding text, please force link underlining in your style sheets. Only those who disable link underlining will notice any difference, and they will thank you for it.

  9. (This sure wasn’t the post I had in mind, but…)

    “In particular, I should not have to do an explicit operation every time to get the font sizes I want. In general, answers of the form “you can override the designer’s preferences by jumping through hoops” show the wrong attitude. This attitude clashes with the objective reality of lots of different display devices out there.

    It’s also bad human-factors engineering. As the user, my preferences should be primary — in font sizes as in all other things. That’s how the Web is supposed to work, and CSS and web designers who don’t get this are doing users a major disservice in order to gratify their own egos.

    Ultimately they’re shooting themselves in the foot, too — think about what will happen over time as display sizes both average larger and the size dispersion increases (e.g. cell phones and PDAs get WiFi at the same time desktop displays go to 1600×1200 and higher). Fixed-size fonts, in farticular, are going to be a bigger and bigger lose as time goes on.

    To the extent you think of yourself as a servant of the user, rather than an artist whose job it is to make things pretty, that’s when your designs will have real and lasting value. This is a hard lesson for artists to learn, but it’s the only way to avoid filling the web with designs that are gaudy, wearisome, and lose their utility as display technology improves and becomes more various.”

    I understand Mr. (I presume…;-) Dougal Campbell, when he/you say, “how the user doesn’t have any more inherent right to dictate the design than the designer”.

    I believe Mr. Raymonds point that it is relative to the user and the designer. Nor is Mr. Raymonds say that most designers, (or you, in comments above,) are clueless.

    Sometimes (at least I find at times) discourse of conversations or any kind of words feels like two old men (“jack-a-all-trades, master-a-more-‘n-a-couple” types a (Wo/Men) whacking each other with the breeze off-a nerf-ball-bats.

    But others, especially if involved in the very discussion, might feel them as blows coming from The-Alien-Predator-with-smile-a-Mary-Poppins.

    Page slaps being somewhere in between…;-D

  10. Dougal Campbell said

    I’m tempted to go off on a long rant about how the user doesn’t have any more inherent right to dictate the design than the designer

    and thus pretty much reinforced Eric’s point. Forget dictating anything: if you’re designing a web page, can I safely assume your intent is to communicate with folk ? If so, remember that there are folk with unusual access and don’t make things wantonly broken for them. The classic examples are the blind and folk on poor connections; who get ignored (along with those on higher resolution kit) because they’re a minority. But just wait a year or three and we’ll be seeing web browsing from mobile ‘phones, TV set-top boxes and a plethora of other things. These’re going to be the majority of web-viewing devices quite rapidly.

    Now, it’s all very well to say the user can always configure round it but; how about making it *easy* for the user to do so. The user with weird pixel sizes will have selected favoured font-sizes that work well, and normal users will have normal font-sizes; so specify the sizes of things relative to the user-specified font sizes and you’ve leveraged the user’s prior configuration rather than obliging the user to hand-configure just for your page. Oh, and you’ll also be Doing The Right Thing, conceptually.

  11. I don’t think the mandate of a designer is to communicate as much as it is to “present,” with all the inscrutible nonsense and/or brilliance that is allowed by art. Which is why defalting artists’ controlling use of CSS only serves to push them farther into Flash or other means where they can be intolerant of the user. Artists, at least those educated and experienced enough to be referred to as artists rather than adopting the name, are most definitly not servants. Universal value and utility is not the factor of art that makes it successful. So the issue I feel that is most problematic here is the ability for the user to define that moment where a designer (or more often a quasi-designer with a large amount of ineptitude) is above or beneath them and they want an escape route to cut to the chase.

    When it comes to typography, by all means the user should have control, but never automatic unless the a designer allows for it. In my opinion, this is a hard lesson for consumers used to pandering.

  12. i can’t play armed and dangerous beouse it doesn’t work with my ati radeon 9000pro i hope some one can help me…

Leave a Reply to Michael Hartl Cancel reply

Your email address will not be published. Required fields are marked *