Project #1 - HTML


Due Date: March 4th, 1999

Description: Create a web page of your own design using HTML. You are to use the HTML 3.2 standard that is described in your textbook. You may, if you wish, use non-standard tags such as those viewable with Netscape Communicator and Internet Explorer, but you do so at your own risk, because you don't know what browser I will use to view your pages. So in order to assure that your page is viewable on most browsers, it is best to stick with the HTML 3.2 tags. This requirement is not intended to make things more difficult for you, but rather because these are things you will have to keep in mind when designing for the Web.

You will be sending us the URL for the page, so you may put it wherever you please. If you want to put it up on your gl account, you can read how at http://www.cs.umbc.edu/~wyvern/ta/howto.html.

You will also submit a discussion of your project. This should include

You may either e-mail me this discussion, or write it up somewhere on your web pages, somewhere I can find it easily.

Grading criteria: This assignment has a point total of 150 points. Your grade will be based upon your inclusion of all the elements listed above in your discussion, and on your demonstration of HTML in your web pages. Your pages must demonstrate the following, all of which are described in Chapter 5 of Stein:

  1. Basic HTML tags: <HTML>, <HEAD>, <TITLE>, <BODY>, <P>, <BR>, <HR>,
  2. Logical and physical text styles
  3. Links
  4. Lists
  5. In-line graphics (see page 319)
  6. Tables (see page 271)
The following features are not required. They are the kind of thing that you ought to know how to do if you intend to call yourself a Web Designer, but that in real life, you should use sparingly. Thus, for each of these, you have a choice; you may either implement the feature in your web pages, or you can include a paragraph in your discussion that explains to me exactly why leaving the feature out was a good design choice. Stein discusses some reasons to avoid using certain features (hint: look in Chapter 7, A Web Style Guide); you may also make reference to your own Web-surfing experiences.
  1. Frames (see page 283)
  2. Sounds (see page 340)
  3. Animations (see page 345)
  4. Client-side clickable image maps (see page 425)

The final point total is a subjective evaluation of whether or not you have demonstrated the application of the material used in the textbook and in class. Bear in mind that even if you decide against using certain features, this does not excuse you from knowing about them if they are in the assigned readings or gone over in class.

Please write all the HTML yourself. If you create Web pages for a living, you might well use an HTML generator such as Netscape Composer, Adobe PageMill, or Microsoft Word. But it's like doing math -- before you use a calculator, you should learn to do the arithmetic by hand, so that you do not become too dependent on your tools. What's more, most such programs generate some pretty ugly HTML. You will receive a zero on this assignment if we have good reason to believe that you did not follow this instruction.

Finally, have fun with the assignment. The page can be anything you like -- a personal page, a home page for an imaginary company, a brag page about your car. It may look like a lot of work now, but to the experienced Web authors in the class, it looks easy. And it is.


As always, contact me at matuszek@umbc.edu if you have questions.


Questions I have been asked so far

First you say to stick to the HTML 3.2 standard, then you say we can use frames. Frames aren't in HTML 3.2, right?

You're right, they aren't -- and if you choose not to use frames, instead explaining why not, you've got a pretty good start on the answer already.

However, since they are so widespread, you may use them without losing points on that requirement.

Can I use DHTML? How about Cascading Style Sheets?

No. Stick to simple HTML for now, please. If you are asking a question like this, that should be very easy for you. If you feel like Paul Prudhomme being asked to microwave canned soup, just humor me. You can impress me later.

I already authored some web pages on my company's site. Can I send you those?

Well, if they don't meet all the requirements like having a definition list somewhere, or they use nonstandard tags, you'd lose points. But if they meet the requirements, and if it is stated on the page that you are the author, that would be okay. Don't forget the discussion.

The <KBD> tag doesn't work.

Sure it does. See?

What you need to do is quit using tags like <FONT FACE="Helvetica, Arial">. As a clarification -- the <FONT> tag is part of the HTML 3.2 standard. But the FACE attribute is not. Please do not use the FACE attribute, as it causes the problem here, where that font overrides the monospaced font that <KBD> should use. You will lose points if this happens on your web site.

Attribute?

The "arguments" inside a tag are called its attributes. For example, inside the <IMG> tag, SRC is a required attribute, and WIDTH, HEIGHT, ALT and ALIGN are optional attributes.

Be careful, because some tags are part of HTML 3.2, but some browsers implement attributes that are not standard. For example, <FONT> is 3.2, but FACE is not a 3.2 attribute. Similarly, <IMG> is a standard tag, but the LOWSRC attribute is nonstandard.

Reliance on nonstandard attributes will incur the same penalties as nonstandard tags. If you are confused as to what's in 3.2 exactly, check out http://www.w3.org/TR/REC-html32.html.

Why do we have to use these redundant tags? Isn't <STRONG> just another name for <B>, <EM> the same as <I>?

Nope. Just because current browsers render some logical and physical styles the same does not mean they should be considered equivalent.

For example, <STRONG> may be rendered the same as <B> on our browsers. But what about browsers for the blind? They may want to read out <STRONG> text in a louder voice. The idea is to define content, and to let the browser determine how it handles it.

As another example, suppose you wanted to write a web crawler that extracted addresses from pages. If people used <ADDRESS>, as is intended, it would be very easy. But if they used <I> on the theory that it looks the same, that information is lost.

What versions of Netscape Navigator or Internet Explorer are old enough that I can be sure they meet the HTML 3.2 standard?

No versions, unfortunately. Netscape 0.96 might have complied exactly to HTML 1.0, but after that began the browser-specific tags. Remember <BLINK>?

One way you can make sure your document is valid HTML is to run it through the W3 Consortium's HTML Validator, which can be found at http://validator.w3.org/. Note that by default it tries to validate as HTML 4.0, so put this line at the very beginning of your HTML file:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

You may find some of its objections hard to understand, though. Don't worry, I won't take off points for errors such as "an attribute value must be a literal unless it contains only name characters", which is what you get if you say <FONT SIZE=+1> instead of <FONT SIZE="+1">.