Developing A Web Site
While developing a website is a different undertaking each time a new project comes along, well designed websites have many things in common. Usually, these commonalities provide a range of services that the developer must implement differently for each project. So, while the implementation may differ, the existence of best practices for designing a web site does not: good web sites use best practices - bad ones do not.
Best Practices
Assess your Target Audience
This is the single most important facet of Web Design. Without a target
audience, the need for a website would not exist. Simply put, the needs
and desires of the target audience should be considered first before any
decision is made regarding the implementation of the site. Each and every
time you as the developer try to implement some facet of the site, the primary
question to be answered is "How will this benefit the user?".
Sometimes, the question is rhetorical. Other times, some hard decisions -
and often compromises - must be made.
Let's assume, for the moment, that you've got a message to deliver through a website. In order to define your target audience and its needs, you'll need to answer at many of the following questions:
1. The Primary Audience
Who are the primary users of the site? This is often not as easy as it
seems - and it will affect how you design your site profoundly. For
example, suppose you were going to build a site for an elementary school.
Almost certainly, you would design the site differently if your target audience
were the students rather than the teachers. You might even consider a
third group: parents. It is your job to determine, from the get-go, who
the primary audience is. By no means, however, does this have to be
restrictive. Using the above example, you can design pages for kids with
helpful links for parents and/or teachers - and vice versa. The point is
that designing for the primary audience is the key to answering this question.
2. Navigation
How will your users move through the information you are providing? There
are countless ways to provide navigation controls on a website. They may
be a horizontal list of links at the top of each page. They may be a
column of links on either side of every page. You might provide intuitive
icons for navigation on every page. The list goes on but notice the phrase
included in each scenario - on every page. And that's the key to providing
navigation. Never let your users get lost or stuck on any page you
develop. Try to let them know where they are, where they've come from. and
where they can get to all the time.
3. Compatibility
Is there a reasonable assumption to be made about how users will view your
site? You will need to make assumptions to answer this question. You
must put yourself in the position of the user and ask yourself:
a. What browser and which version would I have?
b. What is my connection speed?
c. Will I turn off the graphics?
d. Are Cookies allowed on my system?
e. Can scripts run in my browser?
f. Do I have any plug-ins to handle multimedia?
There are countless other questions to ask but you get the general idea.
These questions should be answered BEFORE designing the site as changing them
later is often much more of a headache. You must try to gauge the level of
technology as well as the level of expertise in using that technology of your
primary audience.
4. The Look and Feel
What does the primary audience expect to see? Some factors to consider are
a color scheme, page backgrounds, iconography, and other style issues. You
can choose to make the site as flashy or subdued as you'd like - as long as you
keep the primary audience's needs in mind. The site you design for your
DHTML showcase is likely to be different than the one you design for the
insurance agency. In the long run, the only real thing you must address is
consistency. Make all of the pages in your sites as much like every other
page as possible. Keep the navigation tools in the same location on the
page; use the same colors for every page; make sure that anything that looks
like a button acts like a button.
5. Your Own Objectives
What are your design objectives for this project? Here is where you may
need to make some compromises. If you'd like to include a flashy DHTML or
Flash animation in your design, you'd better make sure that your target audience
has the software necessary to view it. There is nothing more
unprofessional than publishing a site that doesn't work as intended - especially
for the primary audience. Once you define your target audience, then
choose your technologies.
Desirable Site Elements
There are many things that you can use to make your website more functional for
your primary audience. Some of them make your site easier to use, some of
them create a channel of communication, some of them just plain look good.
How and when you use these things is, again, up to you. There are,
however, some elements that exist in most well designed sites. By no means
do you need to implement all of them. But you should try to include as
many as are appropriate.
1. Navigation Structure
This one is imperative. You must provide a way for your users to navigate
your site. There is nothing more frustrating to a user than to get lost
within a website with no idea how to get out. Try to provide
"state" for your users. That is, they should be able to tell
where they are, how they got there, and where they're going.
2. Feedback Mechanism
If you include a way for your audience to contact you - they will feel more like
a community, involved in the design of the site itself. This fosters
repeat visits - something every designer strives for. Most people will
feel more welcome at a site where they know they can contact the designer.
Yes, often you'll hear complaints from users, but aren't those same users the
primary audience for your site? Don't you want to know how your audience
thinks the site can be better? Try to provide a feedback mechanism on
every page so that your users can get to you from anywhere on your site.
And, by all means, try to provide a timely response to them.
3. Update Information
It's important to update your site with fresh information as often as is
necessary. Don't, however, waste your users' time by putting the newest
stuff down at the bottom of the page. Try to let the user know at the top
of the page when the site was last updated and, if you have room, what was
done. Trust me, your users will appreciate not having to scroll down to
the bottom of your pages only to find that there's nothing new.
4. Multimedia Content
Multimedia is a two-edged sword in the context of web design. On the one
hand, clever use of multimedia can set your site apart from your competitors'
sites. On the other hand, multimedia files are notoriously big and take
time to download. Here is where a well-defined target audience comes in
handy. As an example, suppose you were designing a site for a company that
sells music in the form of MP3s. Almost certainly, you'd provide a way for
users to hear the songs you hope they'll purchase. But don't blindside
your users by forcing them to sit and wait for the song to download before
they've decided they want to hear it. The same thing applies to large
image files or animations. If your file sizes are large, provide thumbnail
images or links that indicate the file size of the larger images so that users
can choose what they'll wait for. In short, multimedia is a great way to
spice up your site - as long as you don't cram it down your users' throats!
5. Other Niceties
There are some other elements you might consider when designing your site.
Some of them foster that sense of community, others make your site easier to
use. Following is a short list of some of those things you should
consider:
a. Table of Contents/Site Map
b. Search Capabilities
c. Guest Book
d. Discussion Groups
e. Chat Rooms
f. Mailing Lists
All of these elements are relatively self-explanatory. For instance,
imagine navigating Microsoft's site without the ability to search. Not
much fun at all. These elements, however, need only be used in their
proper context. If your site is small and the navigation structure is well
defined, a search engine might be overkill, or worse, distracting.
Design for the Widest Audience Possible
This one makes perfect sense: you should strive to make your pages accessible to
as many users as possible. This includes an International audience as well
as a disabled audience. Here's an example: in the US, the
traditional color worn to a funeral is black. In Japan, the color usually
worn is white. In the US, a traditional bride would wear white to her
wedding. In Japan, she'd wear red. Try to keep things like this in
mind when choosing the colors for your site.
In terms of the disabled audience, believe it or not, browsers exist for blind people, for the hearing impaired, for the paralyzed, and for many other disabled web surfers. Something as simple as providing alternate text for your images can greatly enhance a blind user's experience (typically, that browser reads everything to the user). The disabled audience, along with senior citizens, is one of the fastest growing segments of society gaining access to the web.
Finally, one of the most often seen gaffes of novice designers is the site that's designed to look good only on their own machine. Usually, that kind of site involves horizontal scrolling because the designer has his monitor set to display more information than a typical user's monitor. The site looks great at 1024 by 768 but the typical user, set at 640 by 480 must scroll back and forth each time the end of the line is reached. Make this your number one rule: Avoid horizontal scrolling like the plague!
Does this mean that you must design to the least common denominator? Unfortunately, many times the answer is yes. Of course, that depends on who your primary audience is. If your audience is primarily using Internet Explorer 3 (which came bundled w/ Windows 95) or an earlier version of Netscape, or even America Online, much of the newer technology simply won't work. Don't try to force your users to upgrade their software - they probably won't anyway. They'll go elsewhere. Rather, design your site so that your primary audience's needs are satisfied as much as possible.
Test Your Work
Make no mistake - testing your work is your job and your job alone. Once
again, a well defined target audience can come in handy. If you know that
your primary audience will have browsers that support Cascading Style Sheets,
then feel free to use them. Since there are only 3 browsers that support
CSS (can you name them?), your testing cycle becomes a little shorter. If,
on the other hand, your primary audience is broad, you'll have to test more
browsers (in case you didn't know, web pages look and function differently in
different browsers). Try to test your site in as many browsers as possible
so that you don't limit your audience or, worse yet, force them to upgrade their
software to view your site. Many time users will just go elsewhere.
The other facet to the testing process is connection speed. If your target audience exists on an Intranet, you can be sure that your site will download quickly. On the other hand, if your site exists on the Internet, you can be relatively sure that most of your target audience will be connecting using POTS (Plain Old Telephone Service) at 56Kbps. You'll have to adjust your design accordingly. Most web development tools perform an estimate of the time your pages will take to download. As a general rule, they are pretty close - as long as the page being estimated is the first one visited. There is no substitute, however, for testing yourself. Try to test at as many connection speeds as possible.
That's a brief exploration of some of the things that make websites "good" - whatever that means. Of course, we haven't talked about the ultimate design element: content. On the Internet, content is king. If your message is well formed, your target audience well defined, and your design sound, you'll be well on your way to becoming a Web Developer!