Web page style
Many style elements are controversial.
Not everyone agrees on what is usable and unusable.
Here is my take.
Avoid, or use with caution:
- Page backgrounds
- Like, WHY?
It's not cool on paper - what makes you think it's different
on screen?
- Frames
- Using frames (e.g. for a menu) breaks the clean, well-understood Web model.
It plays havoc with bookmarks and hyperlinks.
-
Why Frames Suck (Most of the Time)
- Jakob Nielsen on frames.
-
Frames are useful for:
- In writing about web sites,
where you want to do, say, a
side-by-side comparison
of 2 different web sites.
- Constructing a page with information coming from multiple remote sources.
- In general,
Things that break the Web model.
- "Best viewed with X" (demands a certain browser, OS, screen resolution)
-
Before the Web it was hard
to share documents with people on other operating systems,
or on other networks,
or people with same OS but different applications,
or even just different versions of the same application.
-
Then the Web. HTML defined a common denominator for all machines,
and information could be shared like never before.
-
People who say
"Best viewed with X"
are trying to return to
this primitive, pre-1993 world.
- There was a time in the 1990s (before the mobile Web)
when it was popular to make websites that could only be properly viewed with IE on a Windows PC.
This is a lot less common now.
We have the mobile Web to thank for that.
- Small font size
-
Different style fonts are not a problem.
Large fonts are not a problem.
Small fonts are the problem.
- There are many sites who set the tag:
<font size="-1">
or some absolute size:
<font size="10">
Often, I cannot read the text.
It's too small.
I have set my font to a size I can read.
You should respect that.
-
OK, depending on browser, I can check:
"Always use my fonts, overriding document fonts",
or I can set a toolbar button to quickly change font.
But hitting "Back" is attractive too.
There are a lot of other sites out there.
No need to spend time on yours if it involves work.
-
Messing with the window.status line
- takes away the user's ability
to see the URL that a link leads to.
-
Every link you click on the Web is already an investment,
a big gamble that there is something useful
worth waiting half a minute for.
You use lots of heuristics to try to guess if the link
will be worth your while.
One of the few guides we have is
the URL,
since link titles are so ambiguous.
And now some people even take that away from you.
- You could in theory use this tag to make the status line more meaningful,
e.g. show the
relative link
instead of the
absolute link,
or even
comment your links.
But of course many web designers will simply use it
to make the status line
as ambiguous and useless
as the link title.
-
This is no longer a problem,
as by default now,
scripts cannot change window.status.
The user must change browser settings to allow this.
- Embedded audio/video with autoplay on (Unless this is what I was expecting)
-
When I want to see/hear it, I can play it myself.
- Embedded animation, Flash animations, Animated GIFs, Blink, Scrolling marquees
- You don't NEED to "capture attention"
on the Web.
It's NOT like TV.
People don't "Surf".
They came to your site for a reason.
They're already on your page.
Don't force them to sit through a
lengthy animation they never asked for,
in order to reach the pages they do want.
- Animation is fine for things you have asked for.
But people must have asked for it.
- Flash
has many valid uses,
from
YouTube
to
Google Street View.
-
I'm just criticising its use for pointless animations, such as:
- Flash: 99% Bad,
Jakob Nielsen's Alertbox, October 29, 2000.
-
Flash is Evil, September 1, 1999.
-
Animation is a niche, it's not the future.
And it's not a niche I'm interested in,
so keep your animated nonsense to yourself.
I don't want to see it.
-
Guidelines for Multimedia on the Web - Jakob Nielsen on animation.
-
Client-side programs
that the user hasn't asked for
- In the past, client-side code was often used to jazz up a page with moving parts
and pointless animation.
It was a technology in search of a use.
This is less common now,
because there are so many useful things to do with client-side code now.
- Client-side code has built a whole world of
user interaction.
But remember your users may not want to interact - they may want to
choose when they will begin interacting (if ever).
Other bad things
- In general, sites that only work on (have only been tested on):
- IE (latest version)
- Windows (latest version)
- PC (not mobile)
- fast PC
- fast connection
- Unstable URLs.
- Over-long, complex, cryptic URLs.
See
URL as UI.
- URLs where you cannot
hack off bits from the RHS
to move up a level.
- Periodicals not allowing direct browsing
of each issue in the archive
from its front page,
but access only via keyword search.
- Travel sites where you have to fill in lengthy forms
(enter start time, destination, etc.)
in order to see the timetable
(rather than being able to
just browse the entire timetable raw).
- In general,
Things that break the Web model.
Content (always useful, and often neglected)
Always useful:
- The information your users want.
Things like:
- On Company websites - A complete list of the company's products. With pictures and prices.
- A complete list of the company's offices and locations.
With maps and opening times.
- On Society websites - A complete and up-to-date
list of the Society's meetings and events.
For many years, the commercial web was full of "brochure" sites,
which were basically ads, but would not tell you any deep information about the products.
This is finally changing.
People now have an expectation that all publically released information about the company and its products
should be on the website.