The HTML Hell PageEric S.
Raymond
Welcome to The HTML Hell
Page
"Hell is other websmiths." —
Jean-Paul Sartre, updated
Translations: Greek
You Know You're In Design
Hell When You See...
- blinking text
- Blinking text makes it nearly impossible to
pay attention to anything else on the page. It
reduces 87% of all surfers to a helpless state of
fixated brain-lock, much like that of a rabbit
caught in the headlights of an oncoming semi.
This is not good. If you abuse the blink tag, you
deserve to be shot. Clue: if you
use the blink tag, you're abusing it.
(User Friendly has an
apposite comment on this.)
- gratuitous animation
- With animations you get the all the wonderful
injuries of the blink tag with the added insult
of the graphics download time. People who abuse
these should have flip books rammed into every
bodily orifice until they figure out that a two-
or three-frame graphics loop is even less
pleasant than that.
- marquees
- So, maybe you think the blink tag and cheesy
animations are the worst abuse half-bright
websmiths can perpetrate on your retinas?
Naaahhhhh. For those times when too much is just
not enough, the Great Satan of Redmond has given
us <MARQUEE>, which allows you to create
animated scrolling marquees at the drop of an
angle bracket. This bastard cousin of the blink
tag can cause vertigo and seizures in susceptible
individuals, reducing them to exactly that state
of drooling lobotomized idiocy that's such an
essential prerequisite to purchasing Microsoft
products. Coincidence? We think not.
- garish backgrounds
- The very next time we stumble across a page
composed by somebody who thinks it's cool to use
leaping flames or a big moire pattern or seven
shades of hot pink swirly as a background, we
swear we are going to reach right through the
screen and rip out that festering puke's throat.
If there's a worse promoter of eyestrain and
migraines than the blink tag, this is it.
- unreadable text/background
combinations
- The world is full of clowns who think their
text pages look better in clown makeup, clashing
colors galore (your typical garish-background
idiot also pulls this one a lot). The magic words
these losers need to learn are "luminance
contrast". Your color sense is between you and
the Gods of Bad Taste, but if you don't stick to
either light text on dark backgrounds or the
reverse, you will drive away surfers who like to
be able to read without suffering
eye-burn.
- brushscript headings
- Brushscript headings are rude. Unless, that
is, you think every single surfer hitting your
page truly craves the opportunity to hang out
long enough to watch toenails grow while a
brushscript GIF downloads just to display a
heading you could have uttered in a nice,
tasteful, fast font.
- "Best viewed with..."
- Ah, yes, "Best viewed with..." — surest
sign of an incompetent web designer (unless it's
one of the parody buttons from the Viewable
with Any Browser campaign). This kind of
lameness is not just bad taste, it makes the site
actually unusable for the large numbers of
surfers who happen to be using something other
than the designer's favorite browser.
Unfortunately, the sort of people who do "Best
viewed with..." is also usually way too stupid to
get the point if you try to explain that HTML is
supposed to be about device-independence —
so pull them by the guilt-strings and point out
that blind people surf too. If that doesn't work,
club them to death with a chair leg or something.
No court would convict.
- "resize your browser to..."
instructions
- Right. As if we wanted our browsers to take
up that big a chunk of screen real estate. But
what's really annoying is that invariably these
bozos get it wrong. Like, their browser has an
8-pixel offset, ours eats 20, and they forgot to
allow for scroll bars so they're off by at least
30 pixels anyway and the display graphics are
complete garbage.
- large fixed-size tables
- This one is often brought to you by the same
idiots who so love "resize your browser to..."
instructions. Hello? Hello? Would somebody
explain to me how it escapes these people that
the world is inhabited by lots of people with
different sized displays, and that
tables flow for a reason? Sigh...
- unnecessary border spacing
- In this particularly moronic variant of large
fixed-size tables, the designer puts the
entire web page in a table and pads the
edges with empty columns of a fixed width. Duh.
This is a sure sign that he or she is one of
those pathetic desktop-publishing weenies who
thinks HTML is a page description language.
Hanging's too good for them...
- Pointless use of <small> or
<font size=>
- If we wanted our text to be unreadably tiny,
we'd have told our browser to display it that
way. This one mugs viewers with 20" and 21"
screens particularly hard; since most fonts are
scaled for 72dpi they're already 30% smaller than
they ought to be at 100dpi. Anybody who use these
tags for running text should be compressed by 30%
themselves, slowly, and preferably in a machine
with big nasty spikes.
- masturbation with Javascript
- There is a large class of Javascript
annoyances perpetrated by people whose ability to
do cutting and pasting exceeds their negligible
sense of taste. Of these, one of the most common
is the script that scrolls text in the Netscape
status line. To all the disadvantages of
<MARQUEE> this one adds the fact that you
can't see where links go any more. Better than
that, pages with 25K of Javascript followed by
< 5K of actual content; these pages, of
course, are invariably hosted on slow servers so
you can experience the pleasure of waiting for
Javascript to load just so you can see a cutesy
animated menu bar or something equivalently
useless. In general, any page whose source has
more Javascript than content should be sent to
the recycle bin.
- unnecessary use of Java
- There is one thing worse than your average
garden-variety idiot web designer, and that is
the half-clever idiot who loves to ring in all
the latest technology without stopping to think
about its side-effects. One notorious Fortune 100
website, when it detects a Netscape browser,
assumes you must be able to support a fancy Java
search applet — and if you have Java turned
off for security reasons, you can't search the
site, because the perfectly adequate CGI search
you'd get if you were using Lynx has been
disabled. Moral: Keep It Simple, Stupid!
- pop-up windows
- Some particularly irritating designers have
discovered the magic formula that causes your
browser to spawn a new window when you click on a
link — or worse, ways to make pop-up
windows appear even if all all you're trying to
do is exit their wretched hive of scum and
villainy as rapidly as you can find the Back
button. Stay in your own window, dammit! The Web
is supposed to be about viewer control;
designers who persist in rudely grabbing pieces
of the viewer's screenspace without permission
deserve to be lashed with knouts.
- menus made entirely from image
maps
- Clue: lots of people use text-only browsers
like lynx, either because they want to (for
speed) or because they have to (visual
impairment, or lack of a graphics display). An
entire page that shows up only as
"[ISMAP]-[IMAGE]" is useless. Designers who can't
be bothered to at least provide a link to an
alternate text menu are, at the very least,
guilty of laziness and thoughtlessness. Huge
image-maps are bad even for graphical browsers;
they're slow-loading and needlessly frustrate
users. And a frustrated user is a gone
user.
- CSS that sets fixed-size fonts
dimensioned in pixels
- This is the idiot web designer's favorite way
to make a site unreadable on a monitor with a
finer dot pitch than the one he/she happened to
use. Guess what happens when you set a 10 or 11px
font on a 72dpi monitor and it gets viewed on a
120dpi monitor? That's right, instant eyestrain
and another user cursing your name. This problem
is going to get worse as displays get larger and
finer-grained.
- CSS that changes the hotlink
colors
- Isn't it fun when you surf to a page and your
eyes stall out trying to figure out which piece
of text are hotlinks? That underlined blue and
purple are valuable navigational cues in the Web
jungle. If the page has multi-colored links or
links that are not easily distinguishable, then
this is another case where overriding the
browser's settings should be punishable by
intimate acquaintance with a flensing knife.
- background MIDI, Flash, Shockwave,
and other abominations
- Background music takes forever to load, and
isn't portable. Flash and Shockwave take forever
to load, aren't portable, and are proprietary
formats that lock you into a single vendor. When
you insult your viewers with crap like this,
don't expect them back.
You Know You're In Content
Hell When You See...
- hit counters
- "You are the 2,317th visitor to this page."
Yeah, like we care. On Yahoo's and Alta Vista's
web it takes no effort at all to find and bounce
off every page on the planet with a reference to
(say) credenzas or toe jam. In this brave new
world, hit counters are nothing but a
particularly moronic form of ego display,
impressing only the lemming-minded. They may tell
you how many people got suckered into landing on
a glitzy splash page, but they won't even hint
how many muttered "losers!" and surfed out again
faster than you can say "mouse click". To add
injury to insult, hit counters screw up page
caching, heaping more load on the Internet's
wires.
- guestbooks
- If we have something to say to you, we'll
send you mail. Having a guestbook is lame and
only demonstrates that the designer is not
thinking about what happens when you nudge people
to write something, anything. Of course, 95% or
more of what guestbooks collect is inane
drivel.
- stale links
- Stale links are lame. People who have lots of
stale links are lamers. OK, everybody has a
pointer vaporize on them once in a while —
but haven't you noticed that stale links
generally show up on a page in swarms, like
cockroaches? That's because people with good web
pages use them and hack them and fix
broken pointers quickly so they're unlikely to
have more than a few at a time busted. A page
with lots of stale links yells "My author is a
lazy, out-of-it loser with the attitude of a
slumlord running a cockroach palace."
- pages forever under
construction
- Surfers learn quickly that for every ten
"under construction" signs that go up, maybe two
will ever come down before the heat-death of the
Universe. This is stupid. HTML is not rocket
science and prototyping pages is not a slow
process. Anybody who can't find the time to clean
the construction signs off their pages should
yank them and take up a hobby better matched to
their abilities, like (say) drooling, or staring
at the wall.
You Know You're In Style
Hell When You See...
- pointless vanity pages
- If we had a nickel for every home page we've
seen that's a yawn-inducing variation on "Hi,
here's me and here's a cute picture of my
dog/cat/boyfriend/girlfriend" we could retire to
Aruba with a bevy of supermodels tomorrow.
Clue: if you don't have something to say,
shut up. And keep it off the Web; life is too
short for boredom.
- angst and pretentiousness
- We were originally going to vent our spleen
at black backgrounds, until we realized that
black is not the problem. It's the three
overlapping populations of losers that compose
99% of the black backgrounds on the Web that are
the problem. These are (a) cooler-than-thou
art fags, (b)
angst-ridden adolescents, and (c) the kind of
coffeehouse trendoids who actually believe
subscribing to Wired makes them hip.
Clue: angst and pretentiousness are
boring. People who spew bad
poetry and/or make a fetish of writing in
all-smalls and/or traffic in fuzzy images of
mediocre avant-garde art should slit their wrists
or join a commune or do anything else that will
keep their self-indulgent sludge off the
Web.
- corporate logorrhea
- We've all seen them — corporate pages
that start by downloading some monster logo
graphic from hell. And after you've waited a
million or three years for it to finish, the rest
of the page has a ton of gush about how wonderful
the company is, maybe some lame-oid promotion
that's just a hook to get you on their mailing
list, and no content at all. Tip for
marketroids: this is not effective, unless
your goal is to make the company look like every
other moronic me-too outfit that thinks having a
Web address will make it look like it has some
semblance of a clue. Not!
- advertisements from hell
- Don't you love top of the page ads that are
changed every time the page is accessed? If
you're jumping back and forth between a parent
page and a child devoted to a subcategory, you
get the dubious pleasure of waiting for a new ad
graphic to load each time!
- no email address for feedback
- These folks want you to look and listen to
them, but they don't want to hear from you. Isn't
it interesting that half the Web pages of Fortune
500 companies, the big names like McDonald's,
won't tell you what their email address is? Shows
you just how much these gutless wonders
really value their customers. Another
tip for marketroids: this sort of thing makes
your company look exactly as arrogant, stupid,
and indifferent to its customers as it actually
is. Think of an email feedback address as a sort
of necessary disguise.
- cookie storms
- Lots of web users don't want strangers
dropping little turds on their disk drives so
they can be tracked, scanned, collated, and sold.
Lots of users therefore set their browsers to
query them before setting a cookie. Lots of users
become extremely annoyed at pages that flood them
with cookie requests. Clue: if the user rejects
your first cookie, he doesn't want a second or a
forty-ninth — cope with this gracefully.
Any web designer who fields pages that generate
cookie storms should be disemboweled with a dull
pruning knife pour encourager les autres.
You Know You're In Extension
Hell When You See...
- broken HTML
- A lot of broken HTML gets inflicted on the
world because it happens to get past the
brain-damaged `parser' of everyone's favourite
bloatware web browser. The designer gets the
perversity prize if he can provoke radically
different behaviour in different browsers or
browser versions.
- Microsoft's `smart quotes'
- Another sure sign of Microsoft brain damage
— questionmarks showing up where single or
double quotes ought to be. Here?s an example,
doesn?t it look illiterate? Clue: shut off the
so-called "smart quotes" feature in your
Microsoft Word, moron. It generates
Microsoft-specific characters that aren't in the
Latin-1 character set; many browsers (rightly)
throw up their hands in horror at this. There is
a
cure.
- unstable extensions
- We just love it when our browser freezes
while loading a page, hangs for a while, and then
ignominiously coredumps. When this happens, you
can bet money the page is using a Netbloat
extension nobody ever bothered to debug properly
(there are a semi-infinite number of these). The
worst offender is undoubtedly...
- frames
- We used to say "frames are for idiots", back
when they tanked most browsers. Bordered frames
still are; they eat up precious screen space with
frame widget cruft. We now grudgingly concede
that borderless frames have their uses —
but if you do them, do them right.
Frames that can't be bookmarked still suck, and
links that don't replace the whole page when you
jump offsite suck even worse. Use frames with
extreme caution.
Improving your web page
"Okay," I hear you saying, "so you've given me
good advice on how not to screw up. Have you got
anything more positive to say? Like, good things to
do and how I can improve my page?" For
you, my friend, I have three words. Content,
content, and content.
Give the audience a reason to care. Too many web
pages are like tales told by idiots, full of sound
and fury, signifying nothing. Do you want to be
interesting? Then forget the graphics and the
glitz. First and foremost, have something to
say.
Suggestions?
Got your own gripe about poor HTML design?
Mail it to
us!
Please do not write asking me to review
or correct your web page design. I have enough
trouble finding time to maintain my own web pages,
let alone other peoples'. You might be able to
change my mind with lots of money, payable in
advance.
Thanks
...to Pete Glasscock for inspiring this page,
even though he subsequently disappeared off the
Web. ...to Patrick Campbell-Preston
<patrick@chaos.org.uk> for most of the
Extension Hell section. ...to Rob Novak
<rnovak@ibm.net> for "advertisements from
hell". Others have contributed to this page
explicitly asking not to be credited.
Other Good Advice
Here's a fine rant about web page design by
C. J. Silverio. Horrible Examples of bad
technique are listed at Web Pages That
Suck. Jakob Nielsen's column Top Ten
Mistakes in Web Design is very good. The
Yale
Style Guide is worth reading.
|