Cultural sensitivity: I don't know you, you don't know me
Because the web is truly worldwide, people accessing your web site might be from very different cultures.
Also, because you don't know how a user arrived, you don't know what prior experience they may have of your company, products or services.
What we can do
- Use common international web conventions in preference to culturally-specific ones.
- Use simple language, to help users whose first language isn't the same as yours
- Don't assume the user trusts your brand, just because they're on your web site. Treat everyone as though you need to earn their respect.
You don't know how the user got here
You can't always be sure what route a user has taken to get to your web page.
What we can do
- Provide enough information on each page to make it clear what the site is about, where you are in the site, what's on the page, what is elsewhere and how to get what you want...
Connection speed
Users may be connecting to a web site over a slow connection, as low as 0.5KB/second for mobile phone access. It's not only the user's nominal maximum connection speed that affects the real transfer rate. A typical user on a 55.6 modem will get a realistic transfer rate of about 3-4KB/second, but may get significantly less at busy times. An overladen web server may also be a bottleneck. Minimising total page size not only improves usability, but helps speeds up every part of the system.
What we can do
- Concentrate on imagery that adds meaning, and reduce the amount background imagery to a minimum
- Use cascading style sheets (means smaller downloads), use styles wherever possible to create background colours, borders and rollover effects
- Create clean, simple HTML
Time delay between client and server
There's always some lag between any web server and browser, no matter what the user's connection speed. Anything more than 1/10 of a second response time is noticeable. The longer the delay before the browser starts to render your web page, the more likely your user is to abandon the attempt. Anything over ten seconds wait appears generous today, so responsiveness can make a vital difference to online success.
What we can do
- Use CSS as much as possible. Tables can take a long time to render.
- Build pages in discrete, sequential chunks, and avoid wrapping entire pages in large tables.
- Save imagery for content, wherever possible.
- Make the most important items text/css based, not images. The most important items are very often the things that tell you where you are, what you can do here, where else you can go, and what else you can do when you get there.
Variation in Fonts
Different computers and devices use different fonts. Macintoshes have different fonts than PCs. Some of the fonts that you might assume are universal really aren't, e.g. for a long time font xxxx has been installed with MS Office.
e.g. Conclusively the best font for rendering general body text on a Windows PC is Verdana (because it's wide-pitch and sans-serif). Macs don't come with Verdana!
What we can do
Do not create a design that depends on a specific font being installed on the client's computer. Definitely set general body fonts to sans-serif. Best practice style (in my opinion) is:
font-family:verdana,helvetica,arial,sans-serif;
Only use other faces at particular times when quick, mass readability is less of a priority. e.g. It's okay to use a serif face in a large size for headers; and it's okay to use fixed-pitch faces (e.g. Courier) for code snippets. The rest of the time, stick with the general sans, and concentrate your creative energies elsewhere.
Variation in Colours
A minority of older computers can only display 256 different colours. These colours are slightly different on PC and Macintosh platforms, but there are 216 common colours that reproduce well on both. This is the 216-colour web-safe palette. You can be sure that pretty well everyone accessing a site designed using only the web-safe colour palette will see the same thing. There are other ways of browsing web sites
What we can do
- It is good practice to choose a few well-matched colours, and to follow the scheme throughout a design
- Where possible, use a web-safe colour for large areas of solid colour
- Use white for the main content area
- Accept that a minority of people may get a compromised experience of a site designed in full-colour
Support for HTML/CSS/JavaScript/Flash
Not all browsers can support the latest HTML or CSS. Some people aren't allowed to install the Flash plugin. Very few browsers indeed can't run JavaScript (but the majority of these must be screen readers or low-res browsers on other platforms.
What we can do
These days, you can get away with relying on your target user being able to see use content that runs in Flash or DHTML. I'd add the caveat that you must consider your target market (not just your ideal user, but anyone who *should* be able to get your message), and make sure you're clued up on the percentage of people who might be excluded if you use certain formats.
Accessibility
What we can do
- Use text for text, wherever possible. CSS makes it easy to do rich background for buttons etc., and has the benefit of decent mouseover effects built-in
- Make all text resizable where possible. People with poor eyesight may have a larger default size, and may not be able to read small text.
- Include helpful 'alt' attribute for all relevant images, to aid users using screen readers. Make alt text concise and to-the-point.